C语言课程设计火车票订票系统
- 格式:wps
- 大小:362.00 KB
- 文档页数:17
火车站售票查询系统:#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int shoudsave=0 ;int count1=0,count2=0,mark=0,mark1=0 ;/*定义存储火车信息的结构体*/struct train{char num[10];/*列车号*/char city[10];/*目的城市*/char takeoffTime[10];/*发车时间*/char receiveTime[10];/*到达时间*/int price;/*票价*/int bookNum ;/*票数*/};/*订票人的信息*/struct man{char num[10];/*ID*/char name[10];/*某某*/int bookNum ;/*需求的票数*/};/*定义火车信息链表的结点结构*/typedef struct node{struct train data ;struct node * next ;}Node,*Link ;/*定义订票人链表的结点结构*/typedef struct people{struct man data ;struct people*next ;}bookMan,*bookManLink ;/* 初始界面*/void printInterface(){puts("********************************************************"); puts("* Wele to use the system of booking tickets *");puts("********************************************************");puts("* You can choose the operation: *"); puts("* 1:Insert a train information *"); puts("* 2:Inquire a train information *"); puts("* 3:Book a train ticket *"); puts("* 4:Update the train information *"); puts("* 5:Advice to you about the train *"); puts("* 6:save information to file *"); puts("* 7:quit the system *"); puts("********************************************************"); }/*添加一个火车信息*/void InsertTraininfo(Link linkhead){struct node *p,*r,*s ;char num[10];r = linkhead ;s = linkhead->next ;while(r->next!=NULL)r=r->next ;while(1){printf("please input the number of the train(0-return)");scanf("%s",num);if(strcmp(num,"0")==0)break ;/*判断是否已经存在*/while(s){if(strcmp(s->data.num,num)==0){printf("the train '%s'has been born!\n",num);return ;}s = s->next ;}p = (struct node*)malloc(sizeof(struct node));strcpy(p->data.num,num);printf("Input the city where the train will reach:");scanf("%s",p->data.city);printf("Input the time which the train take off:");scanf("%s",p->data.takeoffTime);printf("Input the time which the train receive:");scanf("%s",&p->data.receiveTime);printf("Input the price of ticket:");scanf("%d",&p->data.price);printf("Input the number of booked tickets:");scanf("%d",&p->data.bookNum);p->next=NULL ;r->next=p ;r=p ;shoudsave = 1 ;}}/*打印火车票信息*/void printTrainInfo(struct node*p){puts("\nThe following is the record you want:");printf(">>number of train: %s\n",p->data.num);printf(">>city the train will reach: %s\n",p->data.city);printf(">>the time the train take off: %s\nthe time the train reach: %s\n",p->data.takeoffTime,p->data.receiveTime);printf(">>the price of the ticket: %d\n",p->data.price);printf(">>the number of booked tickets: %d\n",p->data.bookNum); }struct node * Locate1(Link l,char findmess[],char numorcity[]){Node*r ;if(strcmp(numorcity,"num")==0){r=l->next ;while(r){if(strcmp(r->data.num,findmess)==0)return r ;r=r->next ;}}else if(strcmp(numorcity,"city")==0){r=l->next ;while(r){if(strcmp(r->data.city,findmess)==0)return r ;r=r->next ;}}return 0 ;}/*查询火车信息*/void QueryTrain(Link l){Node *p ;int sel ;char str1[5],str2[10];if(!l->next){printf("There is not any record !");return ;}printf("Choose the way:\n>>1:according to the number of train;\n>>2:according to the city:\n"); scanf("%d",&sel);if(sel==1){printf("Input the the number of train:");scanf("%s",str1);p=Locate1(l,str1,"num");if(p){printTrainInfo(p);}else{mark1=1 ;printf("\nthe file can't be found!");}}else if(sel==2){printf("Input the city:");scanf("%s",str2);p=Locate1(l,str2,"city");if(p){printTrainInfo(p);}else{mark1=1 ;printf("\nthe file can't be found!");}}}/*订票子模块*/void BookTicket(Link l,bookManLink k){Node*r[10],*p ;char ch,dem ;bookMan*v,*h ;int i=0,t=0 ;char str[10],str1[10],str2[10];v=k ;while(v->next!=NULL)v=v->next ;printf("Input the city you want to go: ");scanf("%s",&str);p=l->next ;while(p!=NULL){if(strcmp(p->data.city,str)==0){r[i]=p ;i++;}p=p->next ;}printf("\n\nthe number of record have %d\n",i);for(t=0;t<i;t++)printTrainInfo(r[t]);if(i==0)printf("\n\t\t\tSorry!Can't find the train for you!\n"); else{printf("\ndo you want to book it?<1/0>\n");scanf("%d",&ch);if(ch == 1){h=(bookMan*)malloc(sizeof(bookMan));printf("Input your name: ");scanf("%s",&str1);strcpy(h->,str1);printf("Input your id: ");scanf("%s",&str2);strcpy(h->data.num,str2);printf("Input your bookNum: ");scanf("%d",&dem);h->data.bookNum=dem ;h->next=NULL ;v->next=h ;v=h ;printf("\nLucky!you have booked a ticket!");getch();shoudsave=1 ;}}}bookMan*Locate2(bookManLink k,char findmess[]){bookMan*r ;r=k->next ;while(r){if(strcmp(r->data.num,findmess)==0){mark=1 ;return r ;}r=r->next ;}return 0 ;}/*修改火车信息*/void UpdateInfo(Link l){Node*p ;char findmess[20],ch ;if(!l->next){printf("\nthere isn't record for you to modify!\n"); return ;}else{QueryTrain(l);if(mark1==0){printf("\nDo you want to modify it?\n");getchar();scanf("%c",&ch);if(ch=='y');{printf("\nInput the number of the train:");scanf("%s",findmess);p=Locate1(l,findmess,"num");if(p){printf("Input new number of train:");scanf("%s",&p->data.num);printf("Input new city the train will reach:");scanf("%s",&p->data.city);printf("Input new time the train take off");scanf("%s",&p->data.takeoffTime);printf("Input new time the train reach:");scanf("%s",&p->data.receiveTime);printf("Input new price of the ticket::");scanf("%d",&p->data.price);printf("Input new number of people who have booked ticket:"); scanf("%d",&p->data.bookNum);printf("\nmodifying record is sucessful!\n");shoudsave=1 ;}elseprintf("\t\t\tcan't find the record!");}}elsemark1=0 ;}}/*系统给用户的提示信息*/void AdvicedTrains(Link l){Node*r ;char str[10];int mar=0 ;r=l->next ;printf("Iuput the city you want to go: ");scanf("%s",str);while(r){if(strcmp(r->data.city,str)==0&&r->data.bookNum<200){mar=1 ;printf("\nyou can select the following train!\n");printf("\n\nplease select the fourth operation to book the ticket!\n"); printTrainInfo(r);}r=r->next ;}if(mar==0)printf("\n\t\t\tyou can't book any ticket now!\n");}/*保存火车信息*/void SaveTrainInfo(Link l){FILE*fp ;Node*p ;int count=0,flag=1 ;fp=fopen("c:\\train.txt","wb");if(fp==NULL){printf("the file can't be opened!");return ;}p=l->next ;while(p){if(fwrite(p,sizeof(Node),1,fp)==1){p=p->next ;count++;}else{flag=0 ;break ;}}if(flag){printf("the number of the record which have been saved is %d\n",count);shoudsave=0 ;}}/*保存订票人的信息*/void SaveBookmanInfo(bookManLink k){FILE*fp ;bookMan*p ;int count=0,flag=1 ;fp=fopen("c:\\man.txt","wb");if(fp==NULL){printf("the file can't be opened!");return ;}p=k->next ;while(p){if(fwrite(p,sizeof(bookMan),1,fp)==1){p=p->next ;count++;}else{flag=0 ;break ;}}if(flag){printf("the number of the record which have been saved is %d\n",count); shoudsave=0 ;}fclose(fp);}int main(){FILE*fp1,*fp2 ;Node*p,*r ;char ch1,ch2 ;Link l ;bookManLink k ;bookMan*t,*h ;l=(Node*)malloc(sizeof(Node));l->next=NULL ;r=l ;k=(bookMan*)malloc(sizeof(bookMan));k->next=NULL ;h=k ;fp1=fopen("c:\\train.txt","ab+");if((fp1==NULL)){printf("can't open the file!");return 0 ;}while(!feof(fp1)){p=(Node*)malloc(sizeof(Node));if(fread(p,sizeof(Node),1,fp1)==1){p->next=NULL ;r->next=p ;r=p ;count1++;}}fclose(fp1);fp2=fopen("c:\\man.txt","ab+");if((fp2==NULL)){printf("can't open the file!");return 0 ;}while(!feof(fp2)){t=(bookMan*)malloc(sizeof(bookMan)); if(fread(t,sizeof(bookMan),1,fp2)==1) {t->next=NULL ;h->next=t ;h=t ;count2++;}}fclose(fp2);{clrscr();printInterface();printf("please choose the operation: ");scanf("%d",&sel);clrscr();if(sel==8){if(shoudsave==1){getchar();printf("\nthe file have been changed!do you want to save it(y/n)?\n"); scanf("%c",&ch1);if(ch1=='y'||ch1=='Y'){SaveBookmanInfo(k);SaveTrainInfo(l);}}printf("\nThank you!!You are wele too\n");break ;}switch(sel){case 1 :InsertTraininfo(l);break ;case 2 :QueryTrain(l);break ;case 3 :BookTicket(l,k);break ;case 4 :UpdateInfo(l);break ;case 5 :AdvicedTrains(l);break ;case 6 :SaveTrainInfo(l);SaveBookmanInfo(k);break ;case 7 :return 0;}printf("\nplease press any key to continue.......");getch();}}。
设计题目:火车订票系统设计专业:电子信息工程班级: 09级3班姓名:学号:目录一总体设计(包含几大功能模块) (1)二详细设计(各功能模块的具体实现算法——流程图) (2)三调试分析(包含各模块的测试用例,及测试结果) (3)3.1源程序 (6)3.2调试与测试 (31)四总结 (33)一总体设计(包含几大功能模块)1.Insert a train information(插入火车信息)2.inquire a train jinformation(查询火车信息)3.Book a train ticket(订票)4.Update the train information(更新火车信息)5.Advice to you about the train (建议)6.Save information to file(储存信息归档)7.Quit the system(退出系统)二、详细设计(各功能模块的具体实现算法——流程图)2.1各函数的功能和实现1.Insert a train information(插入火车信息):输入包括火车班次,最终目地,始发站,火车到站时间,车票价格,所定票号。
可用函数void input来实现此操作2.inquire a train jinformation(查询火车信息):没有任何记录3.Book a train ticket(订票):输入你想要去的城市4.Update the train information(更新火车信息):可用void find()来实现5.Advice to you about the train (关于火车对你的建议)6.Save information to file(储存信息归档)7.Quit the system(退出系统):可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
流程图详见A4纸上手绘三调试分析(包含各模块的测试用例,及测试结果)3.1源程序#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int shoudsave=0 ;int count1=0,count2=0,mark=0,mark1=0 ;/*定义存储火车信息的结构体*/struct train{char num[10];/*列车号*/char city[10];/*目的城市*/char takeoffTime[10];/*发车时间*/char receiveTime[10];/*到达时间*/int price;/*票价*/int bookNum ;/*票数*/};/*订票人的信息*/struct man{char num[10];/*ID*/char name[10];/*姓名*/int bookNum ;/*需求的票数*/ };/*定义火车信息链表的结点结构*/ typedef struct node{struct train data ;struct node * next ;}Node,*Link ;/*定义订票人链表的结点结构*/ typedef struct people{struct man data ;struct people*next ;}bookMan,*bookManLink ;/* 初始界面*/void printInterface(){puts("********************************************************"); puts("* Welcome to use the system of booking tickets *"); puts("********************************************************"); puts("* You can choose the operation: *"); puts("* 1:Insert a train information *"); puts("* 2:Inquire a train information *"); puts("* 3:Book a train ticket *"); puts("* 4:Update the train information *"); puts("* 5:Advice to you about the train *"); puts("* 6:save information to file *"); puts("* 7:quit the system *"); puts("********************************************************"); }/*添加一个火车信息*/void InsertTraininfo(Link linkhead){struct node *p,*r,*s ;char num[10];r = linkhead ;s = linkhead->next ;while(r->next!=NULL)r=r->next ;while(1){printf("please input the number of the train(0-return)"); scanf("%s",num);if(strcmp(num,"0")==0)break ;/*判断是否已经存在*/while(s){if(strcmp(s->data.num,num)==0){printf("the train '%s'has been born!\n",num);return ;}s = s->next ;}p = (struct node*)malloc(sizeof(struct node));strcpy(p->data.num,num);printf("Input the city where the train will reach:"); scanf("%s",p->data.city);printf("Input the time which the train take off:"); scanf("%s",p->data.takeoffTime);printf("Input the time which the train receive:");scanf("%s",&p->data.receiveTime);printf("Input the price of ticket:");scanf("%d",&p->data.price);printf("Input the number of booked tickets:");scanf("%d",&p->data.bookNum);p->next=NULL ;r->next=p ;r=p ;shoudsave = 1 ;}}/*打印火车票信息*/void printTrainInfo(struct node*p){puts("\nThe following is the record you want:");printf(">>number of train: %s\n",p->data.num);printf(">>city the train will reach: %s\n",p->data.city);printf(">>the time the train take off: %s\nthe time the train reach: %s\n",p->data.takeoffTime,p->data.receiveTime);printf(">>the price of the ticket: %d\n",p->data.price);printf(">>the number of booked tickets: %d\n",p->data.bookNum); }struct node * Locate1(Link l,char findmess[],char numorcity[]){Node*r ;if(strcmp(numorcity,"num")==0){r=l->next ;while(r){if(strcmp(r->data.num,findmess)==0) return r ;r=r->next ;}}else if(strcmp(numorcity,"city")==0){r=l->next ;while(r){if(strcmp(r->data.city,findmess)==0) return r ;r=r->next ;}}return 0 ;}/*查询火车信息*/void QueryTrain(Link l){Node *p ;int sel ;char str1[5],str2[10];if(!l->next){printf("There is not any record !");return ;}printf("Choose the way:\n>>1:according to the number of train;\n>>2:according to the city:\n");scanf("%d",&sel);if(sel==1){printf("Input the the number of train:"); scanf("%s",str1);p=Locate1(l,str1,"num");if(p){printTrainInfo(p);}else{mark1=1 ;printf("\nthe file can't be found!"); }}else if(sel==2){printf("Input the city:");scanf("%s",str2);p=Locate1(l,str2,"city");if(p)printTrainInfo(p);}else{mark1=1 ;printf("\nthe file can't be found!"); }}}/*订票子模块*/void BookTicket(Link l,bookManLink k){Node*r[10],*p ;char ch,dem ;bookMan*v,*h ;int i=0,t=0 ;char str[10],str1[10],str2[10];while(v->next!=NULL)v=v->next ;printf("Input the city you want to go: ");scanf("%s",&str);p=l->next ;while(p!=NULL){if(strcmp(p->data.city,str)==0){r[i]=p ;i++;}p=p->next ;}printf("\n\nthe number of record have %d\n",i); for(t=0;t<i;t++)printTrainInfo(r[t]);if(i==0)printf("\n\t\t\tSorry!Can't find the train for you!\n"); else{printf("\ndo you want to book it?<1/0>\n");scanf("%d",&ch);if(ch == 1){h=(bookMan*)malloc(sizeof(bookMan));printf("Input your name: ");scanf("%s",&str1);strcpy(h->,str1);printf("Input your id: ");scanf("%s",&str2);strcpy(h->data.num,str2);printf("Input your bookNum: ");scanf("%d",&dem);h->data.bookNum=dem ;h->next=NULL ;v->next=h ;v=h ;printf("\nLucky!you have booked a ticket!"); getch();shoudsave=1 ;}}}bookMan*Locate2(bookManLink k,char findmess[]){bookMan*r ;r=k->next ;while(r){if(strcmp(r->data.num,findmess)==0){mark=1 ;return r ;}r=r->next ;}return 0 ;}/*修改火车信息*/void UpdateInfo(Link l){Node*p ;char findmess[20],ch ;if(!l->next){printf("\nthere isn't record for you to modify!\n"); return ;}else{QueryTrain(l);if(mark1==0){printf("\nDo you want to modify it?\n");getchar();scanf("%c",&ch);if(ch=='y');{printf("\nInput the number of the train:");scanf("%s",findmess);p=Locate1(l,findmess,"num");if(p){printf("Input new number of train:");scanf("%s",&p->data.num);printf("Input new city the train will reach:"); scanf("%s",&p->data.city);printf("Input new time the train take off");scanf("%s",&p->data.takeoffTime);printf("Input new time the train reach:");scanf("%s",&p->data.receiveTime);printf("Input new price of the ticket::");scanf("%d",&p->data.price);printf("Input new number of people who have booked ticket:"); scanf("%d",&p->data.bookNum);printf("\nmodifying record is sucessful!\n");shoudsave=1 ;}elseprintf("\t\t\tcan't find the record!");}}elsemark1=0 ;}}/*系统给用户的提示信息*/void AdvicedTrains(Link l){Node*r ;char str[10];int mar=0 ;r=l->next ;printf("Iuput the city you want to go: ");scanf("%s",str);while(r){if(strcmp(r->data.city,str)==0&&r->data.bookNum<200){mar=1 ;printf("\nyou can select the following train!\n");printf("\n\nplease select the fourth operation to book the ticket!\n"); printTrainInfo(r);}r=r->next ;}if(mar==0)printf("\n\t\t\tyou can't book any ticket now!\n");}/*保存火车信息*/void SaveTrainInfo(Link l){FILE*fp ;Node*p ;int count=0,flag=1 ;fp=fopen("c:\\train.txt","wb");if(fp==NULL){printf("the file can't be opened!"); return ;}p=l->next ;while(p){if(fwrite(p,sizeof(Node),1,fp)==1) {p=p->next ;count++;}else{flag=0 ;break ;}}if(flag){printf("the number of the record which have been saved is %d\n",count); shoudsave=0 ;}fclose(fp);}/*保存订票人的信息*/void SaveBookmanInfo(bookManLink k){FILE*fp ;bookMan*p ;int count=0,flag=1 ;fp=fopen("c:\\man.txt","wb");if(fp==NULL){printf("the file can't be opened!"); return ;}p=k->next ;while(p){if(fwrite(p,sizeof(bookMan),1,fp)==1) {p=p->next ;count++;}else{flag=0 ;break ;}}if(flag){printf("the number of the record which have been saved is %d\n",count); shoudsave=0 ;}fclose(fp);}int main(){FILE*fp1,*fp2 ;Node*p,*r ;char ch1,ch2 ;Link l ;bookManLink k ;bookMan*t,*h ;int sel ;l=(Node*)malloc(sizeof(Node));l->next=NULL ;r=l ;k=(bookMan*)malloc(sizeof(bookMan)); k->next=NULL ;h=k ;fp1=fopen("c:\\train.txt","ab+");if((fp1==NULL)){printf("can't open the file!");return 0 ;}while(!feof(fp1)){p=(Node*)malloc(sizeof(Node));if(fread(p,sizeof(Node),1,fp1)==1) {p->next=NULL ;r->next=p ;r=p ;}}fclose(fp1);fp2=fopen("c:\\man.txt","ab+");if((fp2==NULL)){printf("can't open the file!");return 0 ;}while(!feof(fp2)){t=(bookMan*)malloc(sizeof(bookMan)); if(fread(t,sizeof(bookMan),1,fp2)==1) {t->next=NULL ;h->next=t ;h=t ;}}fclose(fp2);while(1){clrscr();printInterface();printf("please choose the operation: ");scanf("%d",&sel);clrscr();if(sel==8){if(shoudsave==1){getchar();printf("\nthe file have been changed!do you want to save it(y/n)?\n"); scanf("%c",&ch1);if(ch1=='y'||ch1=='Y'){SaveBookmanInfo(k);SaveTrainInfo(l);}}printf("\nThank you!!You are welcome too\n"); break ;}switch(sel){case 1 :InsertTraininfo(l);break ;case 2 :QueryTrain(l);break ;case 3 :BookTicket(l,k);break ;case 4 :UpdateInfo(l);break ;case 5 :AdvicedTrains(l);break ;case 6 :SaveTrainInfo(l);SaveBookmanInfo(k);break ;case 7 :return 0;}printf("\nplease press any key to continue......."); getch();}return 0;}3.2调试与测试主要程序运行结果:运行开始选择1输入信息:选择2查询信息选择3订票选择4没用选择5对你的建议选择7退出系统3. 心得体会通过这次课程设计,增加了我对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习C语言这门课程开始,已发现程序设计的好处,他对我们数学的学习也有很大的帮助。
c语言课程设计车票管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本技能,能够运用C语言设计简单的车票管理系统。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构;–理解车票管理系统的业务逻辑和需求;–了解软件开发的基本流程。
2.技能目标:–能够使用C语言编写程序,实现车票管理系统的基本功能;–能够进行程序调试和优化,提高程序的性能和可维护性;–能够运用面向对象编程思想,设计合理的软件架构。
3.情感态度价值观目标:–培养学生的编程兴趣,增强自信心;–培养学生团队合作精神和自主学习能力;–培养学生对软件行业的热爱和对编程事业的敬业精神。
二、教学内容本课程的教学内容主要包括C语言基础知识、车票管理系统的需求分析、系统设计、编码实现和测试等。
具体安排如下:1.C语言基础知识:–数据类型、变量和常量;–运算符和表达式;–控制语句;–函数和数组。
2.车票管理系统的需求分析:–理解车票管理系统的业务流程;–分析系统需求,确定功能模块。
3.系统设计:–设计系统的数据结构和算法;–设计系统的界面和交互逻辑。
4.编码实现:–使用C语言编写程序,实现车票管理系统的基本功能;–进行程序调试和优化。
5.测试与总结:–对程序进行测试,确保功能正确;–总结学习过程,提高编程能力。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法和车票管理系统的业务逻辑,使学生掌握相关知识。
2.案例分析法:分析实际案例,使学生更好地理解车票管理系统的需求和设计。
3.实验法:让学生动手编写程序,培养实际操作能力和编程技能。
四、教学资源本课程所需的教学资源包括:1.教材:《C程序设计语言》或《C语言入门教程》;2.参考书:《C语言编程思想》或《C语言实例教程》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络环境等。
以上教学资源将有助于实现本课程的教学目标,提高学生的编程能力,为学生的职业发展奠定基础。
c语言课程设计车票管理系统车票管理系统是一种用于管理和查询车票信息的软件系统。
在现代社会中,人们经常需要购买车票进行出行,而车票管理系统能够提供方便快捷的购票、退票、查询等功能,极大地方便了人们的出行需求。
车票管理系统需要具备用户管理功能。
用户可以通过注册账号和登录系统来使用各种功能。
系统需要记录用户的个人信息,包括姓名、身份证号码、电话号码等,以便于用户购票和退票时的身份验证。
用户可以通过修改个人信息来更新自己的基本资料。
车票管理系统需要提供车次管理功能。
系统需要记录不同车次的信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、票价等。
管理员可以通过系统添加、修改和删除车次信息。
用户可以查询某一特定车次的详细信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、余票数量、票价等。
车票管理系统还需要提供购票和退票功能。
用户可以通过系统选择某一特定车次和日期,然后查询该车次的余票数量。
如果有余票,用户可以选择购买相应数量的车票,并完成支付操作。
购票成功后,系统会生成一张电子车票并发送到用户的手机上。
如果用户需要退票,可以在规定的时间范围内选择相应的车票进行退票操作。
系统会根据退票规则进行退款处理,并将退款金额返还到用户的账户余额。
车票管理系统还需要提供车票查询功能。
用户可以通过系统选择起始站点和终点站点,然后查询符合条件的车次列表。
系统会根据用户的选择显示车次编号、发车时间、到达时间、余票数量、票价等信息。
用户可以根据自己的需求选择最合适的车次进行购票。
车票管理系统还需要具备统计分析功能。
管理员可以通过系统生成各种报表,包括每日、每周、每月的车票销售情况、客流量统计、收入统计等。
这些报表可以帮助管理员了解车票销售的情况,从而进行合理的调整和优化。
车票管理系统是一种方便快捷的软件系统,能够满足用户购票、退票和查询的需求。
通过该系统,用户可以轻松地选择合适的车次、购买车票,并随时查询车票信息。
c语言课程设计车票管理系统车票管理系统是一种用于管理车票信息的软件系统,它可以方便地记录和查询车票的相关信息,包括车票的购买、使用和退款等操作。
本文将详细介绍车票管理系统的设计与实现。
一、系统需求分析车票管理系统的主要功能包括:车票信息的录入与管理、车票的购买与退款、车票的查询与打印等。
具体需求如下:1. 车票信息的录入与管理:系统管理员可以录入车票的基本信息,包括车次、出发地、目的地、出发时间、到达时间、票价等。
2. 车票的购买与退款:乘客可以通过系统购买车票,并可以根据需要进行退款操作。
购买车票时需要提供乘客的相关信息,包括姓名、身份证号、联系电话等。
3. 车票的查询与打印:乘客可以通过系统查询车票的相关信息,并可以选择打印车票。
二、系统设计与实现1. 数据库设计:为了存储车票的相关信息,需要设计一个车票信息表,包括车次、出发地、目的地、出发时间、到达时间、票价等字段。
同时,还需要设计一个乘客信息表,包括姓名、身份证号、联系电话等字段。
2. 界面设计:车票管理系统的界面应该简洁明了,方便用户操作。
可以采用图形界面的形式,通过按钮、输入框等控件与用户进行交互。
3. 功能实现:a. 车票信息的录入与管理:系统管理员可以通过系统界面进行车票信息的录入与管理,包括新增车票、修改车票、删除车票等操作。
b. 车票的购买与退款:乘客可以通过系统界面选择购买车票或退款,购买车票时需要填写相关信息,并将购买信息保存到数据库中,退款时需要输入订单号进行操作。
c. 车票的查询与打印:乘客可以通过系统界面进行车票的查询,可以根据车次、出发地、目的地、出发时间等条件进行筛选,并可以选择打印车票。
三、系统运行流程1. 系统管理员登录系统,进入车票管理界面。
2. 管理员可以进行车票信息的录入与管理,包括新增、修改和删除车票。
3. 乘客通过系统界面选择购买车票,填写相关信息,系统将购买信息保存到数据库中,并生成订单号。
4. 乘客可以通过系统界面进行车票的查询,可以根据条件筛选需要的车票。
c 课程设计订票系统一、教学目标本章节的教学目标为:知识目标:使学生掌握订票系统的相关知识,包括系统架构、功能模块、关键技术等。
技能目标:培养学生能够使用编程语言实现简单的订票系统,并具备一定的系统调试和优化能力。
情感态度价值观目标:培养学生对信息技术领域的兴趣,提高他们运用信息技术解决实际问题的意识。
二、教学内容本章节的教学内容如下:1.订票系统概述:介绍订票系统的定义、功能、应用场景等。
2.订票系统架构:讲解订票系统的整体架构,包括前端展示、后端逻辑、数据库设计等。
3.功能模块划分:详细介绍订票系统的各个功能模块,如用户管理、订单管理、票务管理等。
4.关键技术解析:讲解实现订票系统所需的关键技术,如数据库查询、事务处理、安全性保障等。
5.编程实践:引导学生动手编写订票系统的代码,并进行调试和优化。
三、教学方法本章节的教学方法包括:1.讲授法:用于讲解订票系统的相关概念、架构和关键技术。
2.案例分析法:通过分析实际订票系统的案例,使学生更好地理解理论知识。
3.实验法:引导学生动手实践,编写订票系统代码,培养实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得,互相促进。
四、教学资源本章节的教学资源包括:1.教材:提供订票系统的理论知识,为学生学习奠定基础。
2.参考书:拓展学生的知识视野,丰富学习内容。
3.多媒体资料:通过视频、动画等形式,生动展示订票系统的实现过程。
4.实验设备:为学生提供实际操作环境,培养动手能力。
五、教学评估本章节的教学评估方式包括:1.平时表现评估:根据学生在课堂上的参与度、提问回答等情况,全面了解学生的学习态度和实际能力。
2.作业评估:通过对学生作业的完成情况、代码质量、问题解决能力等方面进行评估,了解学生的学习效果。
3.考试评估:设置期中、期末考试,测试学生对订票系统知识的掌握程度以及编程实践能力。
4.项目实践评估:学生完成一个订票系统项目,从需求分析、设计、实现到测试,全面评估学生的系统开发能力。
c语言课程设计车票管理系统车票管理系统是一个用于管理车票信息的软件系统。
它可以记录并管理车票的购买、退票、查询等操作,实现对车票信息的全面管理和统计。
本文将从需求分析、系统设计和实现三个方面来介绍车票管理系统的开发过程。
一、需求分析车票管理系统主要面向客户和管理员两类用户。
客户可以通过系统购买车票、查询车票信息,管理员可以管理车票信息、处理退票等操作。
1. 用户管理车票管理系统需要实现用户的注册和登录功能,以保证用户购票时的身份认证和信息安全。
2. 车次管理系统需要记录车次的信息,包括车次编号、起始站点、终点站点、发车时间、到达时间、票价等。
管理员可以对车次信息进行增删改查操作。
3. 车票管理系统需要记录车票的信息,包括车票编号、车次编号、座位号、购票人、购票时间等。
客户可以通过系统购买车票,管理员可以对车票信息进行增删改查操作。
4. 车票查询客户可以根据起始站点、终点站点和发车时间等条件来查询车票信息,以便选择合适的车次和座位。
5. 车票购买客户可以选择合适的车次和座位进行购票,系统需要实时更新车票信息,避免重复售票或超售情况的发生。
6. 车票退票客户可以通过系统进行退票操作,系统需要实时更新车票信息,并进行相应的退款处理。
二、系统设计基于需求分析的结果,我们可以设计出如下的系统架构:1. 用户管理模块包括用户注册、登录、信息修改等功能。
2. 车次管理模块包括车次信息的增删改查功能。
3. 车票管理模块包括车票信息的增删改查功能。
4. 车票查询模块根据用户输入的条件查询车票信息并展示给用户。
5. 车票购买模块根据用户选择的车次和座位进行购票,并更新车票信息。
6. 车票退票模块根据用户选择的车票进行退票,并更新车票信息和退款处理。
三、系统实现车票管理系统的实现主要依赖于数据库和编程语言。
我们可以选择使用MySQL作为数据库,使用C语言进行系统的开发。
1. 数据库设计根据需求分析的结果,我们可以设计出如下的数据库表结构:- 用户表:包括用户ID、用户名、密码等字段。
河北建筑工程学院课程设计报告课程设计名称:C语言课程设计课程设计题目:车票管理系统院(系):理学院专业:信息与计算科学班级:信142学号:20143140201姓名:刘新月指导教师:李鸿强完成日期: 2015-6-17目录前言 (2)第1章概要设计 (3)1.1题目的内容与要求 (3)1.2总体结构 (3)第2章详细设计 (4)主模块流程图 (4)车票管理系统软件详细设计 (4)第3章调试分析 (6)第4章使用说明与执行结果 (7)参考文献 (15)附录(程序清单) (16)致谢 (32)前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。
Visual C++6.0 是一种功能强大行之有效的可视化编程工具。
因此此软件是在Visual C++6.0环境下编写的。
对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。
为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于Visual C++6.0环境下的车票管理系统的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
第1章概要设计1.1题目的内容与要求一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
订票管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言中结构体、数组、函数等基本概念,掌握其应用方法。
2. 学会使用C语言实现简单的订票管理系统,了解系统设计的基本流程和关键环节。
3. 掌握文件操作、指针等C语言高级特性,并能将其应用于实际项目中。
技能目标:1. 培养学生运用C语言进行问题分析和解决的能力,提高编程实践技能。
2. 培养学生团队协作能力,学会与他人共同完成一个项目,提高沟通与协作效率。
3. 培养学生具备一定的项目调试和优化能力,提高代码质量和性能。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发学习动力。
2. 培养学生勇于面对困难、积极解决问题的精神,增强自信心。
3. 引导学生认识到编程在实际生活中的应用价值,培养社会责任感和创新意识。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成一个简单的订票管理系统,展示其编程能力。
2. 学生能够通过团队协作,共同优化和完善订票管理系统,提高项目质量。
3. 学生在课程学习过程中,能够积极思考、提问,主动寻求解决问题的方法。
4. 学生能够体验到编程带来的成就感,激发进一步学习的兴趣和动力。
二、教学内容本课程教学内容主要包括以下几部分:1. C语言基础知识回顾:- 结构体的定义和使用- 数组的基本操作- 函数的定义和调用- 指针的概念及操作2. 订票管理系统需求分析:- 了解订票管理系统的功能模块- 分析系统需求和设计思路3. 订票管理系统模块设计:- 用户模块:注册、登录、修改密码等- 航班模块:航班查询、预订、取消预订等- 管理模块:航班管理、用户管理等- 数据存储模块:文件操作、数据存储与读取4. C语言编程实践:- 编写各模块的功能函数- 实现模块间的数据传递与交互- 调试与优化程序5. 团队协作与项目展示:- 分组进行项目开发- 协作完成项目,分享开发经验- 展示项目成果,进行评价与总结教学内容按照以下教学大纲安排和进度:第一周:回顾C语言基础知识,分析订票管理系统需求第二周:设计订票管理系统各模块,学习文件操作和指针第三周:编写各模块功能函数,实现模块间数据传递与交互第四周:项目调试与优化,团队协作与项目展示教材章节关联:《C语言程序设计》第3章:结构体与数组《C语言程序设计》第4章:函数《C语言程序设计》第5章:指针《C语言程序设计》第8章:文件操作与应用三、教学方法本课程将采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 通过对C语言基础知识的回顾,为学生提供必要的概念和理论知识,为后续实践打下基础。
车票管理系统c语言课程设计一、教学目标本课程的教学目标是使学生掌握车票管理系统的设计与实现方法,具备使用C 语言进行简单应用程序开发的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解面向对象编程的基本概念。
–学习使用常见的调试工具和技巧。
2.技能目标:–能够使用C语言编写简单的应用程序。
–能够使用面向对象的方法设计程序。
–能够对程序进行调试和优化。
3.情感态度价值观目标:–培养学生的团队合作意识和解决问题的能力。
–培养学生的创新思维和持续学习的热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、面向对象编程、程序调试和优化等。
具体安排如下:1.C语言的基本语法和数据结构。
–变量和数据类型。
–运算符和表达式。
–控制结构和函数。
–数组和字符串。
–指针和动态内存管理。
2.面向对象编程。
–类和对象的概念。
–构造函数和析构函数。
–继承和多态。
–封装和接口。
3.程序调试和优化。
–常见的调试技巧和工具。
–性能分析和优化方法。
三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授C语言的基本语法和数据结构,以及面向对象编程的概念和方法。
2.讨论法:通过小组讨论和问题解答的方式,培养学生的团队合作意识和解决问题的能力。
3.案例分析法:通过分析实际案例,让学生了解车票管理系统的设计和实现过程。
4.实验法:通过上机实验,让学生亲手编写代码,培养学生的实际编程能力。
四、教学资源本课程将使用教材《C语言程序设计》作为主要教学资源,同时辅以参考书籍、多媒体资料和实验设备。
参考书籍包括《C Primer Plus》和《C和指针》。
多媒体资料包括教学PPT和视频教程。
实验设备包括计算机和网络设备,用于进行代码编写和调试。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
湖北工业大学工程技术学院课程设计报告书课程名称:C语言课程设计班级:物联网一班小组成员:范立恒、陈根、聂俊豪、麦灿文、黄文康组长:范立恒指导教师:楚惟善二○一三年六月1 课程题目及要求及要求题目一:火车售票系统任务:结合C语言中相关知识,设计出火车售票系统。
1 录入北京西站车次信息;2 旅客按车次买票;3 统计某日火车票销售金额。
程序要求:⏹贯彻结构化的程序设计思想。
⏹用户界面友好,功能明确,操作方便。
⏹用户界面中的菜单至少应包括“车次信息录入”、“旅客买票”、“统计某日销售金额”、“退出”4项。
⏹代码应适当缩进,并给出必要的注释,以增强程序的可读性⏹为了保证所有的数据可以长期被使用,要求程序能将相关数据存储在外部数据文件中,具体数据格式和文件名、路径等自定;⏹根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后可返回到主菜单,继续选择其他功能执行。
源程序要求书写规范,结构清晰。
重点函数的重点变量,重点功能部分均要求给出清晰的程序注释。
⏹程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。
如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和2 程序分设计说明经过对程序设计题目的分析可知,整个程序的设计实现大致分为八个模块,每一个模块对应一个函数。
在这些函数当中,添加车次数据函数,售票函数,查询总额函数的实现严格按照题目的要求,而显示时间函数和显示车次函数属于附加功能。
读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。
1. 添加车次函数主要实现程序最初运行时车次的录入;2. 旅客买票函数实现的功能是按照旅客所需车次几所购买车票的数目;3. 查询车票总额按照题目的具体要求实现的是总额的查询;4. 显示函数实现的是显示目前所有的有效车次信息。
火车订票系统课程设计德州学院计算机系课程设计报告实习名称课程设计报告设计题目火车票订票系统实习时间 2012年3月 12日-3月18日专业班级计算机科学与技术指导老师沙焕滨教学单位(盖章) 小组分工情况:学号姓名分工 201101001064 张旭 C语言程序编辑 201101001052 刘燕君 C 语言程序调试、报告编写2012年5月25日德州学院计算机系 C语言课程设计报告目录一( 实验目的 ------------------------------------------------------- 1 二( 需求分析 ------------------------------------------------------- 1 三( 概要设计 ------------------------------------------------------- 2 四( 详细设计 ------------------------------------------------------- 2 五( 调试与测试结果分析 --------------------------------------------- 6 六( 使用说明 ------------------------------------------------------- 7 七( 感想总结 ------------------------------------------------------- 8 八( 参考文献 ------------------------------------------------------- 9 九( 附录 ----------------------------------------------------------- 9 德州学院计算机系 c语言课程设计报告一( 实验目的当今计算机在各行各业领域中其重要作用,不仅代替人力物力财力也节省了大量的时间,提高了工作的效率。