user-0 提问: C语言编写车票管理系统

回复:
user: user-0
content: 1 8:00 pixian guanghan 2 45 30 2 6:30 pixian chengdu 0.5 40 40 3 7:00 pixian chengdu 0.5 40 20 4 10:00 pixian chengdu 0.5 40 2

user: user-0
content: //6-车票管理系统  #include<stdio.h> #include<stdlib.h> #define N 4  void record();         //录入信息  void mune();          //菜单  void findsdate();    //查询状态  void findroute();   //查询路线  void book();       //预定车票  void refund();    //退票    struct time 	{ 	  int hour; 	  int minute; 	};  struct infor      //定义汽车信息  { 	int shift;             //汽车的班次  	struct time  start;   //发车时间，输入形式为 08:00  	char spoint[20];     //起始站  	char dest[20];      //终点站 	float hour;        //行车时间 	int num;          //额定数量 	int snum;        //已售数量  	  } infor[N-1] ;   int main() { 	printf("\n\n----------------------------------车票管理系统--------------------------------\n"); 	printf("录入班车信息\n输入信息：\n");       	int i;      for(i=0;i<N;i++) 	{ 		scanf("%d%d:%d%s%s%f%d%d",&infor[i].shift,&infor[i].start.hour,&infor[i].start.minute, 		                       infor[i].spoint,infor[i].dest,&infor[i].hour, 		                       &infor[i].num,&infor[i].snum);  // 键盘输入信息 	} 	 record(); 	 	     printf("\n\n选择您要进行的操作: \n");     printf("查询所有班次当前状态----1\n\n");     printf("查询汽车路线------------2\n\n");     printf("购买车票----------------3\n\n");     printf("退订车票----------------4\n\n");         mune();            printf("                  感谢您的使用                \n"); 	 }  	  	     void record()  //录入信息  {    int i; 	FILE *fp; 	if((fp=fopen("qichexinxi.dat","wb"))==NULL)     	{ 	       printf("文件不存在\n"); 	       exit(0); 	    } 	for(i=0;i<N;i++) 	if(fwrite(&infor[i],sizeof(struct infor),1,fp)!=1) 		printf("文件出错\n"); 		fclose(fp) ; }	   void mune()  //菜单选项  {   int m;  	scanf("%d",&m) ;   switch(m)   case 1:   {  	 char c;   	 findsdate();  	 printf("按任意键退出系统\n"); 	 printf("按 # 返回上一层\n");  	 printf("请输入： \n"); 	 scanf("%c",c); 	 if(c=='#')  	 mune();  };   break;      case 2:   {  	 char c;   	 findroute();  	 printf("按任意键退出系统\n"); 	 printf("按 # 返回上一层\n"); 	 printf("请输入： \n") ; 	 scanf("%c",c); 	 if(c=='#')  	 mune();  };   break;     case 3:   {  	 char c;   	 book();  	 printf("按任意键退出系统\n"); 	 printf("按 # 返回上一层\n"); 	 printf("请输入： \n");  	 scanf("%c",c); 	 if(c=='#')  	 mune();  };     break;       case 4:   {  	 char c;   	 refund();  	 printf("按任意键退出系统\n"); 	 printf("按 # 返回上一层\n"); 	 printf("请输入： \n");  	 scanf("%c",c); 	 if(c=='#')  	 mune();   };    break;  }  void findsdate()//查询状态  {  	int i; 	struct time now; 	scanf("%d%d",&now.hour,&now.minute);//输入系统时间  	 printf("当前时间%d:%d",now.hour,now.minute);  	if(now.hour>23||now.hour<0||now.minute>59||now.minute<0)  	 { 	    printf("输入错误，请输入正确时间\n"); 	    getchar(); 	    getchar(); 	 }  	for(i=0;i<N;i++)  	  { 	 	if (now.hour<=infor[i].start.hour&&now.minute<=infor[i].start.minute) 	 	printf("汽车%d未发出\n",i); 		 else  		 printf("汽车%d发出\n",i);       }       mune(); }     void findroute() { 	 int i;    printf("请选择查询方式：\n") ;    printf("按班次查询------1\n");    printf("按终点站查询----2\n");    scanf("%d",&i);    if(i!=1&&i!=2)    printf("输入错误，请重新输入\n");    switch(i)    case 1:    {   	int j;    	printf("请输入班次：\n");    	scanf("%d",&j);    	if(j>N)    printf("输入错误，请重新输入\n");    printf("班次%d:/t\t%d%d:%d%s%s%f%d%d",infor[j-1].shift,infor[j-1].start.hour,infor[j-1].start.minute, 		                       infor[j-1].spoint,infor[j-1].dest,infor[j-1].hour, 		                       infor[j-1].num,&infor[j-1].snum);    };    break;    case 2:    {    	char c1;    	int i;    	for(i=0;i<N;i++) 	  {   		if(c1=infor[i].dest)   		printf("班次%d:/t\t%d%d:%d%s%s%f%d%d",i,infor[i-1].shift,infor[i-1].start.hour,infor[i-1].start.minute, 		                       infor[i-1].spoint,infor[i-1].dest,infor[i-1].hour, 		                       infor[i-1].num,&infor[i-1].snum);        else         printf("未查询到\n");   	};    }    break;	 }    void book() { 	int i; 	struct time now;     printf("请输入要订购的车票的班次:");     scanf("%d", &i);     printf("i=%d\n", i);     if (i < 1 || i > N + 1)     {         printf("对不起，今天没有这趟车,请明天再来，谢谢使用!\n");         printf("按任意键回主菜单......\n");         getchar();         mune();     }  	scanf("%d%d",&now.hour,&now.minute);//输入系统时间  	 printf("当前时间%d:%d",now.hour,now.minute);     if (now.hour<=infor[i-1].start.hour&&now.minute<=infor[i-1].start.minute)     {         if (infor[i - 1].snum < infor[i - 1].num)         {             (infor[i - 1].snum)++;             printf("你的订票成功，请按时上车，谢谢使用!\n");         }         else printf("对不起，今天的这趟车的票已卖完,请明天再来，谢谢合作!\n");     }     getchar();     menu();      }   void refund() { 	 int i;     printf("请输入要退购的车票的班次:");     scanf("%d", &i);     if (i < 1 || i >N + 1)     {         printf("对不起，今天没有这趟车,无法完成退票.谢谢使用!\n");         getchar();         mune();     }     scanf("%d%d",&now.hour,&now.minute);//输入系统时间  	 printf("当前时间%d:%d",now.hour,now.minute);     if (now.hour>=infor[i-1].start.hour&&now.minute>=infor[i-1].start.minute)         if (infor[i - 1].snum >= 1)         {             infor[i - 1].snum = infor[i - 1].snum-1;             printf("退订车票成功，谢谢使用!\n");         }         else             printf("对不起,今天的这趟车的票尚未卖出,无法完成退票!\n");          else         printf("对不起，今天的这趟车已发出,无法完成退票!\n"); }

user: user-1
content: 建议直接贴代码吧，贴图片不清晰 代码如果比较多，那就多发几个