1、c语言课程设计C语言课程设计报告题目:车票管理系统 班 级: 风能1241 学 号: 1203441129姓 名: 王 金 成 指导老师: 王 妍 成 绩: 目 录一、课程设计目的和意义 1二、总体设计思路(功能模块图) 1三、详细设计 11、模块功能介绍 12、程序清单 33系统运行结果、 22四、课程设计总结体会 24五、教师评语 25一、课程设计目的和意义本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试
2、等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。通过这次设计,要在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。二、总体设计思路(功能模块图)系统功能模块图:三、详细设计1、模块功能介绍(1)功能1.浏览班次信息2.查询班次:按班次查询;按终点查询;3.售票 (1)售票成功(当车票有剩余,且车未发出时) (2)班次不存在(3)票已售完(当座位数小于等于已定票人数)(4)车已发出4.退票退票成功(输入的班次号存在且当前时间比发车时间早)退票失败(班次不存在或当前时间比发车时间晚)(2)、流程图车票查询售票2、程序清单#in
3、clude#include /*时间库函数*/#include /*调用系统函数*/#include /*串操作及内存操作函数*/ #include#include#define N 80 /*宏定义多条记录*/void maipiao(int s,int t); /*函数定义*/float times(int k);int hour(int k) switch(k) case 1: return 07;break; case 2: return 10;break; case 3: return 13;break; case 4: return 16;break; case 5: return
4、 19;break; case 6: return 21;break; /*d到长春一天的发车时间小时段*/ case 7: return 07;break; case 8: return 11;break; case 9: return 15;break; case 10: return 19;break; case 11: return 23;break; /*d到四平一天的发车时间小时段*/ case 12: return 07;break; case 13: return 11;break; case 14: return 15;break; case 15: return 19;br
5、eak; case 16: return 23;break; /*d到沈阳一天的发车时间小时段*/ case 17: return 07;break; case 18: return 11;break; case 19: return 16;break; case 20: return 20;break; /*d到锦州一天的发车时间小时段*/ case 21: return 07;break; case 22: return 12;break; case 23: return 17;break; case 24: return 22;break; /*d到山海关一天的发车时间小时段*/ cas
6、e 25: return 07;break; case 26: return 14;break; case 27: return 19;break; case 28: return 22;break; /*d到北京一天的发车时间小时段*/ /*开车时间段*/int minute(int k) switch(k) case 1: return 00;break; case 2: return 00;break; case 3: return 00;break; case 4: return 00;break; case 5: return 00;break; case 6: return 00;
7、break; /*d到长春一天的发车时间分钟段*/ case 7: return 00;break; case 8: return 00;break; case 9: return 00;break; case 10: return 00;break; case 11: return 00;break; /*d到四平一天的发车时间分钟段*/ case 12: return 00;break; case 13: return 00;break; case 14: return 00;break; case 15: return 00;break; case 16: return 00;break
8、; /*d到沈阳一天的发车时间分钟段*/ case 17: return 00;break; case 18: return 30;break; case 19: return 00;break; case 20: return 30;break; /*d到锦州一天的发车时间分钟段*/ case 21: return 00;break; case 22: return 30;break; case 23: return 00;break; case 24: return 30;break; /*d到山海关一天的发车时间分钟段*/ case 25: return 30;break; case 2
9、6: return 00;break; case 27: return 30;break; case 28: return 30;break; /*d到北京一天的发车时间分钟段*/ /*开车时间段*/void wap(int k) switch(k) case 1: printf(长春);break; case 2: printf(四平);break; case 3: printf(沈阳);break; case 4: printf(锦州);break; case 5: printf(山海关);break; case 6: printf(北京);break; /*输入终点站的函数*/int s
10、hijian() struct tm *ptr; time_t lt; lt =time(NULL); ptr=gmtime(<); printf(ctime(<); return 0; /*输出当前时间的函数*/float times(int k) float t; if(k=1) t=1.5; if(k=2) t=3.0; if(k=3|k=4) t=4.0; if(k=5|k=6) t=4.5; return t; /*输入行车时间的函数*/int number(int k) int f; if(k=1|k=2) f=30; if(k=3|k=4) f=40; if(k=5|k=
11、6) f=45; return f; /*输入最大载客量的函数*/int nownumber(int k,int i) int n=0; char filename10; switch(i) case 1: strcpy(filename,qiu1.txt);break; case 2: strcpy(filename,qiu2.txt);break; case 3: strcpy(filename,qiu3.txt);break; case 4: strcpy(filename,qiu4.txt);break; case 5: strcpy(filename,qiu5.txt);break;
12、 case 6: strcpy(filename,qiu6.txt);break; case 7: strcpy(filename,qiu7.txt);break; case 8: strcpy(filename,qiu8.txt);break; case 9: strcpy(filename,qiu9.txt);break; case 10: strcpy(filename,qiu10.txt);break; case 11: strcpy(filename,qiu11.txt);break; case 12: strcpy(filename,qiu12.txt);break; case 1
13、3: strcpy(filename,qiu13.txt);break; case 14: strcpy(filename,qiu14.txt);break; case 15: strcpy(filename,qiu15.txt);break; case 16: strcpy(filename,qiu16.txt);break; case 17: strcpy(filename,qiu17.txt);break; case 18: strcpy(filename,qiu18.txt);break; case 19: strcpy(filename,qiu19.txt);break; case
14、20: strcpy(filename,qiu20.txt);break; case 21: strcpy(filename,qiu21.txt);break; case 22: strcpy(filename,qiu22.txt);break; case 23: strcpy(filename,qiu23.txt);break; case 24: strcpy(filename,qiu24.txt);break; case 25: strcpy(filename,qiu25.txt);break; case 26: strcpy(filename,qiu26.txt);break; case
15、 27: strcpy(filename,qiu27.txt);break; case 28: strcpy(filename,qiu28.txt);break; case 29: strcpy(filename,qiu29.txt);break; FILE *fp; if(fp=fopen(filename,rt+)=NULL) printf(cannot open file,strike any key exit!); exit(1); fscanf(fp,%d,&n); n=n+k; rewind(fp); fprintf(fp,%d,n); /将输入数组里面的数据写到文本里 fclos
16、e(fp); return n; /*现在已定票人数*/int tangci(int k) int x; switch(k) case 1: x=6;break; case 2: x=5;break; case 3: x=5;break; case 4: x=4;break; case 5: x=4;break; case 6: x=4;break; default: x=0;break; return x; /*确定每个地方一天行车趟次的函数*/void jiemian() printf(*n); printf(*欢迎来到车票查询系统*); printf(n); printf(| a: 进入
17、班次一览 |n); printf(| b: 进入查询班次 |n); printf(| c: 进入终点站查询 |n); printf(| d: 售票 |n); printf(| e: 退票 |n); printf(| f: 增加班次 |n); printf(*n); printf(n请选择(a-e):); /*界面函数*/void banci(int s,int t) system(cls); /*清屏*/ int i,flag=1,m,k=1,o=0; /*定义一些要用的数据*/ printf( 车票管理系统 ); printf(n); printf(班次 发车时间 起点站 终点站 行车时间
18、额定数量 已订票人数 状态); printf(n); for(i=1;i=10) printf(%d ,i); else printf(%d ,i); if(hour(i)=10) printf(%d ,hour(i); /*进行页面的调整,美观*/ else printf(%d%d ,o,hour(i); if(minute(i)=10) printf(%d,minute(i); else printf(%d%d,o,minute(i); printf( 长春 ); wap(k); printf( %lf ,times(k); printf(%d ,number(k); printf(%d
19、,nownumber(0,i); if(shour(i) printf(未发出); else if(t6) break; /*班次一览*/void chaxun1(int s,int t) system(cls); int i,k=0,n,o=0; printf(n请输入要查询的班次i:); scanf(%d,&i); n=i; while(n0) k+; n=n-tangci(k); printf(班次 发车时间 起点站 终点站 行车时间 额定数量 已订票人数 状态n); if(i=10) printf(%d ,i); else printf(%d ,i); if(hour(i)=10) p
20、rintf(%d ,hour(i); else printf(%d%d ,o,hour(i); if(minute(i)=10) printf(%d,minute(i); else printf(%d%d,o,minute(i); printf( 长春 ); wap(k); printf( %f ,times(k); printf(%d ,number(k); printf(%d ,nownumber(0,i); if(shour(i) printf(未发出); else if(t=10) printf(%d ,i); else printf(%d ,i); if(hour(i)=10) pr
21、intf(%d ,hour(i); else printf(%d%d ,o,hour(i); if(minute(i)=10) printf(%d,minute(i); else printf(%d%d,o,minute(i); printf( 长春 ); wap(k); printf( %f ,times(k); printf(%d ,number(k); printf(%d ,nownumber(0,i); if(shour(i) printf(未发出); else if(tminute(i)&s=hour(i) printf(未发出); else printf(已发出); printf(
22、n); printf(返回重新查询:3,输入其他返回:n); scanf(%d,&n); /*按班次查询*/void chaxun2(int s,int t) system(cls); int i,k=1,m,j,l=0,o=0; printf(请输入你要查询的终点站:n); printf(1:长春.2:四平.3:沈阳.4:锦州.5:山海关.6:北京.n); scanf(%d,&m); for(j=1;jm;j+) k=k+tangci(j); for(j=1;j=m;j+) l=l+tangci(j); printf(班次 发车时间 起点站 终点站 行车时间 额定数量 已订票人数 状态n);
23、 for(i=k;i=10) printf(%d ,i); else printf(%d ,i); if(hour(i)=10) printf(%d ,hour(i); else printf(%d%d ,o,hour(i); if(minute(i)=10) printf(%d,minute(i); else printf(%d%d,o,minute(i); printf( 长春 ); wap(m); printf( %f ,times(m); printf(%d ,number(m); printf(%d ,nownumber(0,i); if(shour(i) printf(未发出);
24、else if(tminute(i)&s=hour(i) printf(未发出); else printf(已发出); printf(n); printf(重新查询请输入11,直接买票请输入12,输入其他退出!:n); scanf(%d,&m); while(m=11) k=1; l=0; printf(请输入你要查询的终点站:n); printf(1:长春.2:四平3沈阳.4锦州.5:山海关.6:北京.n); scanf(%d,&m); for(j=1;jm;j+) k=k+tangci(j); for(j=1;j=m;j+) l=l+tangci(j); printf(班次 发车时间 起点站 终点站 行车时间 额定数量 已订票人数 状态n); for(i=k;i=10) printf(%d ,i); else printf(%d ,i); if(hour(i)=10) printf(%d ,hour(i); else printf(%d%d ,o,hour(i); if(minute(i)=10) printf(%d,minute(i); else printf(%d%d,o,minute(i); printf( 长春 ); wap(m); printf( %f ,times(m); printf(%d ,
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2