Sleep(5000);//单位为1微秒,5000微秒=5秒,即此屏幕保留5秒
system("cls");//清屏函数,进入主菜单
cout<inti;
for(i=1;i<=16;i++)
cout<<"";
for(i=1;i<=24;i++)
cout<<"*";cout<cout<<":
^-^欢迎来到航空订票系统^-^:
";cout<for(i=1;i<=16;i++)
cout<<"";
for(i=1;i<=24;i++)
cout<<"*";cout<inta=1;
cout<"<<'\n'<while(a)
{
cin>>a;
switch(a)
{
case1:
fn1();break;//实现管理员信息操作
case2:
fn2();break;//实现客户进行信息操作
case0:
cout<"<default:
cout<<"输入错误!
请重新输入1管理员;2客户"<}
}
}
voidfn1()
{
chars1[7]={"123456"},s2[7];
cout<<"管理员请输入密码:
"<cout<cin>>s2;
for(inti=1;i<3&&strcmp(s1,s2)!
=0;i++)
{
cout<<"密码错误!
"<<"您还有"<<(3-i)<<"次输入机会!
"<<'\n'<<"请输入密码:
"<cin>>s2;
}
if(i>=3&&strcmp(s1,s2)!
=0)
{
cout<<"已返回主菜单\n"<return;
}
cout<<"密码正确!
您可以输入0~5选择功能:
"<cout<<<"3.查询航班信息"<<'\n'<<<"5.修改航班信息"<<'\n'<intb;
while(b)
{
cin>>b;
if(b>=0&&b<=5)
{
switch(b)
{
case1:
dg();break;//订购机票
case2:
ft();break;//反退机票
case3:
ck();break;//查看航班信息
case4:
cx();break;//查询航班信息
case5:
xg();break;//修改航班信息
case0:
cout<<"已返回主菜单"<<'\n'<<<"客户进入请输2\n退出系统请输入0"<}
}
elsecout<<"输入错误!
请重新输入:
"<}
}
voidfn2()
{
cout<<"4.查看航班信息"<<'\n'<intc;
while(c)
{
cin>>c;
if(c>=0&&c<=4)
{
switch(c)
{
case1:
dg();break;//订购机票
case2:
ft();break;//反退机票
case3:
ck();break;//查看航班信息
case4:
cx();break;//查询航班信息
case0:
{cout<<"已返回主菜单"<<'\n'<<<"客户进入请输2\n退出系统请输入0"<}
}
elsecout<<"输入错误!
请重新输入:
"<}
}
voiddg()
{
inta,b,d,m=1;charx[20],y[20],z[20];
cout<每张身份证只能订1~3张,多订无效。
"<cout<";
cin>>d;
if(d>0&&d<4)
{
cout<";cin>>x;
cout<<"\n"<";cin>>y;
cout<<'\n'<";cin>>z;
}
else
{
cout<\n您已返回功能选择界面,输入0~5选择功能:
";
return;
}
yz(a,b,m);
if(m==0)
{
cout<<"您已返回功能选择界面,输入0~5选择功能:
"<return;
}
elseif(b==a)
{
cout<<"订票成功!
身份证号为"<"<<'\n';
cout<<"\n您现在所在(客户/管理员)菜单,请输0~(4/5)选择执行功能,退出请输入0!
"<return;
}
}
voidft()
{
inta,b,n=1;
chare[20];
cout<<"请输入退票流水号:
";
cin>>e;
yz(a,b,n);
if(n==0)
{
cout<<"您已返回功能选择界面,输入0~5选择功能:
"<return;
}
elseif(b==a)
{
cout<<"流水号为"<cout<<"您现在所在(客户/管理员)菜单,请输0~(4/5)选择执行功能,退出请输入0!
"<return;
}
}
voidck()
{
charf[20];
cout<<"请输入您需要查看的航班航班号:
";
cin>>f;
cout<<"您要查的是"<"<cout<<"您现在所在(客户/管理员)菜单,请输0~(4/5)选择执行功能,退出请输入0!
"<return;
}
voidcx()
{
charg[20];
cout<<"请输入您需要查询的航班航班号:
";
cin>>g;
cout<<"航班号为"<"<cout<<"您现在所在(客户/管理员)菜单,请输0~(4/5)选择执行功能,退出请输入0!
"<return;
}
voidxg()
{
charh[20],y[20];
cout<<"请输入需要改变路线的票件流水号:
";
cin>>h;
cout<<"请输入新的路线编号:
";
cin>>y;
chart1[7]={"123456"},t2[7];
cout<<"更改航班信息,请输入管理员密码确认:
"<cout<cin>>t2;
for(inti=1;i<3&&strcmp(t1,t2)!
=0;i++)
{
cout<<"密码错误!
"<<"您还有"<<(3-i)<<"次输入机会!
"<<'\n'<<"请输入密码:
"<cin>>t2;
}
if(i>=3&&strcmp(t1,t2)!
=0)
{
cout<<"您已返回管理员功能选择菜单,请输入0~5选择功能:
"<return;
}
cout<<"密码正确!
"<cout<<"票件流水号为"<cout<<"改后路线是编号是"<cout<<"您现在所在(客户/管理员)菜单,请输0~(4/5)选择执行功能,退出请输入0!
"<return;
}
第4章运行结果及分析
图4-1欢迎及编辑人信息界面
图案输出,等待5秒的执行由清屏函数system("cls")和延时函数Sleep(),来实现,Sleep(5000);中5000,单位为1微秒,5000微秒=5秒,,所以在此屏幕保留5秒,5秒后清屏函数system("cls")作用后,进入主菜单。
图4-2主菜单
主菜单提供最初选择,输入1管理员,输入2客户,输入0退出系统,输入其它数字,显示输入错误,请重新输入!
管理员需输入密码确认身份。
身份选择采用switch语句,case1:
fn1()输入1,则选择管理员功能系统,运行fn1()中的语句;case2:
fn2()客户,执行客户函数fn2()中的语句;case0:
cout<"<cout<<"输入错误!
请重新输入1管理员;2客户"<需重输。
图4—3管理员进入系统
(1)
验证密码采用字符数组,定义两个数组s1[7],s2[7],运用比较运算符strcmp()比较两个数组,相等则strcmp(s1,s2)==0,否则不等。
图4-4管理员进入系统
(2)
密码错误3次,则return回主菜单,重新选择身份。
图4-5客户进入系统
输入2,运行fn2()中的语句。
客户选择功能菜单。
图4-6输入错误,请重新输入!
main函数中,switch语句选项:
default:
cout<<"输入错误!
请重新输入1管理员;2客户"<需重输。
图4-7操作功能1(选择功能1.订购机票)
管理员验证身份成功后或客户进入,选择功能1。
则出现如上所示界面。
由于身份证号过长,采用数的变量定义记时可以,也不方便输出。
所以采用字符变量定义——char。
起点、终点也都采用字符char定义。
而验证码的选取,由随机函数rand()随机出数。
验证码输入正确方可订票成功。
验证码的核对,采用函数yz(inta,intb,intj)进行运算。
在订购机票函数dg()和反退机票函数ft()中分别加入yz(a,b,m)h和yz(a,b,n),增加订票退票需输入验证码确认功能。
图4-8操作功能2(功能2,、3、4)
退票输入验证码,其余都是cout<<”…”<图4-9管理员操作功能5(修改航班信息)
本来只是cout<<”………”|<与上面管理员进入是输入密码进入程序相同。
图4-10返回主菜单并退出系统
执行完一个功能后,在提示输入0~(4/5)选择功能时,输入0,返回主菜单,再选择身份,输入0退出系统。
第5章心得体会
经过一个学期的C++程序设计的学习,从开始只是对C++感到新鲜到开始熟悉C++,爱上C++。
如同一场恋爱。
C++中的逻辑思考,递推运算非常吸引我。
因为对C++真的比较喜欢,所以在不断地理论学习和上机做题中,学到越来越多的C++编辑及其功能的知识,真正感觉到那种成长,知识的增长。
在学期末时,老师说要课设,其实我当时还有点没信心,因为听到要做什么小游戏什么的,我说我有的实验里面的题目都不会,要做个小游戏啥的,那不麻烦!
主要是我认为课设做完就像个产品一样,封装起来了,跟平时接触到的一些软件一样。
但在后来才发现,只是运行有那个功能就是,不用自己去学包装。
。
。
这就有信心了!
最后也把课设做得挺好,令自己也挺满意!
在做完课设后,感觉自己通过课设受益匪浅。
在课设中,不仅几乎把上课学到的都用上了得到了知识的巩固,而且也学到了还没有学的知识,如程序中的用到的随机出数函数rand(),清屏函数system("cls")和延时函数Sleep()。
也又进一步熟悉了所学C++知识的运用,如形式参数与main函数参数的数据调用,交换。
对C++几大语句也更加熟悉了,if语句,switch语句,for语句,while语句,返回值类型,return,等等。
在课设中对C++知识的运用很真切的感受的了,同时也增长的我的C++方面的知识。
在课设中,也不单单是知识和C++编辑技术的到了提高。
同时,在解决问题方面,遇到困难处理方面,对生活也有一定锻炼。
在课设里面,经常会遇到程序无法正常运行,要靠自己的知识调试,不懂得也只能靠自己看书理解。
在程序里面有个问题很久都解决不了,有几次都想放弃了,但在几天时间里经常想,思考如何能使程序按要求的正常运行。
在后来也