沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx

上传人:b****6 文档编号:19028745 上传时间:2023-01-03 格式:DOCX 页数:16 大小:172.17KB
下载 相关 举报
沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx_第1页
第1页 / 共16页
沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx_第2页
第2页 / 共16页
沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx_第3页
第3页 / 共16页
沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx_第4页
第4页 / 共16页
沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx

《沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

沈阳航空航天大学C语言课程设计火车站售票系统Word文档下载推荐.docx

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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1