资源简介
飞机订票系统 请设计一个飞机票订票和退票系统。假设某民航机场有m个航次的班机,每个航次都只到达一个目的地,试为该机场售票处设计一个自动订票和退票系统。 该系统需要实现以下功能: (1) 订票:若该航次余票数大于等于客订票数,则在该航次的乘客表(按乘客姓氏字母词典顺序排列)中,插入订票乘客的信息项
代码片段和文件信息
//飞机订票退票系统,请先阅读使用说明!!!!!!
//1、打开.exe文件进入主菜单。
//2、管理员先进入“5.管理操作”进行各项设置!!!
//3、第一次进入管理操作需要先设置密码;
//4、管理员请记住密码,以后进入管理操作都需要这个密码;
//5、先进入“1、设置航班信息;”设置各项航班信息;
//6、设置完以后请选择“7、退出管理操作,返回主菜单;”
//7、注意:“8、退出系统(所有数据丢失!!!)。”
//8、请按菜单提示操作。
#include
#include
#include
#include
#include
using namespace std;
string password;
struct flight
{flight *next;//指针
string f; //飞机航次
int max; //总票数
int remain; //余票数
};
struct passenger
{passenger *next;
string name;//乘客名字
string fli;
int ticket1;//此乘客本次订票数
int ticket2;//此乘客已订票数
int refund;//退票数
};
int choice()//确定操作
{string ch;
cout<<“确定输入信息?\n“<<“y/n? “;cin>>ch;
A: if(ch==“y“)return 1;
if(ch==“n“)return 0;
else {cout<<“y/n? “;cin>>ch;goto A;}}
int displayp(string&sint i) //密码显示为*号,用13判断是不是回车
{string a=s;
char ch;
ch=getch();s+=ch;
if(ch==13&&i==1){s=a;return 0;}//回车退出
if(ch!=13)cout<<“*“;
do
{ch=getch();
s+=ch;
if(ch==13)break;
cout<<“*“;
}while(ch!=13) ;
cout<
int setpassword()//密码操作
{int ij;
string password2;
if(password==““)
{cout<<“请设置管理员密码:(退出请输入‘回车‘)“;j=1;i=displayp(passwordj);if(i==0)return 0;
cout<<“再次确认:“;j=0;i=displayp(password2j);if(i==0)return 0;
while(password2!=password)
{password=““;
password2=““;
cout<<“两次输入的密码不一样,请再次设置!“< cout<<“请设置管理员密码:(退出请输入‘回车‘)“;j=1;i=displayp(passwordj);if(i==0)return 0;
cout<<“再次确认:“;j=0;i=displayp(password2j);if(i==0)return 0;}
cout< else {string const password3=password;
cout<<“请输入管理员密码:(退出请输入‘回车‘)“;
i=displayp(password20);if(i==0)return 0;
while(password!=password2)
{password=password3;
password2=““;
cout<<“密码错误!请重新输入:(退出请输入‘回车‘)“;
i=displayp(password20);if(i==0)return 0;};
cout<
void show(flight*head)//显示航班信息
{cout<<“\n各航班信息:\n“< cout<<“ 航班名称 “<<“总座位数 “<<“剩余票数 “< while(head)
{cout<f<max<remain< head=head->next;}
cout<
int setflight1(flight*&head)//管理员输入航班信息子函数,建立链表
{flight *s*p;
if(head){cout<<“您已经设置了航班信息!“< s=new flight;
cout<<“全部输入结束后请输入‘end‘!“< p=s;
cout<<“请输入航班名称: “;cin>>s->f;
if(s->f!=“end“){
cout<<“请输入此航班的最大容客量:“;
cin>>s->max;
while(cin.fail()||s->max<=0){
cin.clear();cin.ignore();
cout << “请输入一个正整数!“;
cin>>s->max;}
s->remain=s->max;}
while(s->f!=“end“)
{if(head==NULL)head=s;
else p->next=s;
p=s;s=new flight;
cout<<“请输入航班名称: “;cin>>s->f;
if(s->f!=“end“){
cout<<“请输入此航班的最大容客量:“;
cin>>s->max;
while(cin.fail()||s->max<=0){
cin.clear();cin.ignore();
cout << “请输入一个正整数!“< cin>>s->max;}
s->remain=s->max;}}
p->next=NULL;
delete s;
return 0;}
void amend(flight*&head)//修改航班信息
{int i;
string key;
if(!head){cout<<“您还没有设置航
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20936 2009-04-04 21:48 飞机订票系统-数据结构作业.cpp
文件 717 2009-10-09 11:55 需求.txt
----------- --------- ---------- ----- ----
21653 2
- 上一篇:SLR1分析表的生成
- 下一篇:C++ 小型编译器
评论
共有 条评论