东华大学 数据结构课程设计

上传人:第*** 文档编号:57490857 上传时间:2018-10-22 格式:DOC 页数:27 大小:570KB
返回 下载 相关 举报
东华大学 数据结构课程设计_第1页
第1页 / 共27页
东华大学 数据结构课程设计_第2页
第2页 / 共27页
东华大学 数据结构课程设计_第3页
第3页 / 共27页
东华大学 数据结构课程设计_第4页
第4页 / 共27页
东华大学 数据结构课程设计_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《东华大学 数据结构课程设计》由会员分享,可在线阅读,更多相关《东华大学 数据结构课程设计(27页珍藏版)》请在金锄头文库上搜索。

1、目录设计题目一 航空订票系统任务2功能要求2需求分析2概要设计3详细设计5调试分析13用户手册14测试结果14设计题目二 哈希表查找的设计任务19功能要求19需求分析19概要设计19详细设计20调试分析24用户手册25测试结果25设计题目一设计题目一 航空订票系统航空订票系统任务任务航空客运定票的业务活动包括:查询航线、客票预定和办理退票等。试设 计一个航空客运定票系统,以使上述业务可以借助计算机来完成。功能要求功能要求1) 录入:可以录入航班情况 2) 查询:可以查询某个航线的情况(如输入航班号,查询起降时间,起飞抵达 城市,航班票价,票价折扣,确定航班是否满仓) ;可以输入起飞抵达城市,查

2、 询飞机航班情况; 3) 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如 果 该航班已经无票,可以提供相关可选择航班; 4) 退票: 可退票,退票后修改相关数据文件; 5) 客户资料:有姓名,证件号,订票数量及航班情况,订单要有编号; 6) 修改航班信息:当航班信息改变可以修改航班数据文件。需求分析需求分析宏观需求分析宏观需求分析1)采用现有的软硬件环境及先进的管理系统方案,从而达到充分利用现有资源, 提高系统应用效果的目的。 2)尽量达到系统操作过程中的直观、方便、实用、安全等要求。 3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于 未参与开发的技术

3、维护人员补充、维护。 4)系统应具备维护功能,及时根据用户需求进行数据的添加、删除、修改等操 作。具体需求分析具体需求分析菜单是应用程序中非常重要的组成部分,通过菜单,应用程序可以实现不 同的功能,通过本系统的设计,可以实现应用程序的菜单。 1)录入航线信息 编写 void input()函数来输入全部航线信息。其中调用了 int check(char s)函数,该函数的功能是检查信息是否重复;以及 void save()从而存储全 部航线信息。 2)按航班号查询航班信息 编写 void search_num()函数来实现查询航班信息的宫呢个。这个函数中需要输入要查询的航班号,通过 void

4、search_num()函数来寻找这个航线然后 输出该航线的全部信息。 3)按航线查询航班信息 编写 void search_line()函数来实现查询航线的功能。用户输入出发城市 以及抵达城市名后,该函数会在航线信息链表中进行查询。如果有该城市,则 会输出此航线的信息。 4)办理订票业务 编写 void booking()函数来实现订票功能。首先提示用户输入个人及航班 号,然后查找此航班,如果该航班存在,则会提示用户输入订单信息,在订票 乘员名单域中添加客户信息。 5)办理退票业务 编写 void cancel()函数来实现退票功能。首先提示用户输入订单编号, 然后查找此订单,如果该订单存在

5、,则提示退票成功并将乘员信息中的该乘员 信息删除,修改航班的剩余票数信息。 6)查询客户资料 编写 void search_customer()函数来实现客户资料查询功能,输出订单编 号、客户姓名、证件号、订票量以及航班号。 7)修改航班信息编写 void edit()来实现修改航班信息的功能。在检查输入航班号与原航 班号不重复之后输入航班号的全部信息并保存。 8)退出系统用户在菜单页面下输入 8 回车即 exit(0),即可退出系统。概要设计概要设计typedef struct Flight/航班信息 char FlightNumber20;/航班号char SPlace20;/出发城市 c

6、har DPlace20;/到达城市 char SEtime20;/起飞-降落时间int price;/价格 int discount;/折扣率(%) int total;/总票数 int left;/剩余票数 Flight;typedef struct Order/订单信息 int OrderNumber;/订单编号char PName10;/客户姓名char ID20;/证件号char FlightNumber20;/航班号int num;/订票数量 Order;void duqu()/读取文件信息 char menu()/菜单 void save()/录入信息 void input()

7、/输入航班信息 int check(char s)/检查是否重复 void search_num()/航班信息查询(按航班号) void search_line() /航班信息查询(按路线) void booking()/订票 void cancel()/退票 void search_customer()/客户资料查询 void edit()/修改航班信息int main()库函数:#include #include #include #include #include程序调用关系:save()save()check()main()search_num()duqu()menu()input()

8、search_line()booking()search_customer()edit()cancel()save()详细设计详细设计#include #include #include #include #include #define N 100/最大容量 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0typedef struct Flight/航班信息 char FlightNumber20;/航班号char SPlace20;/出发城市 char DPlace20;/到达城市 char SEtime20;/起飞-降

9、落时间int price;/价格 int discount;/折扣率(%) int total;/总票数 int left;/剩余票数 Flight;typedef struct Order/订单信息 int OrderNumber;/订单编号char PName10;/客户姓名char ID20;/证件号char FlightNumber20;/航班号int num;/订票数量 Order;int i,j; int air_num=0;/航班数 int order_num=0;/订单数 char t;/获取客户选择的变量 char filenamef=“flight.txt“;/航班文件名

10、char filenameo=“order.txt“;/订单文件名 Flight flN;Order odN;int check(char s);void duqu()/读取文件信息 FILE *fp;if(fp=fopen(filenamef,“r“)!=NULL)/打开文件 读取航班信息 i=0;while(!feof(fp)/读取文件fscanf(fp,“%s%s%s%s%d%d%d%d“,/fscanf 用于从文 件读入数据 if(!feof(fp)/feof(fp)返回 0 才可进行对文件的操作i+;air_num=i;/航班数量 fclose(fp);/关闭文件 if(fp=fop

11、en(filenameo,“r“)!=NULL)/打开文件 读取订单信息 i=0;while(!feof(fp)/读取文件fscanf(fp,“%d%s%s%s%d“,if(!feof(fp)i+;order_num=i;/订单数量 fclose(fp);/关闭文件 void save()/录入信息 FILE *fp;/定义标准数据结构,用于文件 if(fp=fopen(filenamef,“w“)!=NULL)/打开文件 保存航班信息(fopen 标准 函数,打开磁盘文件 flight.txt, 用于读,送返指针,指向 FILE 类型对象) for(i=0;i1 录入航班情况 *n“); p

12、rintf(“ * =2 航班信息查看 (航班号查询) *n“);printf(“ * =3 航班信息查看 (站站查询) *n“);printf(“ * =4 订票 *n“);printf(“ * =5 退票 *n“);printf(“ * =6 客户资料 *n“); printf(“ * =7 航班信息修改 *n“);printf(“ * =8 退出 *n“);printf(“请选择功能:n“);c=getchar(); getchar();/消除缓存中的换行符 return c; int main() duqu();/读取文件信息while(1)t=menu();/获取选择switch(t

13、)case 1: input(); break;/航班信息录入 case 2: search_num(); break;/航班信息查询(按航班号) case 3: search_line(); break;/航班信息查询(按路线) case 4: booking(); break;/ 订票 case 5: cancel(); break;/ 退票 case 6: search_customer(); break;/ 客户资料case 7: edit(); break;/航班信息修改case 8: exit(0);/退出 调试分析调试分析1)考虑将数据保存在文件中,这样可以防止数据全部存储在内存中造成的丢失 现象,以及实现数据的及时存储功能。2)程序对不符合要求的输入没有错误提示(比如定票数必须为正整数,订票数 要小于等于剩余票数)。解决办法:在原有代码的基础上加上对输入值的必要 判定和错误提示。用户手册用户手册(1)演示程序的运行环境为 Windows Vista 系统,Microsoft Visual Studio 6.0 中的 Microsoft Visual C+ 6.0 中运行。执行文件为:book

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号