c语言车票管理系统.docx

上传人:wj 文档编号:345551 上传时间:2023-04-29 格式:DOCX 页数:42 大小:330.26KB
下载 相关 举报
c语言车票管理系统.docx_第1页
第1页 / 共42页
c语言车票管理系统.docx_第2页
第2页 / 共42页
c语言车票管理系统.docx_第3页
第3页 / 共42页
c语言车票管理系统.docx_第4页
第4页 / 共42页
c语言车票管理系统.docx_第5页
第5页 / 共42页
c语言车票管理系统.docx_第6页
第6页 / 共42页
c语言车票管理系统.docx_第7页
第7页 / 共42页
c语言车票管理系统.docx_第8页
第8页 / 共42页
c语言车票管理系统.docx_第9页
第9页 / 共42页
c语言车票管理系统.docx_第10页
第10页 / 共42页
c语言车票管理系统.docx_第11页
第11页 / 共42页
c语言车票管理系统.docx_第12页
第12页 / 共42页
c语言车票管理系统.docx_第13页
第13页 / 共42页
c语言车票管理系统.docx_第14页
第14页 / 共42页
c语言车票管理系统.docx_第15页
第15页 / 共42页
c语言车票管理系统.docx_第16页
第16页 / 共42页
c语言车票管理系统.docx_第17页
第17页 / 共42页
c语言车票管理系统.docx_第18页
第18页 / 共42页
c语言车票管理系统.docx_第19页
第19页 / 共42页
c语言车票管理系统.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言车票管理系统.docx

《c语言车票管理系统.docx》由会员分享,可在线阅读,更多相关《c语言车票管理系统.docx(42页珍藏版)》请在冰点文库上搜索。

c语言车票管理系统.docx

课程设计报告

课程名称C语言课程设计

课题名称车票管理系统

专业自动化

班级1402

学号201401020208

姓名宋爱军

指导教师陈世清杨子华黄哲

2014年12月27日

湖南工程学院

课程设计任务书

课程名称C语言课程设计

课题车票管理系统

专业班级自动化

学生姓名宋爱军

学号201401020208

指导老师陈世清杨子华 黄哲

审批

任务书下达日期2014年12月20日

任务完成日期2014年12月27日

目录

1、设计目的

2、总体设计

3、详细设计

4、调试与测试:

5、总结与体会

附:

源程序清单和使用说明

一、课程设计目的

1.熟练掌握C语言的应用及特点;2.掌握函数声明、定义和使用的方法;3.熟练掌握C语言中的对文件进行操作的基本方法;4.熟练掌握结构体的使用方法;5.掌握链表的基本操作。

本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及各种能力。

  设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。

  通过这次设计,要在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

二、总体设计

1.设计内容:

一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。

班次发车时间起点站终点站行车时间额定载量已定票人数

1 8:

00湘潭长沙2453010

2 6:

30湘潭常德4404020

功能要求:

系统能提供下列服务:

1)、录入班次信息(信息用文件保存),可不定时地增加班次数据。

2)、浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

3)、查询路线:

可按班次号查询,可按终点站查询。

4)、售票和退票功能。

(1).当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数

(2).退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。

2.设计要求:

1)、设计正确,方案合理。

2)、界面友好,使用方便。

3)、程序精炼,结构清晰。

4)、设计报告5000字以上,。

5)、上机演示。

3.概要设计

车票管理系统的功能为1.录入班次2.显示所有班次3.查询班次4.增加班次5.售票6.退票7.修改班次8.删除班次9.退出

车票管理系统的功能模块有:

(1)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按enter键进入该功能。

(2)接受用户输入的功能项,按enter键结束输入并将进入该系统,其需要的结果显示出来,方便用户查看。

(3)完成每次功能,可保存用户的修改的信息,及时更新文件信息。

下次查询时内容为最新信息。

实时的信息更新对比等。

一个名TICKET的结构体进行定义,包括num[10]hour[3];min[3]from[10];to[10];hoursmax;now;等结构体成员。

然后对调用函数进行定义。

intsystem_time()系统时间,voidNewMessage()新纪录录入函数,voidShowTable1()voidShowTable2(inti)线框调用1和2不用没次输,voidDisplay()显示所有函数,voidadd()增加记录,voidsave()保存函数,voidsave()保存函数,voidload()按班次查询函数,voidsearch()查询函数,voidchange()修改函数,voidquit()退出函数,voidTicketorder()售票函数,voidTicketdelete()删除函数,intmenu_select()菜单函数,intwhether(int)判断时间是否超出函数,voidfind(chars1[],chars2[])查询函数★//s1为班次//s2为终点站,voiddeletemessage()删除函数,intfindnum(chars1[])班次查询函数,voidget(int,int)修改及增加班次,char*menu[]菜单函数。

该系统将这些信息均放在文件d:

车票管理系统0中。

最后定义main()函数,利用函数调用,实现程序的各种功能。

将其放在系统文件d:

车票管理系统0中。

程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。

程序把每种功能分开实现,更简单,实用程序更易理解。

三、详细设计

1.进度安排

第17周星期一布置任务,查找资料。

星期二确定总体方案,进行详细设计。

星期三编写程序,上机调试。

星期四编写程序,上机调试。

星期五答辩,总结。

星期六~星期天写课程设计报告。

2.模块功能说明

.所有函数及功能

add()//增加记录

change()//修改函数

deletemessage()//删除班次信息

Display()//显示所有函数

find(chars1[],chars2[])//查询函数

findnum(chars1[])//查找班次

get(inti,intj)//修改及增加班次

load()//按班次查询函数

main()//主函数

menu_select()//菜单函数

NewMessage()//录入函数

quit()//退出函数

save()//保存函数

search()//查询调用

ShowTable1()//线框调用1,,,不用没次输

ShowTable2(inti)//线框调用2。

不用没次输。

Ticketdelete()//删除函数

Ticketorder()//售票函数

whether(inti)//判断时间是否超出函数

.输入及输入的形式

charnum[10];//车次编号

charhour[3];//时间,,小时

charmin[3];//分钟

charfrom[10];//起始站

charto[10];//终点站

floathours;//车程实际时间

intmax;//最大车载容量

intnow;//已售票数

.输出的形式

Printf

3.模块功能详细设计

车票管理系统

调用主菜单选项输入选择后分别

结束

完成功能后返回主菜单

1

调用

录入班次

2调用

显示所有班次

3调用

查询班次

4调用

增加班次

6调用

退票

5调用

售票

7调用

修改班次

8调用

删除班次

9调用

退出

四.调试与测试

1.功能菜单

如上图所示,该程序为用户提供菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。

选择1-9并按enter键进行操作。

如选择出错,系统将提出警告,并提醒用户重新进行选择。

2.显示所有班次功能

如上图所示,该功能实现显示所有班次。

选择2按enter键进入该功能,程序直接显示出信息,按enter键,程序进入菜单项,程序将再次提醒用户进行新的选择。

3.查询功能

如上图所示,该功能将实现程序运行班次的查询。

选择3并按enter键将实现该功能。

分班次和终点站两种方式查询。

.按班次查询

.按终点站查询

4.增加班次功能

5.增加班次成功显示结果

如上图所示,该功能将增加班次信息,帮助用户更新班次信息。

选择4并按enter将实现该功能,再按提示输入就行。

按任意键返回主菜单。

6.订票功能

如上图所示,该功能将帮助人们选择买票。

选择5按enter键实现该功能,按任意键关闭程序。

买票程序可提示买票成功否,且自动判断是否可卖。

7.退票功能

如上图所示,该功能将帮助人们选择退票。

选择6按enter键实现该功能,按任意键关闭程序。

退票程序可提示退票成功否,且自动判断是否可退。

8.修改班次

如上图所示,该功能将帮助人们修改班次信息。

选择7按enter键实现该功能,按任意键关闭程序。

按提示操作修改班次。

9.删除班次

如上图所示,该功能可删除班次信息。

选择8按enter键实现该功能,按任意键关闭程序。

按提示操作删除班次。

10.退出

如上图所示,该功能可退出系统。

选择9按enter键实现该功能

五、总结与体会

1.心得:

经过这次集中上机实习,我充分认识到了C语言的用途是非常广的,功能也非常强大,是学计算机不可缺少的语言。

更重要的是,在这次编程中熟悉了编写一个比较复杂程序的流程,以及发现问题、解决问题的能力,为下一步计算机语言的学习做了准备。

之前感觉遥不可及的功能,现在可以实现了,应当感谢老师和同学的热心帮助,这是我得以及时完成这个程序的重要因素.

我们改进的思想就是尽可能让它变得简单!

还有很多的不足和瑕疵需要我们继续去奋斗,希望老师不吝赐教!

2.体会:

这次实验让我们收获良多,这让我们得到了很多经验,又认识了很多的不足,在c语言这方面我们还需要很多的历练!

我想通过这次的练习,我们都有所进展,我们现在需要的就是实践。

完成了任务我们还是很有成就感的,也增添了我们对c语言的热情.

在今后我们知道,凡事都要有自己的见解,我们可以借鉴别人,但别人是不可复制的,我们要明白只有理解才是自己的,只有通过自己实践我们才能深刻的认识到这一点!

我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。

附件:

1.源程序

#include///宏定义函数

#include//串操作及内存操作函数

#include/////调用系统函数

#include ///时间库函数

#include///输入输出函数

#defineN1000//宏定义多条记录

typedefstructTICKET////定义新结构体TICKET

{

charnum[10];//车次编号

charhour[3];//时间,,小时

charmin[3];//分钟

charfrom[10];//起始站

charto[10];//终点站

floathours;//车程实际时间

intmax;//最大车载容量

intnow;//已售票数

}CLASS;

intclass_num=0;///初始班次总数为0

CLASSrecords[N];//多条记录

intsystem_time();//系统时间

voidNewMessage();//新纪录*录入函数******

voidShowTable1();//线框调用1,,,不用没次输

voidShowTable2(inti);//线框调用2,,,不用没次输

voidDisplay();//显示所有函数

voidadd();//增加记录

voidsave();//保存函数

voidload();//按班次查询函数

voidsearch();//查询函数

voidchange();//修改函数**

voidquit();////////////退出函数******

voidTicketorder();////*售票函数***

voidTicketdelete();//删除函数*

intmenu_select();//菜单函数*

intwhether(int);////判断时间是否超出函数***

voidfind(chars1[],chars2[]);//查询函数★//s1为班次//s2为终点站

voiddeletemessage();//删除函数

intfindnum(chars1[]);//班次查询函数

voidget(int,int);//修改及增加班次*

char*menu[]={"*****************欢迎使用车票查询系统*****************",

"\t\t\t\t湖南工程学院电气信息学院自动化1402宋爱军\n"

"\n*******************MENU功能菜单***********************",

"\n◤★1.录入班次◥",

"\n◆★2.显示所有班次◆",

"\n◆★3.查询班次◆",

"\n◆★4.增加班次◆",

"\n◆★5.售票◆",

"\n◆★6.退票◆",

"\n◆★7.修改班次◆",

"\n◆★8.删除班次◆",

"\n◣★9.退出◢"};

/**************************主函数***************************/

voidmain()

{

system("cls");//刷屏

while

(1)//菜单函数循环

{

switch(menu_select())//菜单函数*

{

case1:

NewMessage();break;////新纪录*录入函数******

case2:

Display();break;////显示

case3:

search();break;//查找函数**

case4:

add();break;////增加记录

case5:

Ticketorder();break;////*售票函数***

case6:

Ticketdelete();break;//删除函数*

case7:

change();break;//修改函数**

case8:

deletemessage();break;//////选择调用删除函数

case9:

quit();break;//////退出函数******

}

}

}

/***********************菜单函数**************************/

intmenu_select()/////////菜单函数*

{

chars[5];///定义要输入的数字功能

intc,i;

system("cls");//刷屏

system("color09");//改变颜色

for(i=0;i<11;i++)

{

printf("%s",menu[i]);//输出菜单各项)

}

i=0;

while(c<0||c>9)//判断是否是1到9的命令

{

printf("\n");///输出换行

printf("******************************************************");

printf("\n请选择(1-9):

▁▂▃▄▆▇");

scanf("%s",s);

c=atoi(s);//atoi将字符串转换成一个整数值

}///输出菜单面

returnc;////返回请求

}

/*******************************录入函数************************************/

voidNewMessage()//*录入函数******

{

inti=0,j=5,h;////

chars[5];

FILE*fp;////定义文件型指针变量

system("cls");//刷屏

if((fp=fopen("d:

车票管理系统0.dat","rb"))!

=NULL)//fopen打开文件

{

printf("车票信息已经存在请选择增加功能!

\n");

printf("任意输入则返回菜单\n");

scanf("%s",s);

i=1; //通过是1

}

if(i==0)

{

system("cls");//刷屏

printf("请输入要录入班次总数:

\n");

scanf("%d",&class_num);//指向班次指针

system("cls");//刷屏

for(i=0;i

{

system("cls");//刷屏

printf("请输入第%d个班次信息:

\n",i+1);

h=-1;

for(;h!

=i;)///循环输出

{

printf("请输入班次:

\n");

scanf("%s",records[i].num);

for(h=0;h

if(strcmp(records[h].num,records[i].num)==0)

//判断字符串比较是否相等,,待比较的字符串

{

printf("输入错误!

该班次已存在!

\n");

break;///返回

}

}

get(i,j);////修改及增加班次*

j=5;

}

save();//调用保存函数

}

}

/*******************************显示所有函数********************************/

voidDisplay()//显示所有函数

{

inti,j;

system("cls");//刷屏

load();//调用按班次查询函数

ShowTable1();

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

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

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

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