1、数据结构课程设计说明书课 程 设 计 说 明 书课程名称: 数据结构 设计题目: 订票系统 院 系: 计算机科学与信息工程学院学生姓名: 李银威 学 号: 2000903010005 专业班级: 计算机科学与技术 嵌入班 指导教师: 孙高飞 2011年 06月15 日课 程 设 计 任 务 书设计题目订票系统学生姓名李银威所在院系计算机科学与技术信息工程学院专业、年级、班计算机科学与技术 09 嵌入班设计要求:系统需要实现如下功能:(1)录入:可以录入航班情况(2)查询:可以查询某个航线的情况,可以输入起飞抵达城市,查询飞机航班情况;(3)订票: 可以订票,记录订票信息。订单要有编号;客户资料
2、有姓名,证件号。如果该航班已经无票,可以提供相关可选择航班。(4)退票: 可退票,退票后修改相关数据文件;根据订单号和客户信息,订票数量及航班情况。(5)修改航班信息:当航班信息改变可以修改航班数据文件学生应完成的工作:根据设计要求制定设计思路,划分功能模块。然后根据设计思路,有本组的成员各自具体实现属于功能模块,编写代码再进行编译、调试、运行,通过运行来修改自己的代码以达到预期目的。最后把各成员的代码进行组合,通过对代码的编译、调试、运行,进而修改部分代码来完成代码的整体组合。该组成员共同进行商讨来进一步的完善代码,排除程序中出现不是预期的结果。该小组成员根据要求,写一份课程设计说明书。参考
3、文献阅读: 1 严蔚敏,吴伟民.数据结构(C语言版),2010,10. 2 谭浩强.C程序设计教程 清华大学出版社2008工作计划:1. 小组审题,查阅资料,进行设计前的必要资料准备(2天)。 2. 把程序完整运行出来(3天)。 3. 增加改进程序(2天)。 4. 写课程设计报告(2天)。 5. 提交课程设计报告及答辩(1天)任务下达日期: 年 月 日 任务完成日期: 年 月 日指导教师(签名): 学生(签名): 订票系统程序设计摘 要: 通过本学期数据结构对栈和排序知识的学习和掌握,利用栈和c语言的相关知识,通过结构体来存储一张飞机票的相关信息和订票后的订票相关信息,并用fprintf函数来
4、是实现航班信息的文件存储。如果要修改文件的航班信息,用fopen函数打开文件然后进行相关的操作。关键词: 结构体,航班信息,订票系统,订票,退票。目 录1. 设计背景51.1 课程设计背景51.2 选择本课程设计题目的背景5.2. 设计方案62.1 设计思路62.2 模块流程图63. 实施方案73.1 实现模块的代码73.2 模块实现的整体效果94. 结果与结论104.1 模块的设计测试结果104.2 课程设计结论115. 收获和致谢126. 参考文献137. 附件141. 设计背景1.1课程设计背景虽然经过了一学期以来对数据结构的学习,但总觉学无之用,不能把数据结构知识得到充分运用,只有通过
5、实践才能明白数据结构的博大精深,才能更好的理解各种数据存储结构,才能更好的学习设计算法的种种思路,只有拥有以上技能才能更好的结合实践把数据结构运用到生活中。于是在学期末进行一次较综合的程序课程设计,由老师给出众多课题,同学间相互组合,共同完成一个课题,给同学展示自己的平台。1.2选择本课程设计题目的背景。结合本组成员掌握数据结构知识的侧重点的不同,基于使组成成员都有展示自我的机会的目的,在经过组成员的相互协商,最终一致同意选择订票系统为这次课程设计题目。我们确信能够出色的完成该题目,并充分发挥组内成员的团体协作能力和挖掘组成员潜力。2.设计方案2.1 设计思路。根据课程设计的设计要求,将本设计
6、划分为五个功能模块:1. 录入航班信息;2.查询航班信息;3.订票;4.退票;5.修改航班信息。每个模块有本组的各个成员进行编码实现。根据本组的分配我主要负责结构体的构建,以及退票功能模块的实现。根据航班所报告的信息制定结构体以及成员变量。其中用message结构体来存储航班的基本信息,用msg结构体来做订票时的中间量,用ding结构体来存储订票的航班信息。退票时先打开存储订票信息的文件,然后输入订票编号和身份证号码进行信息的配对,如果配对成功删除该订票的信息,在运用c语言的相关信息将剩余的订票信息重新写入文件。2.2模块流程图1.退票。 Y N Y N3. 方案实施3.1实现模块的代码。1.
7、各个相关结构体的构建。struct ding char name20; char num10; char up20; long count; char city10; char num140;num310;struct message char num10; char up10; char down10; char city10; float charge; char ZK10; int thing;num10;struct msg char num10; char up10; char down10; char city10; float charge; char ZK10; int thi
8、ng;num210;2.退票功能模块的代码实现。void Tding(struct ding *p) int count; int flage=0; int i=0; char str140; FILE *fp,*fp1; p=num3; if(fp=fopen(Smessage.txt,r)=NULL) printf(文件打开失败!n); return ; while(!feof(fp) fscanf(fp,%s %s %s %ld %s %sn,&pi.name,&pi.num,&pi.up,&pi.count,&pi.city,&pi.num1); i+; if(i0) char *st
9、r6=订票编号t,客户姓名t,航班号t,航班抵达城市t,航班起飞时间t; printf(n%s %s %s %s %sn,str0,str1,str2,str3,str4); for(int m=0;mi;m+) printf(%ldtt %st %stt%stt%stn,pm.count,pm.name,pm.num,pm.city,pm.up); fflush(fp); fclose(fp); printf(n); printf(订票编号:); scanf(%d,&count); printf(身份证号码:n); scanf(%s,str1); p=num3; for(int j=0;ji
10、;j+) if(count=pj.count&strcmp(str1,pj.num1)=0) flage=1; a=-pj.count; for(int n=j;ni;n+) num3n.count=num3n+1.count; strcpy(num3n.name,num3n+1.name); strcpy(num3n.num1,num3n+1.num1); strcpy(num3n.num,num3n+1.num); strcpy(num3n.city,num3n+1.city); strcpy(num3n.up,num3n+1.up); if(fp1=fopen(Smessage.txt,
11、w)=NULL) printf(文件打开失败!n); return ; for(int k=0;ki-1;k+) fprintf(fp1,%s %s %s %ld %s %sn,num3k.name,num3k.num,num3k.up,num3k.count,num3k.city,num3k.num1); fflush(fp); fclose(fp1); if(flage) printf(退票成功!n); else printf(退票失败,请重新执行!n); else printf(暂无订票信息!n);3.2.模块实现的整体效果。4. 结果与结论4.1模块的设计测试结果。1.模块的整体效果。
12、2.输入订票编号和身份证号码。如果输入错误。输入正确的情况。3如果没有订票信息。4.2课程设计结论经过模块功能的测试基本达到了预期目的,实现了退票的功能。完成组分配的任务,不辱使命。5. 收获与致谢通过本次课程设计,我对数据结构知识掌握的更加熟练了,尤其是有关文件存储方面的知识和链表存储相关的知识。这次课程设计也是对数据结构知识的一次运用,能是我们对数据结构知识的作用有了充分的了解,将会进一步鼓舞我们学习数据结构的兴趣。在掌握知识的同时,我们还增强了团队间的协作能力。通过此次课程设计,我们知道团体力量的巨大和团体知识的凝聚力。至此我们应感谢老师给我们这样一次难得机会,不仅增加了我们的专业方面的
13、知识而且增强了我们的社会能力。我们会认真完成此次课程设计,完成课程设计的各项要求,进而达到预期的目的。6. 参考文献1 严蔚敏,吴伟民.数据结构(C语言版),2010.10.2 谭浩强.C程序设计教程 清华大学出版社20087. 附件1 代码.cpp指导教师评语:1、课程设计报告:a、内容: 不完整 完整 详细 b、方案设计: 较差 合理 非常合理c、实现: 未实现 部分实现 全部实现 d、文档格式: 不规范 基本规范 规范 2、出勤: 全勤 缺勤 次3、答辩: a、未能完全理解题目,答辩情况较差 b、部分理解题目,部分问题回答正确 c、理解题目较清楚,问题回答基本正确 d、理解题目透彻,问题回答流利 课程设计报告成绩: ,占总成绩比例: 50% 课程设计其它环节成绩:环节名称: 出勤 ,成绩: ,占总成绩比例: 20% 环节名称: 答辩 ,成绩: ,占总成绩比例: 30% 总 成 绩: 指导教师签字:年 月 日
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2