数据结构课程设计说明书.docx
《数据结构课程设计说明书.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计说明书.docx(13页珍藏版)》请在冰点文库上搜索。
数据结构课程设计说明书
课程设计说明书
课程名称:
数据结构
设计题目:
订票系统
院系:
计算机科学与信息工程学院
学生姓名:
李银威
学号:
2000903010005
专业班级:
计算机科学与技术嵌入班
指导教师:
孙高飞
2011年06月15日
课程设计任务书
设计题目
订票系统
学生姓名
李银威
所在院系
计算机科学与技术信息工程学院
专业、年级、班
计算机科学与技术09嵌入班
设计要求:
系统需要实现如下功能:
(1)录入:
可以录入航班情况
(2)查询:
可以查询某个航线的情况,可以输入起飞抵达城市,查询飞机航班情况;
(3)订票:
可以订票,记录订票信息。
订单要有编号;客户资料有姓名,证件号。
如果该航班已经无票,可以提供相关可选择航班。
(4)退票:
可退票,退票后修改相关数据文件;根据订单号和客户信息,订票数量及航班情况。
(5)修改航班信息:
当航班信息改变可以修改航班数据文件
学生应完成的工作:
根据设计要求制定设计思路,划分功能模块。
然后根据设计思路,有本组的成员各自具体实现属于功能模块,编写代码再进行编译、调试、运行,通过运行来修改自己的代码以达到预期目的。
最后把各成员的代码进行组合,通过对代码的编译、调试、运行,进而修改部分代码来完成代码的整体组合。
该组成员共同进行商讨来进一步的完善代码,排除程序中出现不是预期的结果。
该小组成员根据要求,写一份课程设计说明书。
参考文献阅读:
[1]严蔚敏,吴伟民.数据结构(C语言版),2010,10.
[2]谭浩强.C程序设计教程清华大学出版社2008
工作计划:
1.小组审题,查阅资料,进行设计前的必要资料准备(2天)。
2.把程序完整运行出来(3天)。
3.增加改进程序(2天)。
4.写课程设计报告(2天)。
5.提交课程设计报告及答辩(1天)
任务下达日期:
年月日
任务完成日期:
年月日
指导教师(签名):
学生(签名):
订票系统程序设计
摘要:
通过本学期数据结构对栈和排序知识的学习和掌握,利用栈和c语言的相关知识,通过结构体来存储一张飞机票的相关信息和订票后的订票相关信息,并用fprintf函数来是实现航班信息的文件存储。
如果要修改文件的航班信息,用fopen函数打开文件然后进行相关的操作。
关键词:
结构体,航班信息,订票系统,订票,退票。
目录
1.设计背景………………………………………………………5
1.1课程设计背景…………………………………………………5
1.2选择本课程设计题目的背景…………………………………5.
2.设计方案………………………………………………………6
2.1设计思路………………………………………………………6
2.2模块流程图……………………………………………………6
3.实施方案………………………………………………………7
3.1实现模块的代码………………………………………………7
3.2模块实现的整体效果…………………………………………9
4.结果与结论……………………………………………………10
4.1模块的设计测试结果…………………………………………10
4.2课程设计结论…………………………………………………11
5.收获和致谢……………………………………………………12
6.参考文献………………………………………………………13
7.附件……………………………………………………………14
1.设计背景
1.1课程设计背景
虽然经过了一学期以来对数据结构的学习,但总觉学无之用,不能把数据结构知识得到充分运用,只有通过实践才能明白数据结构的博大精深,才能更好的理解各种数据存储结构,才能更好的学习设计算法的种种思路,只有拥有以上技能才能更好的结合实践把数据结构运用到生活中。
于是在学期末进行一次较综合的程序课程设计,由老师给出众多课题,同学间相互组合,共同完成一个课题,给同学展示自己的平台。
1.2选择本课程设计题目的背景。
结合本组成员掌握数据结构知识的侧重点的不同,基于使组成成员都有展示自我的机会的目的,在经过组成员的相互协商,最终一致同意选择订票系统为这次课程设计题目。
我们确信能够出色的完成该题目,并充分发挥组内成员的团体协作能力和挖掘组成员潜力。
2.设计方案
2.1设计思路。
根据课程设计的设计要求,将本设计划分为五个功能模块:
1.录入航班信息;2.查询航班信息;3.订票;4.退票;5.修改航班信息。
每个模块有本组的各个成员进行编码实现。
根据本组的分配我主要负责结构体的构建,以及退票功能模块的实现。
根据航班所报告的信息制定结构体以及成员变量。
其中用message结构体来存储航班的基本信息,用msg结构体来做订票时的中间量,用ding结构体来存储订票的航班信息。
退票时先打开存储订票信息的文件,然后输入订票编号和身份证号码进行信息的配对,如果配对成功删除该订票的信息,在运用c语言的相关信息将剩余的订票信息重新写入文件。
2.2模块流程图
1.退票。
YN
YN
3.方案实施
3.1实现模块的代码。
1.各个相关结构体的构建。
structding
{
charname[20];
charnum[10];
charup[20];
longcount;
charcity[10];
charnum1[40];
}num3[10];
structmessage
{
charnum[10];
charup[10];
chardown[10];
charcity[10];
floatcharge;
charZK[10];
intthing;
}num[10];
structmsg
{
charnum[10];
charup[10];
chardown[10];
charcity[10];
floatcharge;
charZK[10];
intthing;
}num2[10];
2.退票功能模块的代码实现。
voidTding(structding*p)
{
intcount;
intflage=0;
inti=0;
charstr1[40];
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%s\n",&p[i].name,&p[i].num,&p[i].up,&p[i].count,&p[i].city,&p[i].num1);
i++;
}
if(i>0)
{
char*str[6]={"订票编号\t","客户姓名\t","航班号\t","航班抵达城市\t","航班起飞时间\t"};
printf("\n%s%s%s%s%s\n",str[0],str[1],str[2],str[3],str[4]);
for(intm=0;m
{
printf("%ld\t\t%s\t%s\t\t%s\t\t%s\t\n",p[m].count,p[m].name,p[m].num,p[m].city,p[m].up);
}
fflush(fp);
fclose(fp);
printf("\n");
printf("订票编号:
");
scanf("%d",&count);
printf("身份证号码:
\n");
scanf("%s",str1);
p=num3;
for(intj=0;j
{
if(count==p[j].count&&strcmp(str1,p[j].num1)==0)
{
flage=1;
a=--p[j].count;
for(intn=j;n
{
num3[n].count=num3[n+1].count;
strcpy(num3[n].name,num3[n+1].name);
strcpy(num3[n].num1,num3[n+1].num1);
strcpy(num3[n].num,num3[n+1].num);
strcpy(num3[n].city,num3[n+1].city);
strcpy(num3[n].up,num3[n+1].up);
}
if((fp1=fopen("Smessage.txt","w"))==NULL)
{
printf("文件打开失败!
\n");
return;
}
for(intk=0;k{
fprintf(fp1,"%s%s%s%ld%s%s\n",num3[k].name,num3[k].num,num3[k].up,num3[k].count,num3[k].city,num3[k].num1);
}
fflush(fp);
fclose(fp1);
}
}
if(flage)
printf("退票成功!
\n");
else
printf("退票失败,请重新执行!
\n");
}
else
printf("暂无订票信息!
\n");
}
3.2.模块实现的整体效果。
4.结果与结论
4.1模块的设计测试结果。
1.模块的整体效果。
2.输入订票编号和身份证号码。
如果输入错误。
输入正确的情况。
3.如果没有订票信息。
4.2课程设计结论
经过模块功能的测试基本达到了预期目的,实现了退票的功能。
完成组分配的任务,不辱使命。
5.收获与致谢
通过本次课程设计,我对数据结构知识掌握的更加熟练了,尤其是有关文件存储方面的知识和链表存储相关的知识。
这次课程设计也是对数据结构知识的一次运用,能是我们对数据结构知识的作用有了充分的了解,将会进一步鼓舞我们学习数据结构的兴趣。
在掌握知识的同时,我们还增强了团队间的协作能力。
通过此次课程设计,我们知道团体力量的巨大和团体知识的凝聚力。
至此我们应感谢老师给我们这样一次难得机会,不仅增加了我们的专业方面的知识而且增强了我们的社会能力。
我们会认真完成此次课程设计,完成课程设计的各项要求,进而达到预期的目的。
6.参考文献
[1]严蔚敏,吴伟民.数据结构(C语言版),2010.10.
[2]谭浩强.C程序设计教程清华大学出版社2008
7.附件
[1]代码.cpp
指导教师评语:
1、课程设计报告:
a、内容:
不完整□完整□详细□
b、方案设计:
较差□合理□非常合理□
c、实现:
未实现□部分实现□全部实现□
d、文档格式:
不规范□基本规范□规范□
2、出勤:
全勤□缺勤次
3、答辩:
a、未能完全理解题目,答辩情况较差□
b、部分理解题目,部分问题回答正确□
c、理解题目较清楚,问题回答基本正确□
d、理解题目透彻,问题回答流利□
课程设计报告成绩:
,占总成绩比例:
50%
课程设计其它环节成绩:
环节名称:
出勤,成绩:
,占总成绩比例:
20%
环节名称:
答辩,成绩:
,占总成绩比例:
30%
总成绩:
指导教师签字:
年月日