栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++实现机票预订系统

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++实现机票预订系统

C++编写一个简单的机票预订系统。该程序显示一个带有下列选项的菜单:预订机票、取消预订、查看某人是否预定了机票,以及显示预订乘客。这些信息保存在一个按照字母排列的名字链表中。在程序的简化版中,假设只为一趟航班预订机票。在完全版中不再限制航班的数目。创建一个航班链表,其中每个节点都指向乘客链表的指针。


#include 
#include 
#include 
 
using namespace std;
typedef struct TK{
 char Name[20];
 int SeatId;
 struct TK *next;
}Ticket;
 
 
typedef struct FLY
{
 char FlightId[10];
 int Seat[50];
 Ticket *PersonHead;
 struct FLY *next;
}Flight;
 
 
class Person{
public:
 void ListInitiate(Flight **head);
 bool Check(int *Seat,int Ch);
 void Insert(Flight *head);
 int Delete(Flight *head);
 void show(Flight *head);
 void Search(Flight *head);
 void AddFlght(Flight *head);
 void DeleteFlght(Flight *head);
};
 

#include "list.h"
 
int menu()
{
 int option;
 cout<>option;
 getchar();
 cout<=0&&option<=6)
 return option;
 else 
 return -1;
}
int main()
{ 
 
 cout<<"------------------------->航班管理系统<<<<-----------------------------"<PersonHead=(Ticket *)malloc(sizeof(Ticket));
 (*head)->PersonHead->next=NULL;
 (*head)->next=NULL;
 for(int i=0;i<50;i++)
 {
 (*head)->Seat[i]=0;
 }
}
 
bool Person::Check(int *Seat,int Ch)
{
 int i;
 for(int i=0;i<50;i++)
 {
 if(Ch==i&&Seat[i]!=1)return 1;
 }
 return 0;
}
Flight* Index(Flight *head,char *Id)
{
 Flight *p=head->next;
 
 while(p)
 {
 if(strcmp(p->FlightId,Id)==0)
 {
 return p;
 }
 p=p->next;
 }
 
 return NULL;
}

void Person::Insert(Flight *head)
{
 int count=0;
 int Ch;
 Flight *s=head;
 
 if(s->next==NULL)
 {
 cout<<"暂无航班!"<next;
 while(s!=NULL)
 {
 puts(s->FlightId);
 count++;
 if(count%5==0)
 cout<<"n";
 s=s->next;
 }
 count=0;
 char FID[10];
 cout<<"输入航班ID:";
 gets(FID);
 s=Index(head,FID);
 if(s==NULL)
 {
 cout<<"输入ID有误"<Seat[i]!=1)
 {
 cout<>Ch;
 getchar();
 if(!Check(head->Seat,Ch))
 {
 cout<<"This Seat have been booked or it is non-existent";
 return ;
 }
 s->Seat[Ch]=1;
 char name[20];
 cout<PersonHead,*q;
 
 while(p->next!=NULL)
 { 
 if(strcmp(p->next->Name,name)>0)
 break;
 p=p->next;
 }
 
 q=(Ticket *)malloc(sizeof(Ticket));
 q->next=p->next;
 p->next=q;
 strcpy(q->Name,name);
 q->SeatId=Ch;
}
 

int Person::Delete(Flight *head)
{
 char name[20],FID[10];
 cout<<"Input your Name:";
 gets(name);
 getchar();
 Flight *s;
 cout<<"Input the Flight ID:";
 gets(FID);
 s=Index(head,FID);
 if(s==NULL)
 {
 cout<<"输入ID有误"<PersonHead->next,*pre=s->PersonHead;
 int flag=0;
 while(p!=NULL)
 {
 if(strcmp(p->Name,name)==0){
 flag=1;
 break; 
 }
 pre=p;
 p=p->next;
 }
 if(flag==1){
 pre->next=p->next;
 s->Seat[p->SeatId]=0;
 free(p);
 cout<<"你的机票已经取消成功";
 }
 else 
 {
 cout<<"您还没订票n";
 return 0; 
 }
 return 1;
}

void Person::show(Flight *head)
{
 Flight *s;
 char FID[10];
 cout<<"Input The Flight ID:";
 gets(FID);
 s=Index(head,FID);
 if(s==NULL)
 {
 cout<<"输入ID有误"<PersonHead->next;
 if(p==NULL)
 {
 cout<<"还没乘客订票"<Name<<" 座位号:" <SeatId;
 p=p->next;
 }
}
 

void Person::Search(Flight *head)
{
 char name[20];
 cout<<"Input Your Name:";
 gets(name);
 Flight *s;
 char FID[10];
 cout<<"Input The Flight ID:";
 gets(FID);
 s=Index(head,FID);
 if(s==NULL)
 {
 cout<<"输入ID有误"<PersonHead->next;
 int flag=0;
 while(p!=NULL)
 {
 if(strcmp(p->Name,name)==0){
 flag=1;
 break; 
 }
 p=p->next;
 }
 if(flag==1){
 cout<next)
 {
 p=p->next;
 }
 
 ListInitiate(&q);
 p->next=q;
 strcpy(q->FlightId,FlightID);
 cout<<"——航班已添加成功!";
}

void Person::DeleteFlght(Flight *head)
{
 char FlightID[10];
 int flag=0;
 Flight *p=head->next,*q=head;
 
 int count=0;
 Flight *s=head;
 
 if(s->next==NULL)
 {
 cout<<" 暂无航班!"<next;
 while(s!=NULL)
 {
 cout<FlightId<next;
 }
 cout<<" 输入航班ID:";
 gets(FlightID);
 while(p)
 {
 if(strcmp(p->FlightId,FlightID)==0)
 {
 flag=1;break;
 }
 q=p;
 p=p->next;
 }
 if(flag==0)
 {
 cout<<" 该航班ID不存在!";
 return ;
 }
 q->next=q->next->next;
 free(p);
 cout<<" 航班已删除!n";
}

效果如下:

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/62580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号