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

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

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

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

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

简单的汽车站售票系统2

沈阳航空工业学院

课程设计

学号200704021150

班级7402101

姓名图里古尔

指导教师吴杰宏

2008年9月8日

沈阳航空工业学院

课程设计任务书

院系:

电子信息工程专业:

电子信息工程班级:

7402101

学号:

200704021150题目:

简单的汽车站售票系统

(2)

一、课程设计时间

2008~09第1学期第2周,共计1周,20学时。

二、课程设计内容

用C语言编写软件完成以下任务:

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

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

106:

40500

209:

30400

313:

00400

416:

00400

520:

00500

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

要求如下:

①能够售票和退票。

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

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

主要功能包括:

1录入汽车班次信息;2退票并显示;3保存当天数据。

三、课程设计要求

1.程序质量:

✧贯彻结构化的程序设计思想。

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

✧用户界面中的菜单至少应包括“录入汽车班次信息”、“退票处理”、“保存当天数据并显示”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2.课程设计说明书:

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

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

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、说明书成绩六、教师评语

 

二、程序流程图…………………………………...2

 

一、需求分析

(1)售票系统要求存储当天各个车次售票情况,所以程序需要定义结构体变量存储售票情况。

系统的整体功能通过记录当天各个车次了解售票情况。

编程时采取模块化设计思想,设计主函数,通过主函数中的switch分支选择调用各子函数以实现该系统的各种功能。

然后设计相应的子函数来执行系统的各种功能,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

1、经过对程序设计题目的分析可知,整个程序的设计实现大致分为七个模块,其中每一个模块对应一个函数,他们的功能分别是学生记录输入函数(save)、存储函数(load)、读取函数、卖票函数、退票函数、结束、退出。

在这些函数当中,前五个函数的实现严格按照题目的要求,而后面的两个函数属于附加功能。

2、增强了程序的实用性,使系统用户界面友好、功能明确、操作方便,应采取直接用printf函数的方式在界面上输出可供用户选择的菜单,即直观又方便。

据此应该能够很好的完成要求

二、程序流程图

三、关键技术分析

核心技术的实现方法和程序段:

本函数由六个自定义函数和一个主函数组成,其中主函数以菜单形式调用其他函数来实现要求的所有功能。

在这些函数记录学生输入函数(save)、存储函数(load)、读取函数、卖票函数、退票函数、结束、退出(只分析其中一个)是程序中较为核心的部分,具体分析如下:

售票系统:

定义数组存储从获得的数字,为了能够多次输入,我们可以构造像for(i=0;i

本函数结束,退出。

voidsell()

{

inti,n;

charb[15];

clrscr();

load();

{

inti;

{

printf("\n\n***-------售票情况--------******\n");

printf("班次发车时间载客量已售票数余票\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("****----------谢谢使用-------********\n");

}

}

printf("请输入您要购买的班次(格式如:

02):

\n");

scanf("%s",b);

printf("请输入您要购买的票数(格式如:

5):

\n");

scanf("%d",&n);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)/*如果输入和班次相符,进行下一步*/

{

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

ST[i].yupiao=ST[i].yupiao-n

printf("***---购买成功---***");

{

printf("\n\n***-------售票情况--------******\n");

printf("班次发车时间载客量已售票数余票\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("****----------谢谢使用-------********\n");

/*}*/

}

save();

}

}

四、个人总结

在这为期一星期的C程序课程设计中,我深刻的体会到细心的重要性。

C程序设计是一个繁琐,需要投入很多的心思和精力的活。

有时它会因为一个标点符号,让所有的心血白费。

因而我们需要的不仅仅是平日知识的积累,还要养成良好的习惯,才能保证我们的路可以越走越远!

同时我也明白,当我们面临困难时,我们应该正面迎击!

C程序也算是对我们耐心的考验,只有不懈的追求,才能迎向胜利的曙光!

五、参考文献

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

清华大学出版社,2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

3刘振安等.C程序设计课程设计.北京:

机械工业出版社,2004

六、源程序

#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:

10","40",0,40},

{"03","13:

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

{"04","16:

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

{"05","20:

00","50",0,50}

};

voidsearch();

voidsave();

voidload();

voidsell();

voidlocaltimes();

voidtuipiao();

intmenu();

intmenu()

{intc;

printf("**************欢迎乘坐本次由沈阳开往植物园的客车*****************\n");

printf("1.保存当天数据.\n");

printf("2.显示当前时间.\n");

printf("3.查询显示当前售票情况.\n");/*显示当前售票情况*/

printf("4.买票.\n");

printf("5.退票.\n");

printf("6.退出售票系统.\n");

printf("******************欢迎使用*********************");

do{

printf("\n请选择(1-6)继续:

");

scanf("%d",&c);

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

return(c);

}

voidsave()

{

FILE*fp;

inti;

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

{printf("文件无法读取!

\n");

return;

}

for(i=0;i

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

fclose(fp);

printf("\n");

printf("||||***存储成功!

***||||\n");

printf("请选择相应的数字进行下一步操作!

\n");

}

voidload()

{FILE*fp;

inti;

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

{

printf("cannotopeninfile\n");

return;

}

for(i=0;i

if(fread(&ST[i],sizeof(ST),1,fp)!

=1)

{

if(feof(fp)){fclose(fp);return;

}

printf("文件读取错误\n");}

fclose(fp);}

voidsearch()

{FILE*fp;

inti;

printf("请输入您要查询的班次(格式如:

03):

\n");

scanf("%d",&i);

i=i-1;

fp=fopen("myfile.txt","r+");

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

{

printf("\n\n***-------查询结果--------******\n");

printf("班次发车时间载客量已售票数余票\n");

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

printf("****-----查询结束(谢谢使用^v^)------********\n");

}

}

voidlocaltimes()

{

structtm*p;

time_tt;

t=time(NULL);

p=localtime(&t);

printf(asctime(p));

}

voidsell()

{

inti,n;

charb[15];

system("cls");

load();

{

inti;

{

printf("\n\n***-------售票情况--------******\n");

printf("班次发车时间载客量已售票数余票\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("****----------谢谢使用-------********\n");

}

}

printf("请输入您要购买的班次(格式如:

02):

\n");

scanf("%s",b);

printf("请输入您要购买的票数(格式如:

5):

\n");

scanf("%d",&n);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)/*如果输入和班次相符,进行下一步*/

{

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

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

printf("***---购买成功---***");

{

printf("\n\n***-------售票情况--------******\n");

printf("班次发车时间载客量已售票数余票\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("****----------谢谢使用-------********\n");

}

save();

}

}

voidtuipiao()

{

inti,n;

charb[15];

system("cls");

load();

{

printf("\n\n***-------当前情况--------******\n");

printf("班次发车时间载客量已售票数余票\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("****-----(谢谢使用^v^)------********\n");

}

printf("请输入您要退的班次(格式如:

02):

\n");

scanf("%s",b);

printf("请输入您要退的张数(格式如:

3):

\n");

scanf("%d",&n);

for(i=0;i

if(strcmp(ST[i].banci,b)==0)/*如果输入和班次相符,进行下一步*/

if(ST[i].maipiao-n>=0)

/*如果未售票*/

{

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

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

printf("退票成功!

");

printf("\n\n***---------退票结果-----------******\n");

printf("班次||发车时间||载客量||已售票数||余票\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);

printf("******---退票结束,谢谢使用---*******\n");

save();

}

}

main()

{

system("cls");/*背景颜色*/

for(;;)

{

switch(menu())

{

case1:

save();break;

case2:

localtimes();break;/*载入当前时间*/

case3:

search();break;

case4:

sell();break;

case5:

tuipiao();break;

case6:

exit(0);

}

}

}

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

当前位置:首页 > PPT模板 > 其它模板

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

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