分享
2023年火车票管理系统.doc
下载文档

ID:1283530

大小:27KB

页数:9页

格式:DOC

时间:2023-04-19

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 火车票 管理 系统
火车票管理系统 火车票管理系统 一、 课题内容和要求 改系统要求实现一个简单、实用的火车票管理程序,主要功能包括火车票数据的录入、查找、删除、显示、售票、退票等。所有火车票数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些根本算法思想的应用。 二、 需求分析 功能框架图:〔见图2-1〕 火车票管理系统 录入 查找 删除 排序 售票 退票 保存 图2-1。 1. 新增火车票数据记录:预先建立一个txt文档,存入数据,然后在程序中读取文档。 2. 查找火车票数据〔可按车次,发车时间、起点站、终点站等查找〕。 3. 删除火车票数据记录〔先查找,再删除。假设查找出多条记录,那么进一步提示用户选择记录的车次,再删除〕。 4. 对火车票排序〔可按车次、发车时间、起点站、终点站等排序。〕。 5. 显示当前所有火车票信息列表。 6. 售票〔先查找,当确定车次后,根据售票张数对该车次的已售票人数进行修改〕。 7. 退票〔售票的逆处理,过程与售票类似〕。 8. 保存火车票数据到文件中。 9. 从文件中读入火车票数据。 三、概要设计 1〕主要结构体:struct time { int hour; int minutes; }; struct ticket { char SerialNumber[10]; struct time SetOut; char DeparturePoint[MAX]; char TerminalPoint[MAX]; float LastTime; int FixNumber; int FixedNumber; }train[N]; 2〕主要函数流程图: l 载入函数:用于从文本中载入信息。〔见图3-1〕翻开文本 能否翻开 读入数据 是否结束 结束 否 否 开始 开始 否 是 是 读入车次 是否符合 输出信息 结束 是 图3-2 图3-1 l 查找函数:利用输入的车次或站点进行顺序查找并将找到的信息输出。〔见图3-2〕l 删除函数:先查找出要删除的信息再删除。〔见图3-3〕否 否 是 无法订票 人数加一 是否超载 否 图3-4 结束 开始 读入车次 是否误点 否 图3-3 是 是 否 是否符合 读入车次 开始 记录下标i i=i+1,i++ i #include #include #include #include #include const int MAX=20; const int N=50; const int MAXFILENAME=100; enum {FALSE,TRUE}; struct time { int hour; int minutes; }; struct ticket { char SerialNumber[10]; struct time SetOut; char DeparturePoint[MAX]; char TerminalPoint[MAX]; float LastTime; int FixNumber; int FixedNumber; }train[N]; int RecordNumber; int FLAG=FALSE; /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ int ShowMessage(void); //载入原始数据 void mainmenu(void); //主菜单 void InsertMessage(void); //录入班次信息 void SearchMenu(void); //查询路线子菜单 void SearchByNumber(void); //按班次号查询 void SearchByAddress(void); //按终点站查询 void cancle(void);//删除数据 void selection(ticket xpa,int n);//排序 void TicketManagement(void); //车票售出与退回 void TicketOrder(void); //售票 void TicketDelete(void); //退票 void exit(void); //退出该系统 void SaveRecord(ticket x); //储存信息到文件中 /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ int main(void) { do{ mainmenu(); }while(FLAG==FALSE); return 0; } void mainmenu(void) { system(“mode con: cols=140 lines=130“); char functionNumber; printf(“ 火车票管理系统\n\n“); printf(“============================================================================\n“); printf(“ 1.录入班次信息\t\n“); printf(“ 2.显示所有车票信息列表\t\n“); printf(“ 3.查询火车票数据\t\n“); printf(“ 4.删除火车票数据记录\t\n“); printf(“ 5.按行车时间排序\t\n“); printf(“ 6.售票与退票系统\t\n“); printf(“ 7.退出该系统\t\n“); printf(“============================================================================\n“); printf(“请选择你所需要的功能:“); scanf(“%c“,&functionNumber); switch(functionNumber) { case '1': { InsertMessage(); printf(“\n按任意键回主菜单......\n“); getchar(); getchar(); } break; case '2': { RecordNumber=ShowMessage(); printf(“\n按任意键回主菜单......\n“); getchar(); getchar(); } break; case '3': { SearchMenu(); printf(“\n按任意键回主菜单......\n“); getchar(); getchar(); } break; case '4': { cancle(); printf(“\n按任意键回主菜单......\n“); getchar(); getchar(); } break; case '5': { selection(train,RecordNumber); printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); int i; for(i=0;i=1) { train[i].FixedNumber-=j; printf(“退订车票成功,谢谢使用!\n“); printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } else printf(“对不起,今天的这趟车的票尚未卖出,无法完成退票!\n“); } } } void exit(void) { printf(“\n\nxxxxxxxxxxxxxxxxxxxxx谢谢使用本系统,欢送下次继续使用xxxxxxxxxxxxxxxxxxxxxxx\n“); exit(0); } void SaveRecord(ticket x) { FILE xfp; if((fp=fopen(“add.txt“,“a“))==NULL) { printf(“翻开文件%s失败\n“,“add.txt“); exit(-1); } fprintf(fp,“\n%s\t%d\t%d\t\t“,x.SerialNumber,x.SetOut.hour,x.SetOut.minutes); fprintf(fp,“%s\t%s\t\t%.1f\t %d\t\t%d“,x.DeparturePoint,x.TerminalPoint,x.LastTime,x.FixNumber,x.FixedNumber); } 五、测试数据及其结果分析 显示的主菜单界面: 火车票管理系统 ============================================================================ 1.录入班次信息 2.显示所有车票信息列表 3.查询火车票数据 4.删除火车票数据记录 5.按行车时间排序 6.售票与退票系统 7.退出该系统 ============================================================================ 请选择你所需要的功能: 1〕录入班次信息 输入:1 输出:请输入文件名或者文件路径名: 输入:D:\\1.txt 输出:班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 200 k1234 10:20 上海 苏州 2.0 200 50 t2222 12:40 长沙 上海 9.0 250 100 k2323 13:50 扬州 南京 1.5 200 70 k1122 9:20 广州 南京 20.0 300 170 按任意键回主菜单...... 2〕显示所有车票信息列表 输入:2 输出:班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 200 k1234 10:

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开