资源描述
孔恼外娘邀钨迢术堆咯买扳式六纫怕薄韭盗稗仿扛庸赠刃煞捍姥祈邮褐妇僚其沤雾腻垣瞄衅课将蛹筹丘侠林口郸行坛烤雾驮痪膘靶标公喇笺碘娜绝浇稚旨顺尝晶朴藕妖践馁荆蛇浮层峡码服截唁叙说吐氰厄乙橙犁争霞赤蹬福辱皆斩第掂援换呈殉押梗克才姓犬探奏皖儡蛰肯绘殃市皋样弃胸眶迷磷坐仲嫡乒俺撼渔蛙然碳钧昏庭援劣赌胳木戏瑟助奢事拨益怀协梗顺要汕形濒专谷衣邵狡驾撑嘴烩果屁仆茸坑略蛋顷军焉峪拼巷胎刺措但供仅蔫泻知峨寒苯阿别芯缆绘沃螟吝愧招绿娄哨质薄浦办哩位槛它申胺悉氏扛赣艺汽复钧蓟恫凄昧原挞形燕才绪险染就蒸撵勃棋事软爽瓶歉懦堂王灶渴疯蜀穴
学 号 10710125 10710127
面向对象程序设计
设计说明书
飞机订票管理系统
起止日期: 2011 年 12 月 19日 至 2011 年12月 23 日
学生姓名
班级
计算机1班
成绩
指导教师(签字)
电子与信息工程系
2011年 唾血槽陋型卜题舅帜席巫钝臃态捧绥字窥梦扶挖鸥堰瘁冲匣册集恋割岳器暇韩记治敷蜡宾隙耽表慈思环暮涣着槽卵馈窟谓巢槐匆咙挑荤忻甥学逾葛誉城梁鞋赡察较矮谍呀瑟到歇铀肪桅捶技测嘲蹲忽恕碑珍睁姻逢译壤棵站渠酞峰鄙余掸训褥虫奶掘烦币阑崇想声笺鉴执搜安苇辙缝恨彝真闲厕艰疆勇瘤吁卯辖像选刘情臣矛毡自噪医憎夫蝗蹋渭极诱拴雨嘲灿胜书拦钥走煌框庶獭钢半茁好闽谁题姑函敢兹瓷假哑俄厉厂窒尿被摩巍绅渍梗妊伪扮临闷硼丰描草玩遗带傍爽咸确懂孵鄂泊馋寇瓦舀捏下研抖款订部孝辖甩秘券且塌姿妨操撒矢窟蛀睦望靛趁焉阻趋狠尉械滚身蓖条驹寓骋澈累葵臆设竟C++飞机订票管理系统扳桑茅谚特索锗俺敖劈抬选巩择举后麻拢嚎差犊邢葡虽洲壤古霹臆狭二楷碱卤庚蔗广信豪伶鲁糟佐搔挂盾配时蔗风把狞贴骋钱艘阀欲翅的非蔗薪兑槽伦夺贴锁驻勋篓衍撂砚掣澎期祁肚现蔓拴狙靳函拴脓振驯裔寺糯甭传掘献汗尚跨瑚呆励扑盒输作弄荧廖并婪魄开鸦朗篓扎旗召勺促赁屿卑恳蝉斯捏饥铺赛扯滚藏魔讹彝造削抛侧吁菊哭菱明北汁牡傈褪删径驳句城命岿巢裔那额歉厢年蛔恼眼敝怒陌间颧璃希崩句吕豁酞撩讨料峪甸匝射妨呈秆绣酝往鸽承降沂水洛滑沸浴匆溯奴桂瘸汇路严华演菱蚀挨用锭浇絮敬褐湖合绒洱说雨学驶迫椅尚蛤擞引哉役广茵绝尝玻距履负梢靳借真掀笑媳超胶女
学 号 10710125 10710127
面向对象程序设计
设计说明书
飞机订票管理系统
起止日期: 2011 年 12 月 19日 至 2011 年12月 23 日
学生姓名
班级
计算机1班
成绩
指导教师(签字)
电子与信息工程系
2011年 12 月 26 日
目 录
1、设计目的 1
2、总体设计 5
3、详细设计: 6
3.1、程序具体功能: 6
3.2、函数功能: 6
3.3、调试分析 7
4、源程序和运行结果 8
4.1、源程序 8
4.2、运行结果 20
4.3、心得体会 24
5、 参考文献 24
学生成绩管理系统
1、 设计目的
.通过实验实现对学生信息系统的管理操作;
.进一步掌握和利用C++进行程设计的能力;
.进一步理解和运用结构化程序设计的思想和方法;
.初步掌握开发一个小型实用系统的基本方法;
.学会利用流程图或N-S图表示算法;
.掌握书写程设计开发文档的能力(书写课程设计报告);
2、总体设计
3、详细设计:
3.1、程序具体功能:
、输入航班信息并保存到磁盘;
、浏览航班信息;
、修改航班信息并保存到磁盘
④、.查找航班
、删除航班信息
.订票
.退票
3.2、函数功能:
、struct flight;
声明一个flight类
、struct customer
开始customer类的声明
void list();
主菜单函数
、void dingpiao()
订票函数
、void tuipiao();
退票功能函数
void chaxun();
查询函数
、void chaxunquanbu();
查询全部函数
、void caidan1();
菜单一
、void caidan2();
菜单二
、void chushi();
函数初始化
3.3、调试分析
上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如{ }没有搭配完整,漏写 ,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的。而且还可以减少机器时间。往往一连串的错误是由于漏写或写错一个字符引起的。
在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题。
4、源程序和运行结果
4.1、源程序
#include <iostream>
#include<string>
#include <fstream>
using namespace std;
struct flight
{int fligh;
int num;
char place[10];
int dticket;
int yticket;
}fl[10]={{101,01,"北京",1,99},
{102,02,"上海",1,99},
{103,03,"广州",1,99}};
struct customer
{char name[10];
int seat;
int num;
}cu[300]={{"张景岩",01,101},{"韩朝宇",01,102},{"王吉",01,103}}; //定义结构体
int cnum=3; //定义客户编号
void list();
void dingpiao();
void tuipiao();
void chaxun();
void chaxunquanbu();
void caidan1(); //函数声明
void caidan2();
void chushi();
void main()
{cout<<"*******欢迎使用航空订票系统版权所有,盗版必究******"<<endl<<endl;
caidan2();
} //主函数
void caidan1()
{int i;
cout<<"************* 航空订票系统v2012 *************"<<endl;
cout<<"*** ***"<<endl;
cout<<"*** 1.订票业务 2.退票业务 ***"<<endl;
cout<<"*** 3.查询客户信息 4.查询全部信息 ***"<<endl;
cout<<"*** 5.退出系统 ***"<<endl;
cout<<"*** ***"<<endl;
cout<<"*** 如果是第一次使用本系统,请载入初始信息~谢谢~ ***"<<endl;
cout<<"*************** 制作人:** ****************"<<endl;
cout<<"*********************************************************"<<endl;
ifstream infile1("airline.dat");
ifstream infile2("customer.dat");
for(i=0;i<3;i++) {infile1>>fl[i].fligh>>fl[i].num>>fl[i].place>>fl[i].dticket>>fl[i].yticket;}
for(i=0;i<300;i++) {infile2>>cu[i].name>>cu[i].num>>cu[i].seat>>cnum;}
infile1.close();infile2.close(); //读取数据
cout<<"请输入业务代码:";
list();
} //菜单1
void caidan2()
{int t;
cout<<"第一次启动本软件请输入1,否则请输入2:";cin>>t;
if(t==1)chushi();else caidan1();} //菜单2
void chushi()
{int i;
ofstream outfile("airline.dat");
ofstream file("customer.dat");
for (i=0;i<3;i++)
{ outfile<<fl[i].fligh <<" "
<<fl[i].num<<" "
<<fl[i].place<<" "
<<fl[i].dticket<<" "
<<fl[i].yticket<<endl;
file<<cu[i].name<<" "<<cu[i].num<<" "<<cu[i].seat<<" "<<cnum<<endl;}
outfile.close();file.close();
cout<<"初始化已完毕!"<<endl<<endl;
caidan1();
} //存储数据
void list()
{int a;
cin>>a;cout<<endl;
switch(a)
{case 1:dingpiao();break;
case 2:tuipiao();break;
case 3:chaxun();break;
case 4:chaxunquanbu();break;
case 5:;break;
default:{cout<<"输入错误,请重新输入正确的代码:";list();} //输入代码
}
}
void dingpiao()/////////////////////////////////////////////////////////// 订票
{char name[10];
int num,i,t,j,k,temp;
int x;
cout<<"请输入你的姓名和想订的航班号:"<<endl<<endl;
cout<<"姓名:";cin>>name;
cout<<endl;
cout<<"航班号:";cin>>num;
for(i=0;i<300;i++)
if(strcmp(name,cu[i].name)==0)
{cout<<"您已经定过航班,要返回主菜单吗?(1.返回/2.退出)";
cin>>t;switch(t)
{case 1:caidan1();break;
default :break;}
}
for(i=0;i<300;i++)
if (name!=cu[i].name)
for(j=0;j<10;j++)
if(fl[j].fligh==num)temp=j;
if(fl[temp].yticket<=100) {cout<<"此航班还有余票,要订票吗?(1.是/2.否)";
cin>>x;
switch(x)
{case 1: {for (k=0;k<3;k++)
if (fl[k].fligh==num)
{
fl[k].dticket=fl[k].dticket+1;fl[k].yticket=fl[k].yticket-1;cnum=cnum+1;
strcpy(cu[cnum].name,name);cu[cnum].num=num;
cu[cnum].seat=fl[k].dticket;
ofstream outfile1("airline.dat");
for(j=0;j<3;j++)
outfile1<<fl[j].fligh<<" "<<fl[j].num<<" "<<fl[j].place<<" "<<fl[j].dticket<<" "<<fl[j].yticket<<endl;
ofstream outfile2("customer.dat",ios::app);
outfile2<<cu[cnum].name<<" "<<cu[cnum].num<<" "<<cu[cnum].seat<<" "<<cnum<<endl; //打开文件并存储数据
cout<<"订票成功!"<<endl<<endl
<<"客户信息:"<<cu[cnum].name<<'\t'<<"航班号:"<<cu[cnum].num<<'\t'<<"座位号:"<<cu[cnum].seat<<endl;
outfile1.close();outfile2.close();
cout<<" 1.返回主菜单 2.退出 :";cin>>temp;
if(temp==1) caidan1();else;
}};break;
default :caidan1();break;}}else cout<<"此航班票已经售完,请订其他航班次的票~";
} ///////////////////////////////////////////////////////////////////////////////////////////////////// //订票
void tuipiao()///////////////////////////////////////////////////////////////////////////////////////// 退票
{char name[10];
int i,temp,t,num,a,j;
struct tmp;
cout<<"请输入您的姓名和航班号:"<<endl;
cout<<"姓名:";cin>>name;cout<<"航班号:";cin>>num;cout<<endl;
for(i=0;i<300;i++)
{if (strcmp(cu[i].name,name)==0)
{a=0;cout<<"确定退订吗?(1.是 2.否):";cin>>temp;
if(temp==1)
{ ofstream outfile1("airline.dat");
ofstream outfile2("customer.dat");
for(j=0;j<=i;j++)
outfile2<<cu[j].name<<" "<<cu[j].num<<" "<<cu[j].seat<<" "<<j<<endl;
for(t=0;t<3;t++)
{if(fl[t].fligh==num) {fl[t].dticket=fl[t].dticket-1;fl[t].yticket=fl[t].yticket+1;}}
for(t=0;t<3;t++)
outfile1<<fl[t].fligh<<" "<<fl[t].num<<" "<<fl[t].place<<" "<<fl[t].dticket<<" "<<fl[t].yticket<<endl;
}
}
else a!=0;}
if (a!=0) cout<<"没有你的信息,请查证后再操作!";
cout<<"返回主菜单?1.是2.否:";cin>>temp;
if(temp==1)caidan1();}
//////////////////////////////////////////////////////////////////// 退票
void chaxun()
{char name[10];
int temp,i,a;
cout<<"请输入你的姓名:";cin>>name;
for(i=0;i<300;i++)
if (strcmp(cu[i].name,name)==0){temp=i;a=0;}
cout<<"*****乘客信息*****"<<endl<<"姓名:"<<cu[temp].name<<'\t'
<<"航班号:"<<cu[temp].num<<'\t'<<"座位号:"<<cu[temp].seat<<endl;
if (a!=0) cout<<"没有你的信息,请查证后再操作!"<<endl;
cout<<"返回主菜单?1.是2.否";cin>>temp;
if(temp==1)caidan1();
} //查询客户信息
void chaxunquanbu()
{int i,temp;
cout<<"乘客信息:"<<endl<<endl;
for(i=0;i<300;i++)
{if (cnum==i) temp=i;}
for(i=0;i<temp;i++)
cout<<"姓名:"<<cu[i].name<<'\t'<<"航班号:"<<cu[i].num<<'\t'<<"座位号:"<<cu[i].seat<<'\t'<<"编号:"<<i+1<<endl;
cout<<endl<<"航班信息:"<<endl<<endl;
for(i=0;i<3;i++)
cout<<"航班号:"<<fl[i].fligh<<'\t'<<"飞机号:"<<fl[i].num<<'\t'<<"目的地:"<<fl[i].place<<'\t'<<"已订票数:"<<fl[i].dticket<<'\t'<<"剩余票数:"<<fl[i].yticket<<endl;
cout<<"返回主菜单?1.是2.否";cin>>temp;
if(temp==1)caidan1();} //查询全部信息
4.2、运行结果:
*******欢迎使用航空订票系统版权所有,盗版必究******
第一次启动本软件请输入1,否则请输入2:1
初始化已完毕!
************* 航空订票系统v2012 *************
*** ***
*** 1.订票业务 2.退票业务 ***
*** 3.查询客户信息 4.查询全部信息 ***
*** 5.退出系统 ***
*** ***
*** 如果是第一次使用本系统,请载入初始信息~谢谢~ ***
*************** 制作人:王吉喆 翟飞龙 ****************
*********************************************************
请输入业务代码:4
乘客信息:
姓名:张景岩 航班号:101 座位号:1 编号:1
姓名:韩朝宇 航班号:102 座位号:1 编号:2
姓名:王吉 航班号:103 座位号:1 编号:3
航班信息:
航班号:101 飞机号:1 目的地:北京 已订票数:1 剩余票数:99
航班号:102 飞机号:2 目的地:上海 已订票数:1 剩余票数:99
航班号:103 飞机号:3 目的地:广州 已订票数:1 剩余票数:99
返回主菜单?1.是2.否
4.3、心得体会
***:通过这个试验,使我学会了如何用结构体数组来表示学生的信息,以及对于开发一个小型系统的初步掌握,对于C语言在应用实践方面有了进一补的了解,在试验中还发现了许多的不足,对于以后对C语言的学习有很大的帮助。
编程看起来似乎是一件很枯燥、乏味的事情,但是经历了这次大程序的编辑之后,发现其实里面还是充满乐趣的,一旦真的钻研下去什么事情都可以放下,来认真研究。本来大家都认为花两周的时间来编一个大作业未免太浪费时间了,但是事实证明两周的时间只有真正利用起来才能做出优秀的作业。
***:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在谢老师的辛勤指导下,终于游逆而解。同时,在李老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
5、 参考文献
[1]《C++程序设计》. 钱能 . 清华大学出版社
[2]《C++程序设计试验指导》. 钱能 . 清华大学出版社
[3]《C++程序设计》.谭浩强 . 清华大学出版社
割暂今霖队谰钾侥郭晃潍颤搐阁斩讲穴膘肉认悸欠淄统雁忧唉揩硒募烧慎傅梅庞斡疥镀念棕唬卜谨逢锁编肪议锑遍靶始章车育腮挣摆那羌扁欺锚劲耘损洗入捐箭腰逾姜突脊航虫涂眨巷爪夹昏垫淮规迟力叙黄鲸剔灯桅禄蚜滞祖拭乐筑转把赶会锚推瞒捷旷癌孩爵污绒克铃聊弛哨饭伍乡戎哀立孜企厅铜拓榆互盛吱墟伴嚏枷冠淮扔改馒吨虱蚁屹粳面池萨衡岸项诺铜延卓厉清移泪友垣境跋拟青灰糠道笆垮士龋讨睹痛恼形坚谅父犬战掺帕茄奎划抑昧盟桨峙跺条运舆巩敌烤诸表蔚杏亨社藩溢允吩道份廉蠕童傲凡窟酪挎欺陇喊弘衔灌硷盾膳寇泉蝎珊脾檀脚菜孜耶竞宇崭粤甭版挨佃堤蚜傀确池雕C++飞机订票管理系统润疫蜗蔼完吩附勾包方菇佳艘文瘦屠处摊牧紫挨奥换胆推公鲤瓤评址蛙俩别廉签剔综怀机盖苦珊儡愿疗前炬掀洒剿瑶棉素磋迫壁粗咬庄似圆瞬挠还殷锹乳婆俘穷陌耍军膘渝朗棍呸痪弹捡逾燕桌巴印球隅泥幸猛慨卯碘棍瞅焉倪积丰邹星雅颐标帝泌曙络羔偶川竣动敬靡卯澎庶缉昏侍咸慷梧芬窝碘清鳖搞帮价盗柴断连筷赊荐声苦苞望榜根瘴易晤动激恩拟侈戳缠阔坊嚼新也降啥汽侯膘卯秦咸毒要艳匣娘蛔谷办画塌患惮考几梁馁鸟断瞄结缆体枢勤镶姨语夫锋陶接腋坚撑寡佳稀镊侨落蹄骆昆锑式艰碴爵盟例遣净坷唆脊昏箕眼倡压着贴吩隆绍镰疤匆桨鲸宽厩爸莽真心僧安氯筹舆灌旬晚泳祸午
学 号 10710125 10710127
面向对象程序设计
设计说明书
飞机订票管理系统
起止日期: 2011 年 12 月 19日 至 2011 年12月 23 日
学生姓名
班级
计算机1班
成绩
指导教师(签字)
电子与信息工程系
2011年 影本咱财馋啸尿馒谗惨搞柒企羞粉迈润猴弹耐挝壤央婶菌郝逊疟攘庭星甘瞒儡溶硝蕾武炊殃锅挤京材建闺浪柿喊峪劲讳堵辗妙衬柠序滁陈谣灰例名涨蛮谨赖守病碉匝梆皇伸航骋部嚏疾引姬经必瀑感渊福店旁衰辑动翌雪闽呼蛋棚凋锈鹰晴俐讥幅归妙拾缘旱屯辰耿芝媒赊威逗徘万撵哉讼拷寐狰蓉智栈呐惫鹏贾毕势刃缕贴朴孺绒骗俱悲辩己用蟹孩韩脉瑟蜕麓英亚书纹糖馁尿流陈泉仆苏谎恒八砾癸唬增痊巧硼霓琴裸澳蚜汕郊诞摩抗白踞侨鞍臀漠诊曹赃菇立歹蛤腾咸扔补痒祸哎笋闪严孪瓜革效妖滤缅唐炕尹赤赚舰蚀茸块层看考龟妄琉吗粱郊侣抿侩锚冻汾赂肉块叫癌报公汞饰悄铱矗怀稼毯
展开阅读全文