简单的汽车站售票系统.docx

上传人:b****3 文档编号:4689303 上传时间:2023-05-07 格式:DOCX 页数:14 大小:57.54KB
下载 相关 举报
简单的汽车站售票系统.docx_第1页
第1页 / 共14页
简单的汽车站售票系统.docx_第2页
第2页 / 共14页
简单的汽车站售票系统.docx_第3页
第3页 / 共14页
简单的汽车站售票系统.docx_第4页
第4页 / 共14页
简单的汽车站售票系统.docx_第5页
第5页 / 共14页
简单的汽车站售票系统.docx_第6页
第6页 / 共14页
简单的汽车站售票系统.docx_第7页
第7页 / 共14页
简单的汽车站售票系统.docx_第8页
第8页 / 共14页
简单的汽车站售票系统.docx_第9页
第9页 / 共14页
简单的汽车站售票系统.docx_第10页
第10页 / 共14页
简单的汽车站售票系统.docx_第11页
第11页 / 共14页
简单的汽车站售票系统.docx_第12页
第12页 / 共14页
简单的汽车站售票系统.docx_第13页
第13页 / 共14页
简单的汽车站售票系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

简单的汽车站售票系统.docx

《简单的汽车站售票系统.docx》由会员分享,可在线阅读,更多相关《简单的汽车站售票系统.docx(14页珍藏版)》请在冰点文库上搜索。

简单的汽车站售票系统.docx

简单的汽车站售票系统

沈阳航空工业学院

课程设计

学号200604061102

班级6406103

姓名王乐

指导教师王晓岩

2008年03月18日

沈阳航空工业学院

课程设计任务书

机电工程学院机械设计及其自动化专业6406103班

学号200604061102

一、课程设计题目:

简单的汽车站售票系统

二、课程设计工作自2008年3月10日起至2008年3月14日止,共计一周,20学时。

三、课程设计内容:

每天“沈阳→植物园”有5个班次的汽车(假设),具体的数据如下:

班次发车时间载客量已售票数

0106:

40500

0209:

30400

0313:

00400

0416:

00400

0520:

00500

请你为售票员开发一个小程序,以完成每天的“沈阳→植物园”的售票业务。

要求如下:

①能够售票和退票。

②某个班次已经过了开车时间,则该班次今天不再售票。

③可以随时显示售票现状,并以文件(myfile.txt)的形式保存当天各个车次的售票情况。

四、课程设计要求:

程序质量:

①贯彻模块化的程序设计思想,以主函数调用各个功能模块。

②用户界面友好,功能明确,操作方便。

③用户界面中的菜单至少应包括“售票”、“退票”、“显示当前售票情况”、“保存当天数据”、“退出”5项。

④在代码中给出必要的注释,以增强程序的可读性。

课程设计说明书:

课程结束后,上交课程设计说明书和源程序。

课程设计说明书的格式和内容参见提供的模板。

指导教师:

____________________学生签名:

____________________

五、成绩:

六、教师评语:

 

目录

一、需求分析1

二、程序流程图2

三、核心技术的实现说明及相应程序段3

四、个人总结5

五、参考文献5

六、源程序5

 

一、需求分析

通过对任务书内容的详细了解和深入的思考得知,整个程序可以分为三大部分.定义变量,输入数据,输出数据.但是在整个程序的执行过程当中,随处都体现了方便乘客购票、退票、查询售票与车次的思想,并且结合结构体与文件的读写来储存数据,以实现售票的数据化管理.用户界面友好,功能明确,操作方便。

信息表达清楚明确。

1.定义变量:

声明结构体,定义变量,为变量赋初值,为下一步工作做好准备。

2.输入数据:

用户可以按自己意愿输入车次进行查询,进而根据售票情况进行自主的选择够票。

3.输出数据:

根据用户的需要输出车次、时间、售票情况等数据,以方便用户了解情况。

程序结束后还有推出功能,增加了程序的可操控性。

二、程序流程图

 

三、核心技术的实现说明及相应程序段

下面对程序做以详细介绍:

(1)structstudent/*定义结构体*/

{

charbanci[10];/*各结构体名称*/

charfacheshijian[20];

charzaikeliang[20];

intmaipiao;

intyupiao;

}ST[N]={{"01","06:

40","50",0,50},/*对结构体输入数据*/

{"02","09:

30","40",0,40},

{"03","13:

00","40",0,40},

{"04","16:

00","40",0,40},

{"05","20:

00","50",0,50}

};

(2)

voidtuipiao()/*退票*/

{

inti,m;

charb[15];

{

printf("\n\ndanqianqingkuang\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");

for(i=0;i

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

}

printf("qingshurutuipiaobanci:

\n");

scanf("%s",b);

printf("qingshurutuipiaozhangshu:

\n");

scanf("%d",&m);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)

if(ST[i].maipiao-m>=0)/*判断售票数*/

{

ST[i].maipiao=ST[i].maipiao-m;

ST[i].yupiao=ST[i].yupiao+m;

printf("tuipiaochenggong");

printf("\n\ntuipiaojieguo\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");/*显示售票情况*/

for(i=0;i

printf("%4s%10s%7s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

save();/*保存*/

}

else

printf(“tuipiaoshibai”);

}

(3)

voidsell()/*售票*/

{

inti,m;

charb[15];

{

inti;

{

printf("\n\nshoupiaoqingkuang:

\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");

for(i=0;i

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

}

}

printf("qingshurugoumaidebanci:

\n");

scanf("%s",b);

printf("qingshurugoumaidepiaoshu:

\n");

scanf("%d",&m);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)/*判断班次是否符合*/

{

ST[i].maipiao=ST[i].maipiao+m;

ST[i].yupiao=ST[i].yupiao-m;

printf("goumaichenggong");

{

printf("\n\nshoupiaoqingkuang\n");

printf(“\nbancifacheshijianzaikeliangmaipiaoyupaiao\n");

for(i=0;i

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

/*}*/

save();}

else

printf(“tuipiaoshibai”)

}

四、个人总结

经过了短短的一周的C语言课程设计,我对C语言有了更进一步的了解。

让我学会了许多自己以前不会的知识,懂得了如何用结构话思想来解决实际问题,懂得了将C程序模块的好处。

用主函数调用子函数的方法,这样一来就把一个大的程序分成了几个小的程序,这样不仅降低了程序的难度还使程序的编辑思路更加清晰明了。

在编制程序的过程中,我也遇到了许多较难解决的问题,例如:

文件数据的读取,语法错误的查找,算法错误的查找以及文件的存储等问题。

不过在老师的帮助和指导下,让我学到了程序的单步运行,和监视断点等方法来解决一些算法的错误。

总的来说,C语言课程设计的综合训练让我体会到了C语言的用处,让我把以前学到的理论知识应用与在实际生活的到了应用。

同时培养了我自己思考解决问题的能力,让我得到了很好的锻炼,使我受益匪浅.

五、参考文献

谭浩强.C程序设计.北京:

清华大学出版社,2005

六、源程序

##include"stdio.h"

#include"stdlib.h"

#include"string.h"

#include"conio.h"

#include"time.h"

#defineN5

structstudent/*定义结构体*/

{

charbanci[10];

charfacheshijian[20];

charzaikeliang[20];

intmaipiao;

intyupiao;

}ST[N]={{"01","06:

40","50",0,50},

{"02","09:

30","40",0,40},

{"03","13:

00","40",0,40},

{"04","16:

00","40",0,40},

{"05","20:

00","50",0,50}

};

/*声明各函数*/

voidsearch();

voidsave();

voidsell();

voidlocaltimes();

voidtuipiao();

intmenu();

 

intmenu()/*定义菜单*/

{intc;

printf("1.chaxundangqianshoupiaoqingkuang.\n");

printf("2.xianshidangqianshijian.\n");

printf("3.maipiao.\n");

printf("4.tuipiao.\n");

printf("5.cunchushuju.\n");

printf("6.tuichushoupiaoxitong.\n");

do{

printf("\nqingxuanze(1-6)jixu:

");

scanf("%d",&c);

}while(c<1||c>6);

return(c);

}

 

voidsearch()/*查询函数*/

{inti;printf("qingshuruchaxundebanci\n");

scanf("%d",&i);

i=i-1;

{

printf("\n\nchaxunjieguo\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

}

}

 

voidsell()/*售票*/

{

inti,m;

charb[15];

{

inti;

{

printf("\n\nshoupiaoqingkuang:

\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");

for(i=0;i

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

}

}

printf("qingshurugoumaidebanci:

\n");

scanf("%s",b);

printf("qingshurugoumaidepiaoshu:

\n");

scanf("%d",&m);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)/*判断班次是否符合*/

{

ST[i].maipiao=ST[i].maipiao+m;

ST[i].yupiao=ST[i].yupiao-m;

printf("goumaichenggong");

{

printf("\n\nshoupiaoqingkuang\n");

printf(“\nbancifacheshijianzaikeliangmaipiaoyupaiao\n");

for(i=0;i

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

/*}*/

save();}

else

printf(“goumaishibai”)

}

 

voidtuipiao()/*退票*/

{

inti,m;

charb[15];

{

printf("\n\ndanqianqingkuang\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");

for(i=0;i

printf("%3s%10s%10s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

}

printf("qingshurutuipiaobanci:

\n");

scanf("%s",b);

printf("qingshurutuipiaozhangshu:

\n");

scanf("%d",&m);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)

if(ST[i].maipiao-m>=0)/*判断售票数*/

{

ST[i].maipiao=ST[i].maipiao-m;

ST[i].yupiao=ST[i].yupiao+m;

printf("tuipiaochenggong");

printf("\n\ntuipiaojieguo\n");

printf("bancifacheshijianzaikeliangmaipiaoyupiao\n");/*显示售票情况*/

for(i=0;i

printf("%4s%10s%7s%8d%8d\n",ST[i].banci,ST[i].facheshijian,ST[i].zaikeliang,ST[i].maipiao,ST[i].yupiao);

save();/*保存*/

}

else

printf(“tuipiaoshibai”);

}

voidsave()/*存储函数*/

{

FILE*fp;

inti;

if((fp=fopen("myfile.txt","w+"))==NULL)

{printf("cannotopeninfile\n");

exit(0);

}

for(i=0;i

fwrite(&ST[i],sizeof(ST),1,fp);

fclose(fp);

printf("\n");

printf("successtosave\n");

printf("pleasechosetherightnumbertodonextstept\n");

}

 

main()

{for(;;)

{

switch(menu())

{

case1:

search();break;

case2:

localtimes();break;

case3:

sell();break;

case4:

tuipiao();break;

case5:

save();break;

case6:

exit(0);

}

}

}

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2