沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx
- 文档编号:19028745
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:16
- 大小:172.17KB
沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx
《沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
A113:
008000
A216:
L120:
005000
请你开发一个小程序,以完成每天的“沈阳→大连”的售票业务。
要求如下:
①能够售票和退票。
②某个车次已经过了开车时间,则该班次今天不再售票。
③可以随时显示售票现状,并以文件(myfile.txt)的形式保存当天各个车次的售票情况。
三、课程设计要求
程序质量:
✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“保存当天数据”、“退出”等项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是存储函数(save)、卖票函数、退票函数、定售总金额、退出。
1.增强了程序的实用性,使系统用户界面友好、功能明确、操作方便,应采取直接用printf函数的方式在界面上输出可供用户选择的菜单。
据此应该能够很好的完成要求
2.售票系统要求存储当天各个车次售票情况,所以程序需要定义结构体变量存储售票情况。
系统的整体功能通过记录当天各个车次了解售票情况。
编程时采取模块化设计思想,设计主函数,通过主函数中的switch分支选择调用各子函数以实现该系统的各种功能。
然后设计相应的子函数来执行系统的各种功能,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
二、程序流程图
1程序总体结构图
输入k
k=1?
真假
查询当前
售票情况
k=2?
售票
k=3?
退票
k=4?
保存当前车次售票情况
k=0?
退出
图1程序总体结构图
2函数功能图
(1)退票函数tuipiao
图2.退票函数结构图
(2)卖票函数sell
图3.售票函数结构图
三、主要界面截图
图4.主界面截图
图5.查询界面截图
图6.售票界面截图
图7.退票界面截图
图8.保存界面截图
图9.退出界面截图
四、关键技术分析
核心技术的实现方法和程序段:
本函数由六个自定义函数和一个主函数组成,其中主函数以菜单形式调用其他函数来实现要求的所有功能。
主函数分别调用保存函数(save)、读取函数、卖票函数、退票函数、订票总金额、退出。
程序中较为核心的部分,具体分析如下:
1保存函数
通过使用fopen函数和fprintf函数进行文件的打开与数据的输入。
voidsave()//向文件里存
{
FILE*fp;
inti;
if((fp=fopen("
d:
\\myfile.txt"
"
w+"
))==NULL)
{
printf("
cannotopenthisfile\n"
);
return;
}
for(i=0;
i<
SIZE;
i++)
fprintf(fp,"
%2s%5s%3s%3d%3d\n"
stu[i].banci,stu[i].time,stu[i].chengzailiang,stu[i].shoupiao,stu[i].yupiao);
fclose(fp);
printf("
\n"
******数据保存成功!
******\n"
请输入相应的数字继续操作\n"
}
2查询函数
通过比较函数strcmp进行班次的选择,在通过for函数与printf函数来实现结果的输出。
voidchecheng()//查询售票情况
chara[50];
请输入所需查询的班次\n"
scanf("
%s"
a);
{if(strcmp(stu[i].banci,a)==NULL)
{printf("
\n******查询售票结果******\n"
班次发车时间载客量已售票数余票\n"
%2s%5s\t%3s%3d\t\t%3d\n"
3售票系统:
定义数组存储从获得的数字,为了能够多次输入,我们可以构造像for(i=0;
i++)来实现我们的要求;
对于班次的选择可通过if(strcmp(stu[i].banci,a)==NULL)来实现,在通过运算stu[i].shoupiao=stu[i].shoupiao+n与stu[i].yupiao=stu[i].yupiao-n实现购票,如果买票后,将会显示相关信息来提示买票成功。
本函数结束,退出。
voidsell()//售票fprintf()fscanf()
inti,n;
inti;
{
printf("
\n******沈阳-大连火车售票系统******\n"
班次发车时间载客量已售票数余票\n"
for(i=0;
printf("
请输入您要购买的班次\n"
请输入您要购买的票数\n"
%d"
&
n);
if(strcmp(stu[i].banci,a)==NULL)
{stu[i].shoupiao=stu[i].shoupiao+n;
stu[i].yupiao=stu[i].yupiao-n;
******购票成功******\n"
{printf("
}
save();
4退票系统
退票功能的实现与购票功能的原理相同。
5.读取文件
通过fopen函数和指针的运用来实现文件的读取。
voidread()
inti=0;
{
文件打开失败!
return;
else
!
feof(fp);
fread(&
stu[i],sizeof(structstud),1,fp);
五、个人总结
这是我大学以来第一次的课设,通过这次课设,更加锻炼了我的能力,也使我对C语言有了更加深刻的理解。
在这五天中,拿着课题的我,不断思考着,要通过怎样的方法去实现它的功能。
通过不断的查阅资料,使我更加开阔了我的眼界,在编译过程中,问题不断的出现,每一个细节问题,都将成为成功的绊脚石,每一次的修改过后新的问题又不断的出现,通过这次课设使我了解了细节决定成败,C语言的编译过程中需要大量的细心和耐心。
希望在以后的生活中,对待每一件事情,都像在做课设过程中那样要有细心和耐心。
六、参考文献
谭浩强.C程序设计.北京:
清华大学出版社,2005
七、源程序
#include<
stdio.h>
//声明需要的库文件
string.h>
time.h>
stdlib.h>
conio.h>
#defineSIZE5//符号常量。
voidchecheng();
//这里对所有定义的函数进行申明
voidsave();
voidsell();
voidtuipiao();
voidtopic();
voidmenu();
voidread();
structstud//这里定义结构体类型和变量,用于存放信息
charbanci[30];
chartime[30];
charchengzailiang[30];
intshoupiao;
intyupiao;
stu[SIZE]={
{"
D1"
06:
40"
500"
0,500},
D2"
09:
30"
600"
0,600},
A1"
13:
00"
800"
0,800},
A2"
16:
L1"
20:
0,500}
};
voidmain()
{
intk;
topic();
getchar();
while
(1)
menu();
scanf("
k);
switch(k)
case1:
checheng();
break;
case2:
sell();
case3:
tuipiao();
case4:
save();
case0:
voidtopic()
****************************************************\n"
**********************************************\n"
****\n"
**HUOCHEZHANSHOUPIAOXITONG**\n"
**HUANYINGJIRU**\n"
Allrightsarepro.byWQ.,2013.8.27\n"
voidmenu()
*****************************************************"
\n1查询当前售票情况"
\n2购票"
\n3退票"
\n4保存数据"
\n0退出"
\n选择0~5继续"
voidtuipiao()//退票
请输入您要退的班次\n"
请输入您要退的票数\n"
{stu[i].shoupiao=stu[i].shoupiao-n;
stu[i].yupiao=stu[i].yupiao+n;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 沈阳 航空航天大学 语言 课程设计 火车站 售票 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)