C++课程设计报告车票管理1文档格式.docx
《C++课程设计报告车票管理1文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告车票管理1文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
Busticket_Control*next;
//链表指针
boolptime(void);
//判断时间
voidinput(void);
//录入班次信息
voidoutput(void);
//浏览班次信息
voidsale(void);
//售票
voidback(void);
//退票
voidinput(ifstream&
is);
//读取
voidoutput(ofstream&
os);
//写入
stringget_place_end(void)const;
//返回终点站
intget_bus_order(void);
private:
intbus_order;
//班次
inthour_start;
//发车时间(小时)
intminute_start;
//发车时间(分钟)
charplace_start[10];
//起点站
charplace_end[10];
//终点站
floathour_running;
//行车时间
intoverload;
//额定载量
intticketed;
//已定票人数
};
Busticket_Control:
:
Busticket_Control(void)//构造函数
ticketed=0;
}
~Busticket_Control()//析构函数
boolBusticket_Control:
ptime(void)//判断时间函数
structtm*local;
//读入系统当前时间
time_tt;
t=time(NULL);
local=localtime(&
t);
if((local->
tm_hour>
hour_start)||(local->
tm_hour==hour_start&
&
local->
tm_min>
minute_start))//与系统当前时间比较
return1;
else
return0;
四、测试分析
1、程序运行后,会出现如下图所示的程序主界面,按照其提示选择您所需要进行的操作即可。
1.程序主界面如图所示:
图一
2.按数字1键后
图二
3.当浏览车票信息时,按2
图三
4.当查询车票信息时,按3
图四
5..当订购车票信息时,按4
图五
6.当退还车票信息时,按5
图六
7.当保存车票信息时,按6
图七
五、课程设计总结
1.在这次程序编制的过程中出现了很多问题,主要原因是自己以前接触的关于编制程序的知识的缺乏,通过订票系统的开发让我知道了自己的不足和缺点,写出一个好的程序需要合作精神,一个人的力量毕竟是有限的团队力量才是无穷的。
一个好的程序员一定是从程序堆里走出来的,只有通过参与具体程序的开发才知道自己知识的有限,才会学会具体的分析问题,是自己的逻辑性和层次性得到良好的锻炼,
2.课程设计是一门专业课,给我很多专业知识以及专业技能上了提升,同时又是一门思辨课,让我感触很深,是我对抽象的理论有了具体的认识,在这次课程设计中知道了以前没有接触过的很多函数,C语言中的文件部分因为种种原因都没有得到及时的学习,以前很多东西都没有学好,在以后的学习中自己要加强程序的锻炼,多参考好的程序和各种各样的函数,建立起自己的函数库,为以后学习打下良好的基础。
3在今后的工作、学习中我将认真总结经验教训,努力使自己成为一名技术过硬、工作严谨、思维活跃的工程人员,为提高人们的生活质量做出更大的贡献
六、附录
voidBusticket_Control:
input(void)//录入函数
cout<
<
"
*****请按提示输入*****"
endl;
请输入班次"
cin>
>
bus_order;
请输入发车时间的小时"
hour_start;
请输入发车时间的分钟"
minute_start;
请输入起点站"
place_start;
请输入终点站"
place_end;
请输入行车时间"
hour_running;
请输入额定载量"
overload;
请输入已定票人数"
ticketed;
output(void)//输出函数
setw(4)<
bus_order<
hour_start<
setw
(2)<
minute_start<
setw(10)<
place_start<
place_end<
setw(15)<
overload<
if(ptime())
cout<
此班已发出"
else
此班未发出"
sale(void)//售票函数
if(ticketed<
overload)
{
ticketed++;
成功售出一张车票"
}
车票已售完"
back(void)//退票函数
ticketed--;
退票成功"
input(ifstream&
is)//读入文件函数
is>
bus_order>
hour_start>
minute_start>
place_start>
place_end>
hour_running>
overload>
is.get();
output(ofstream&
os)//写到文件函数
os<
setw(6)<
hour_running<
ticketed<
stringBusticket_Control:
get_place_end(void)const//返回终点站函数
stringend;
end=place_end;
returnend;
intBusticket_Control:
get_bus_order(void)//返回班次函数
returnbus_order;
classBus_Link//链表类模板
Bus_Link()//构造函数
head=newBusticket_Control;
head->
next=NULL;
~Bus_Link()//析构函数
deletehead;
//录入函数
voidshow(void);
voidfound(void);
//查找函数
intfind(Busticket_Control**p1,intnum,char*pn);
//查找判断函数
//售票函数
//退票函数
voidsave(void);
//保存数据函数
voidclear(void);
//清除函数
voidbegin(void);
//初始化函数
charmenu(void);
//菜单函数
Busticket_Control*head;
//链表头指针
voidBus_Link:
Busticket_Control*p,*p2;
intn=1;
p=head;
while(p->
next)
p=p->
next;
while(n)
p2=newBusticket_Control;
p2->
input();
p->
next=p2;
继续输入请按1,否则请按0退去"
cin>
n;
show(void)//浏览函数
班次"
发车时间"
起点站"
终点站"
额定载量"
已定票人数"
setw(13)<
是否发出"
-------------------------------------------------------------------------------"
Busticket_Control*p;
(p->
next)->
output();
intBus_Link:
find(Busticket_Control**p1,intnum,char*pn)//查询判断函数
intm=0;
if((p->
get_bus_order()==num||(p->
get_place_end()==pn)
{
(*p1)=p;
(p->
m=1;
}
returnm;
found(void)//查询函数
intn,num;
charname[10];
按班次查找请按1,按终点查找请按2"
if(n==1)
num;
if(n==2)
name;
if(!
find(&
p,num,name))
没有你要查找的信息"
return;
确定购票?
(是请按1,否请按2)"
if(!
p,num,"
^"
))
cout<
没有你要找的班次"
return;
p=p->
if((p->
ptime()))
此班次已发出"
p->
sale();
确定退票?
(1/2)"
没有该班次"
if(p->
ptime())
班次已发出不能退票"
back();
save(void)//保存函数
ofstreamos("
bus.txt"
ios:
out);
output(os);
文件已保存"
clear(void)//清除函数
Busticket_Control*p,*p1;
p=head->
while(p)
p1=p;
deletep1;
begin(void)//初始化函数
clear();
longt;
ifstreamis("
in);
//文件以输入方式打开
is)
ofstreamos("
//文件以输出方式打开
os.close();
//关闭文件
return;
intnum=-1;
while
(1)
num=-1;
t=is.tellg();
//记录下当前位置
is>
is.seekg(t);
//移动到原来位置
if(num<
0)
{
is.close();
p1=newBusticket_Control;
p1->
input(is);
next=p1;
charBus_Link:
menu(void)//菜单函数
chars;
chars1[128];
strftime(s1,128,"
%Y-%m-%d%H:
%M"
local);
\n\n ────欢迎使用车票管理系统────"
endl<
cout
<
┌────────────────────────┐"
endl
│┌──────────────────────┐│"
││1.录入车票信息2.浏览车票信息││"
││3.查询车票信息4.定购车票信息││"
││5.退还车票信息6.保存车票信息││"
││0.退出系统││"
│└──────────────────────┘│"
└────────────────────────┘"
\t\t\t"
s1<
请输入操作按钮"
s;
returns;
voidmain()//主函数
Bus_Linkbus;
inti=1;
bus.begin();
//初始化
while(i==1)
system("
cls"
);
//清屏
s=bus.menu();
switch(s)
case'
1'
bus.input();
break;
//录入
2'
bus.show();
//浏览
3'
bus.found();
//查找
4'
bus.sale();
5'
bus.back();
6'
bus.save();
//保存
0'
i=0;
//退出
default:
输入错误"
if(i==1)
intm;
是否返回主菜单(1/0)"
cin>
m;
if(m==1||m==0)
{
i=m;
}
else
i=1;
if(i==0)
intk;
是否保存(1/0)"
k;
if(k=1)
bus.save();
system("
pause"