VC++火车票信息管理系统课程设计报告材料Word文档格式.docx
- 文档编号:20741881
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:26
- 大小:1.08MB
VC++火车票信息管理系统课程设计报告材料Word文档格式.docx
《VC++火车票信息管理系统课程设计报告材料Word文档格式.docx》由会员分享,可在线阅读,更多相关《VC++火车票信息管理系统课程设计报告材料Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
起点
startp
终点
endp
开车时间
startt
到达时间
endt
票价
price
结构体:
timeinput
结构体数组:
t[]
结构体变量:
who
2、各功能模块的设计:
说明各功能模块的实现方法
1)menu模块
该函数是要输出火车票信息管理系统的主菜单界面,不需要返回值。
主菜单界面如下
----------欢迎使用火车票信息管理系统主菜单----------
录入火车时刻信息,请选择:
1
查询火车时刻信息,请选择:
2
统计火车车次,请选择:
3
排序火车时刻信息:
请选择:
4
浏览火车时刻信息:
5
退出,请选择:
代码参见menu函数。
2)input模块
该函数是要实现为车次,起点,终点,开车时间,到达时间,票价赋初值,不需要返回值。
为了能够实现随时停止录入的功能,每当用户输入车次时,都要进行判断,当输入车次为0时,则停止录入,返回系统主界面,否则继续录入。
代码参见input函数。
3)search模块
该函数是要实现按两种不同方式查询火车时刻信息,不需要返回值。
选择的方式和判断有无该车次可使用查表的方法来解决。
表格如下
选择
提示
判断有无该车次
按照车次查询,请选择:
有
输出该车次火车时刻信息
无
输出“无此车次!
”
按照起点和终点查询,请选择:
输入其他选择时(即不是1或2),输出“输入错误!
请重新选择!
代码参见search函数。
4)statistics模块
该函数是要实现按两种不同方式统计火车车次,不需要返回值。
选择的方式和统计火车的车次可使用查表的方法来解决。
统计火车的车次
按起点统计每日的车次数,请选择:
输出该起点每日的车次数
按终点统计每日的车次数,请选择:
输出该终点每日的车次数
代码参见statistics函数。
5)sort模块
该函数是要实现按两种不同方式排序火车时刻信息,不需要返回值。
选择的方式和排序火车时刻信息可使用查表的方法来解决。
输出结果
按开车时间排序,请选择:
输出选择1的排序结果
按起点做为主关键字、开车时间做为次关键字
排序,请选择:
输出选择2的排序结果
代码参见sort函数。
6)view模块
该函数是要输出用户录入的火车时刻信息,不需要返回值。
代码参见view函数。
7)创新设计部分
通过请教老师和查阅资料,使用了SetColor函数,使得输出的数据加上了颜色,变得更加醒目,更加具有吸引力。
同时,使用了system("
cls"
)语句,实现了清除屏幕数据的功能,使得程序运行界面变得简洁。
代码参见SetColor函数。
3、设计中的主要困难及解决方案
在最开始的设计中只能够录入自己定义的火车时刻信息个数,且无法实现用户随时停止录入的功能。
经过自己的修改和完善,使用变量m统计用户录入的火车时刻信息个数,实现了用户任意录入火车时刻信息个数;
通过if判断条件判断录入车次是否为0,实现了用户随时停止录入的功能。
4、你所设计的程序最终完成的功能
1)说明你编制的程序能完成的功能
用户通过不同的选项,实现对火车票时刻信息的录入、查询、统计、排序、浏览。
2)准备的测试数据及运行结果
三、程序清单
1)main函数
//预定义处理
#include<
iostream.h>
string.h>
windows.h>
constintN=100;
//结构体声明
structtimeinput
{
chartrainnum[10];
charstartp[10];
charendp[10];
charstartt[10];
charendt[10];
doubleprice;
}t[N],who;
//定义结构体数组与结构体变量
//函数声明
voidmenu();
voidinput();
voidsearch();
voidstatistics();
voidsort();
voidview();
voidSetColor(unsignedshort,unsignedshort);
//主函数
voidmain()
menu();
//显示系统主界面
intnum;
cin>
>
num;
for(;
num!
=0;
)
{
system("
);
//清除屏幕数据
switch(num)
{
case1:
input();
break;
//录入火车时刻信息
case2:
search();
//查询火车时刻信息
case3:
statistics();
//统计火车车次
case4:
sort();
//排序火车时刻信息
case5:
view();
//浏览火车时刻信息
case0:
//退出系统
default:
cout<
<
"
输入错误!
请重新选择!
endl;
}
menu();
cin>
}
}
2)menu函数
voidmenu()//显示系统主界面
SetColor(15,0);
//数据是白色,背景是黑色
cout<
----------欢迎使用火车票信息管理系统主菜单----------"
录入火车时刻信息,请选择:
flush;
SetColor(10,0);
//数据是绿色,背景是黑色
1"
查询火车时刻信息,请选择:
2"
统计火车车次,请选择:
3"
排序火车时刻信息:
4"
浏览火车时刻信息:
5"
退出,请选择:
SetColor(12,0);
//数据是红色,背景是黑色
0"
SetColor(14,0);
//数据是黄色,背景是黑色
3)input函数
voidinput()//录入火车时刻信息
for(inti=0;
i<
N;
i++)
SetColor(12,0);
输入车次为0时结束录入!
SetColor(15,0);
请输入车次:
SetColor(14,0);
t[i].trainnum;
if(strcmp(t[i].trainnum,"
)==0)
break;
请输入起点:
t[i].startp;
请输入终点:
t[i].endp;
请输入开车时间:
t[i].startt;
请输入到达时间:
t[i].endt;
请输入票价:
t[i].price;
m++;
//统计录入次数
4)search函数
voidsearch()//查询火车时刻信息
inta,p=0;
a;
if(a==1)
请输入查询车次:
who.trainnum;
for(inti=0;
m;
if(strcmp(who.trainnum,t[i].trainnum)==0)
p=1;
SetColor(15,0);
cout<
车次"
\t"
起点"
终点"
;
cout<
开车时间"
到达时间"
票价"
SetColor(9,0);
//数据是蓝色,背景是黑色
t[i].trainnum<
t[i].startp<
t[i].endp<
t[i].startt<
t[i].endt<
t[i].price<
if(p==0)
SetColor(12,0);
无此车次!
elseif(a==2)
请输入查询起点:
who.startp;
请输入查询终点:
who.endp;
if(strcmp(who.startp,t[i].startp)==0&
&
strcmp(who.endp,t[i].endp)==0)
SetColor(9,0);
}
if(p==0)
{
else
5)statistics函数
voidstatistics()//统计火车车次
请输入统计起点:
intn=0;
if(strcmp(who.startp,t[i].startp)==0)
n++;
起点为"
SetColor(10,0);
who.startp<
的每日车次数是"
n<
次"
请输入统计终点:
intn=0;
if(strcmp(who.endp,t[i].endp)==0)
n++;
SetColor(15,0);
cout<
SetColor(9,0);
终点为"
SetColor(10,0);
who.endp<
6)sort函数
voidsort()//排序火车时刻信息
按起点做为主关键字、开车时间做为次关键字排序,"
inta;
m-1;
for(intj=0;
j<
m-1-i;
j++)
if(strcmp(t[j].startt,t[j+1].startt)>
0)
{
who=t[j];
t[j]=t[j+1];
t[j+1]=who;
}
按开车时间排序后是:
for(i=0;
if(strcmp(t[j].startp,t[j+1].startp)>
for(intj=0;
if(strcmp(t[j].startp,t[j+1].startp)==0&
strcmp(t[j].startt,t[j+1].startt)>
按起点做为主关键字、开车时间做为次关键字排序后是:
7)view函数
voidview()//浏览火车时刻信息
SetColor(9,0);
8)SetColor函数
voidSetColor(unsignedshortForeColor=7,unsignedshortBackGroundColor=0)//设置颜色
HANDLEhCon=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,ForeColor+BackGroundColor*0x10);
四、对该设计题目有何更完善的方案
1、对自己完成程序进行自我评价。
我的程序非常好的完成了任务中规定的设计内容,并添加了自主创新设计内容,运行完全正确。
2、对课题提出更完善的方案
建议对火车时刻信息加入余票、学生票、成人票信息,并且对程序添加订票和退票功能。
五、收获及心得体会
收获:
学习并掌握了如何使用函数清除屏幕数据和给数据添
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 火车票 信息管理 系统 课程设计 报告 材料