1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 《C语言程序设计》课程设计 -- 火车票票务管理系统

《C语言程序设计》课程设计 -- 火车票票务管理系统

时间:2020-10-03 18:26:35

相关推荐

《C语言程序设计》课程设计 -- 火车票票务管理系统

设计一个火车票票务管理系统,要求实现车票查询、车票购买、车票退订等功能。使用文件来存储所有车票的信息,这些车票信息用一个结构体数组来存取;使用另一个结构体变量来存储乘客已购买车票的信息。

1、要求设计一个火车票票务信息管理程序,实现车票查询、车票购买、车票退订和退出程序,从而完成系统所需功能;

2、用文件来存储所有车票信息,分别用不同的结构体来存取所有车票信息和乘客已购买车票信息;

3、用下标法或指针法来实现对车票信息的存取、显示、查询、增加、删除等操作;

4、系统运行界面如图1所示。

三、数据结构及文件

1、结构体:定义两个结构体分别存取所有车票的信息和乘客已购买车票的信息。

//定义火车车次结构体类型typedef struct Ticket{char trainnum[20]; /*车次*/char soursta[20]; /*起点站*/char deststa[20]; /*终点站*/float price; /*价格*/int number;/*剩余车票数量*/char deptime[20]; /*始发时间*/char arrtime[20]; /*到站时间*/}TRAIN;//定义已买车票结构体类型struct buyticket{char name[20]; /*姓名*/char trainnum[20]; /*车次*/char soursta[20]; /*起点站*/char deststa[20]; /*终点站*/float price; /*价格*/char deptime[20]; /*始发时间*/char arrtime[20]; /*到站时间*/int buynum;/*购买数量*/};

2、文件:新建一个文件存储所有车票的信息,文件traininfo.txt(示例)的内容如图2所示。

四、函数定义

源程序中包括的函数如表1所示。

表1 源程序中的函数及其功能

函数原型功能说明void menu(int *flag,TRAIN *pticket,struct buyticket *pbuyticket)打印主菜单void showticket(int *flag,TRAIN *pticket,struct buyticket *pbuyticket)显示所有车票信息void showbuyticket(struct buyticket *pbuyticket)显示已购买车票信息void check(int *flag,TRAIN *pticket,struct buyticket *pbuyticket)查询车票void buy(int *flag,TRAIN *pticket,struct buyticket *pbuyticket)购买车票void returnticket(int *flag,TRAIN *pticket,struct buyticket *pbuyticket)退订车票void readfile(TRAIN *pticket)读文件void writefile(TRAIN *pticket)写文件void main( )主函数

五、部分函数

1、读文件函数

//从traininfo.txt中读取所有车票的信息到数组train[5]中void readfile(TRAIN *pticket){FILE *fp;int i;if((fp=fopen("d:\\traininfo.txt","r"))==NULL){printf("文件traininfo.txt打开错误.\n");exit(0);}for(i=0;i<5;i++)fscanf(fp,"%s%s%s%f%d%s%s",(pticket+i)->trainnum,(pticket+i)->soursta,(pticket+i)->deststa,&(pticket+i)->price,&(pticket+i)->number,(pticket+i)->deptime,(pticket+i)->arrtime);fclose(fp);}

2、写文件函数

//将修改后的车票信息保存到文件traininfo.txt中void writefile(TRAIN *pticket){FILE *fp;int i;if((fp=fopen("d:\\traininfo.txt","w"))==NULL){printf("文件traininfo.txt打开错误.\n");exit(0);}for(i=0;i<5;i++)fprintf(fp,"%-8s%-10s%-10s%-12.1f%-12d%-12s%-12s\n",(pticket+i)->trainnum,pticket->soursta,(pticket+i)->deststa,(pticket+i)->price,(pticket+i)->number,(pticket+i)->deptime,(pticket+i)->arrtime);fclose(fp);}

3、主函数

void main(){TRAIN train[5];int flag;struct buyticket ticket;menu(&flag,train,&ticket);}

六、源代码

关注+评论获取,我会发送到你的邮箱,或者私信我!

编写的程序效果如下所示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。