火车票订票系统.docx
《火车票订票系统.docx》由会员分享,可在线阅读,更多相关《火车票订票系统.docx(15页珍藏版)》请在三一办公上搜索。
1、火车票订票系统火车订票系统 一.课题内容与要求 火车时刻表的数据项及存储结构自行设定。所设计的系统要有简单的DOS界面,方便用户进行操作,完成以下功能: 从文本文件中输入数据,构建火车时刻表。 对火车时刻表进行插入、删除、修改等功能 订票。订票情况保存在一个文件中。如果已经无票,可以提供相关可选择火车信息。 退票。退票后修改和保存相关文件。 退出系统。退出系统时保存航班情况表,订票情况表。 二需求分析 1) 提供可操作的主菜单:输出个菜单,用于显示以从文件中加载的列车信息和若干个可选的功能选项。根据车次输入的选项来运行不同的功能,运行不同的函数。 2) 进行文本信息的载入:从指定的文件中以数组
2、形式加载列车信息. 调用save函数保持输入数据。 3) 查找车次功能:以乘客输入的车次号进行查找对应的车次信息或者通过对应的终点站查找列车信息并将它们输出。通过数组与for循环得以实现。 4) 5) 删除一个车次的功能:将乘客希望删除的某个车次信息删除。 添加一个新的车次:将车次添加到指定的车次之后。应提示乘客按照正确的格式输入。 6) 进行车次信息的修改:根据车次提供的名称,找到对应的数组,将数组中的信息重置。内容应有车次输入,由一系列读写函数实现。 7) 8) 退票系统。 对现有信息的保存:保存内存中的最新的记录输出到磁盘文件中。这里默认的是保存到原读取文件中并覆盖原来的信息。 三、概要
3、设计 1)主要结构体 struct train int num; char start30;/始发站 char over30;/终点站 char time20;/时间 int count;/票数 sN; 主程序 input print search Delete bookmodify 重新选择终点 查 询 订 票 退 票 订票名单查询 菜单 修改信息 输入输入订票信息 输入退票信息 查询结果 选择修改方式 车次错误 订票结果 输入客户信息 退票结果 按车次 按终点四,详细设计 #include /标准输入、输出头文件 #include /包含字符串函数处理头文件 #include /定义输出格
4、式 /包含动态存储与释放函数头文件 #define PRINT %-d%10s%10s%10s%10dn ,si.num,si.start,si.over,si.time,si.count #define N 10000 int i; int m=0; void input; void print; void search; void Delete; void Booking; void Modify; void Return; void save; void read; struct train /定义结构体数组 int num; char start30; char over30; cha
5、r time20; int count; sN; void save/保存模块程序 FILE *fp;/定义文件指针 if(fp=fopen(D:C+火车票系统数据保存.txt,w)=NULL)/打开文件并判断是否出错 printf(file open failure! );/打印出错提示 else fprintf( fp,number start terminal time count n); fprintf( fp,*n ); for(i=0;im;i+) fprintf(fp,%-d%12s%12s%10s%12dn ,si.num,si.start,si.over,si.time,si
6、.count); fclose(fp);/关闭文件 void read/从文件读取信息模块 FILE *fp;/定义文件指针 if(fp=fopen(D:/C+/火车票系统数据保存.txt,r)=NULL)/打开文件,并判断是否出错 printf(set up file failure! );/打印出错提示 else for(i=0;im;i+) fscanf(fp,%-d%12s%12s%10s%12dn ,&si.num,si.start,si.over,si.time,&si.count ); printf(PRINT); fclose(fp);/关闭文件 void main int a
7、; do printf( Train ticket booking management system n); printf(*n); printf( 1.input information n 2.scan information n 3.search information n 4.delete information n 5.ticket-booking n 6.modify n 7.return n 8.out n); printf(*n ); scanf(%d,&a); switch(a) case 1: input;/调用输入模块 break; case 2:print;/调用打印
8、模块 break; case 3:search;/调用查询模块 break; case 4:Delete;/调用删除模块 break; case 5:Booking;/调用订票模块 break; case 6:Modify;/调用修改模块 break; case 7:Return;/调用退票模块 break; case 8:break; while(a=!0); void input int x; printf(Please enter a train information: ); printf(* n); for(i=0;iN;i+) printf(Please input the tra
9、in: ); scanf(%d,&si.num); /读取车次 printf(please input the start: ); scanf(%s,si.start);/读取起始站 printf(please input the terminal: ); scanf(%s,si.over);/读取终点站 printf(please input the time: ); scanf(%s,si.time);/读取时间 printf(please input the count: ,m); scanf(%d,&si.count);/读取车票数 m+; printf(%d information
10、has inputed?press any button continue,enter 1 over,m); scanf(%d,&x);/在此需输入任意一个整数值数值,程序才能继续执行 if(x=1) break; save;/保持输入数据 void print/打印模块 char o10; printf(number start over time count n); read;/调用读取文件函数 printf(please press any button to back : n); scanf(%s,o); void search/查询模块 char size120; char size
11、220; char I10; int n,no; do printf(Please select search mode: ); printf(1.by number 2.by terminal 0.back ); printf(please select 0-2: According to other key to end the enter key to return to the main menu:n ); scanf(%d,&n); if(n=0) break; switch(n) case 1: printf(please input number: ); scanf(%d,&no
12、); break; case 2: printf(please input terminal: ); scanf(%s,size2); break; printf(number start over time count n); read;/调用读取函数 for(i=0;im;i+) if(strcmp(si.over,size2)=0) printf(number start over time count n); printf(PRINT);/打印信息 break; if(si.num=no) printf( find number success!n ); printf(number s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车票 订票 系统

链接地址:https://www.31ppt.com/p-3118361.html