1、航空售票系统+C+课程设计源代码精品文档#include #include #define M 5/每种飞机票的总数目#define N 3/飞机票的总数目class Planeprivate:char name40;/终点站名int number;/航班号int Number;/飞机号int week;/星期几飞行int day;/日期int left;/余票额int n;/与数组flag一起确定客户订票状态public:int flag20;/订票状态数组,-1为预订票,1为已定票,0为初始化状态Plane()/构造函数name0=0;number=0;Number=0;week=0;da
2、y=0;left=M;n=0;/数组从0开始计数for(int i=0;i20;i+)flagi=0;void init()/初始化每种飞机票coutname;coutnumber;coutNumber;coutweek;coutday;Plane();/析构函数char *getname()return name;/获得终点站名int getnumber()return number;/获得航班号int getNumber()return Number;/获得飞机号int getweek()return week;/获得星期几飞行int getday()return day;/获得日期int
3、 getleft()return left;/获得余票额int getn()return n;/获得旅客数目void inleft(int n)left=left+n;/余票额增加函数void deleft(int n)left=left-n;/余票额减少函数void inn()n+;/旅客数目增加函数;Plane plN;int showmenu();/菜单函数void start();/初始化函数void query();/查询函数void make();/订票函数void back();/退票函数int main()cout这是民航售票处的计算机系统程序endl;start();whil
4、e(1)int choice;choice=showmenu();switch(choice)case 1:query();break;case 2:make();break;case 3:back();break;case 0:return 0;default:cout你敲错了!n;return 0;int showmenu()int ch;coutendl;cout请选择你要执行的功能endl;cout1:查询航线endl;cout2:承办订票业务endl;cout3:承办退票业务endl;cout0:退出程序的运行ch;return ch;void start()for(int i=0;
5、iN;i+)pli.init();coutendl;void query()int i,num=0;char name40;coutendl;coutname;for(i=0;i=N;i+)if(strcmp(name,pli.getname()=0)num+;cout航班号:pli.getnumber()endl;cout飞机号:pli.getNumber()endl;cout星期:pli.getweek()飞行endl;cout航班日期:pli.getday()endl;cout余票额:pli.getleft()endl;break;if(num=0)cout没有此航班endl;void
6、make()int number,n,sitnumber,nu,ch,num=0;coutnumber;coutn;for(int i=0;iN;i+)if(number=pli.getnumber()num+;if(n=pli.getleft()cout此航班有票endl;pli.deleft(n);pli.inn();pli.flagpli.getn()=1;for(i=0;in;i+)coutsitnumber;elsecout余票额少于订票额,请重新输入订票数额,订票数额应该少于或等于nu;if(nu=pli.getleft()cout此航班有票endl;pli.deleft(nu);
7、pli.inn();pli.flagpli.getn()=1;for(i=0;iN;i+)coutsitnumber;elsecout是否需要预约endl;cout是(1) 否(2)ch;switch(ch)case 1:pli.inn();pli.flagpli.getn()=-1;break;case 2:break;default:cout你敲错了!endl;if(num=0)cout没有此航班endl;void back()int number,day,n,nu,sitnumber,num=0;/航班号,日期,退票数目,订票数目,座位号,标志量coutday;coutnumber;fo
8、r(int i=0;iN;i+)if(day=pli.getday()&(number=pli.getnumber()/日期与航班是否满足num+;/日期与航班满足coutn;cout退票成功endl;pli.inleft(n);/该种飞机票增加,即已退票for(int j=0;j=pli.getn();j+)/顺序查询客户订票状态if(pli.flagj=-1)/客户是否为预定状态coutnu;if(nu=pli.getleft()/余票额是否满足要求cout此航班有票endl;pli.flagj=1;cout订票成功endl; pli.deleft(nu);for(int k=0;knu;k+)cout座位号sitnumber;cout余票额为pli.getleft()endl;elsecout没有预约订票!余票额为pli.getleft()endl;if(num=0)cout没有此票endl;收集于网络,如有侵权请联系管理员删除