资源简介
模拟一个飞机票订票和退票系统假定某民航机场有m个航次的班机,每个航次都只到达一个目的地。试为该机场售票处设计一个自动订票和退票系统。要求系统具有下列功能:(1) 订票。若该航次余票数大于等于乘客订票数,则在该航次的乘客表(按乘客姓氏字母顺序连接)中,插入订票乘客的信息项,并修改航次有关数据,否则,给出相应的提示信息。(2) 退票。若该航次当前退票数小于等于乘客订票数,则在相应的乘客表中找到该乘客项,修改该航次及乘客表中的有关数据.当由于退票,使乘客的订票数为零时,要从乘客表中撤消该乘客项;否则,给出相应的提示信息.(3) 将某航次的余票数恢复初值------该航次的最大客票数.当客户订票数要求不能满足时,系统也可向客户提供到达同一目的地的其他航线情况.
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
#define MaxNode 100
#define charl 100
#define MaxContainf 100
int m;//航班的次数
typedef struct TypeTime
{
int hour;
int minute;
int TimeLong;
}TypeTime;
typedef struct Passenger
{
char name[charl];
int TicketNum;
struct Passenger *next;
}Passenger;
typedef struct TypeFight
{
TypeTime StartTime;
TypeTime EndTime;
int MaxContain;
int ReadyContain;
Passenger *head;
Passenger *last;
}TypeFight;
typedef struct TypePlane
{
char ID[charl];
char StartPlace[charl];
char EndPlace[charl];
int PlaneNum;
TypeFight PlaneFight[MaxNode];
}TypePlane;
TypePlane Plane[MaxNode];
/*int rand01()
{
//随机产生01
srand( (unsigned)time( NULL ) );
return rand() % 2;
}*/
void newline(int n)
{
int i;
for(i = 1;i <= n;i++)
printf(“\n“);
}
void space(int n)
{
int i;
for(i = 1;i <= n;i++)
printf(“ “);
}
void Input()
{
//初始输入输入
FILE *fp;
int i j;
//freopen(“outt.txt“ “w“ stdout);
fp = fopen(“plane.txt“ “r“);
fscanf(fp “%d“ &m);
printf(“m = %d\n“ m);
for(i = 0;i < m;i++){
fscanf(fp “%s%s%s%d“ Plane[i].StartPlacePlane[i].EndPlace
Plane[i].ID &Plane[i].PlaneNum);
printf(“%s %s\n%s\n%d\n“ Plane[i].StartPlace Plane[i].EndPlace
Plane[i].ID Plane[i].PlaneNum);
for(j = 0;j < Plane[i].PlaneNum;j++){
fscanf(fp “%d:%d“ &Plane[i].PlaneFight[j].StartTime.hour
&Plane[i].PlaneFight[j].StartTime.minute);
fscanf(fp “%d:%d“ &Plane[i].PlaneFight[j].EndTime.hour
&Plane[i].PlaneFight[j].EndTime.minute);
printf(“%d:%d “ Plane[i].PlaneFight[j].StartTime.hour
Plane[i].PlaneFight[j].StartTime.minute);
printf(“%d:%d\n“ Plane[i].PlaneFight[j].EndTime.hour
Plane[i].PlaneFight[j].EndTime.minute);
Plane[i].PlaneFight[j].MaxContain = MaxContainf;
Plane[i].PlaneFight[j].ReadyContain = 0;
Plane[i].PlaneFight[j].StartTime.TimeLong =
Plane[i].PlaneFight[j].StartTime.hour * 60 +
Plane[i].PlaneFight[j].StartTime.minute;
Plane[i].PlaneFight[j].EndTime.TimeLong =
Plane[i].PlaneFight[j].EndTime.hour * 60 +
Plane[i].PlaneFight[j].EndTime.minute;
Plane[i].PlaneFight[j].head = (Passenger *)malloc(sizeof(Passenger));
Plane[i].PlaneFight[j].head->next = NULL;
Plane[i].PlaneFight[j].last = Plane[i].PlaneFight[j].head;
}
}
fclose(fp);
}
int BookTicket()
{
char ID[charl];
char name[charl];
TypeTime BeforeTime;
int TimeLong Remain;
int i j TicketNum;
int flag = 0;
int n;
Passenger *p *s *t;
while(1){
system(“cls“);
printf(“请输入你要都买得的票的ID。。。。\n“);
scanf(“%s“ ID);
for(i = 0;i < m;i++){
if(strcmp(Plane[i].ID ID) == 0)break;
}
if(i >= m) return 0; //查询失败,找不到你要查找的
- 上一篇:人员信息管理系统c++版超详细
- 下一篇:MFC CComboBox 实现自动补全
相关资源
- 《Linux程序设计》第四版pdf高清电子版
- C++ Primer mobi
- 使用 IBM Rational Systems Developer 和 Rati
- VC编程助手2010破解版(原名VA_X_10.6.
- Linux操作系统下C语言编程从零开始
- 一个C++实现的源代码行数统计工具
- easySize使用方法和代码
- TLV解析算法
- C++ 从入门到精通明日科技光盘 百度云
- C和C++.rar
- consts.cpp
- 银行管理系统.cpp
- VC++外挂框架.rar
- VisualC++网络高级编程.(人民邮电.陈坚
- C++黑客编程揭秘与防范.pdf
- BombGoldFlower.cpp
- c++万能外挂.txt
- ZhajingHua.cpp
- C++AMP.pdf
- c++程序设计语言英文第三版.pdf
- Visual_assist_X_for_VC6.0破解版.rar
- 《C语言程序设计》谭浩强.pdf
- c++辅助源码.rar
- GBT28169-2011嵌入式软件C语言编码规范
- 用MFC实现的图像处理源代码总集
- C语言程序设计(郑莉)源码.rar
- zw_MFC编写一个简单的登录对话框(连
- 鸡啄米:VS2010MFC编程入门教程.pdf
- ATM源代码用c++文件读写.zip
- C语言写的文件传输系统
评论
共有 条评论