/****飞机订票系统****/
#define _CRT_SECURE_NO_WARNINGS
#define NULL 0
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct WU {
int hangnum;
int flytime;
char mudidi[50];
int tag=0;/******定出与否*****/
char name[10];
char namenum[10];
struct WU* next;
}WU, * WUP;
WUP Init() {
int a = 1, i = 1, b = 1;
int fly[10];
int count = 0;
WUP p, j, t;
for (i = 0; i <= 6; i++) {
fly[i] = i;
}
p = (WUP)malloc(sizeof(WU));
if (p == NULL)
exit(0);
p->next = NULL;
j = p;
while (count <= 5) {
t = (WUP)malloc(sizeof(WU));
if (t == NULL)
exit(0);
t->hangnum = fly[count];
t->flytime = fly[count];
printf(" 目的地");
scanf("%s", t->mudidi);
printf(" 姓名");
scanf("%s", t->name);
printf(" 证件号");
scanf("%s", t->namenum);
t->tag = 0;
t->next = NULL;
p->next = t;
p = t;
count++;
}
return j->next;
}
WUP Output(WUP &p) {
WUP tail = p;
int a=1;
printf("乘客,航次,飞行时间,目的地,是否,姓名,身份证号\n" );
while (p->next!= NULL) {
printf("%d %d %d %s %d %s %s\n", a,p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
p=p->next;
a++;
}
p = tail;
return p;
}
WUP Searchtime(WUP& p, int a)
{
WUP tail = p;
int s;
int count = 1;
printf("请输入时间\n");
scanf("%d", &s);
while (p->next != NULL) {
if (s == p->flytime) {
printf("找到航班:\n");
if (a != 0) {
p->tag = 1;
printf("已经定好了\n");
printf("%d %d %s %d %s %s\n", p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
count = 0;
break;
}
printf("%d %d %s %d %s %s", p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
count = 0;
}
p = p->next;
}
if (count == 1)
printf("未找到\n");
p = tail;
return p;
}
WUP Searchnum(WUP p,int a)
{
WUP tail = p;
int i;
int count = 1;
printf("请输入航班号\n");
scanf("%d", &i);
while (p->next != NULL) {
if (p->hangnum == i) {
printf("找到航班:\n");
if (a != 0) {
p->tag = 1;
printf("已经定好了\n");
printf("%d,%d,%s,%d,%s,%s\n", p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
count = 0;
break;
}
printf("%d %d %s %d %s %s", p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
count = 0;
}
p = p->next;
}
if (count == 1)
printf("未找到\n");
p = tail;
return p;
}
WUP Searchline(WUP p, int a)
{
WUP tail = p;
char s[10];
int count = 1;
printf("请输入地点");
scanf("%s", s);
while (p->next != NULL) {
if (strcmp(s, p->mudidi) == 0) {
printf("找到航班:\n");
if (a != 0) {
p->tag = 1;
printf("已经定好了\n");
printf("%d,%d,%s,%d,%s,%s\n", p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
count = 0;
break;
}
printf("%d,%d,%s,%d,%s,%s", p->hangnum, p->flytime, p->mudidi, p->tag, p->name, p->namenum);
count = 0;
}
p = p->next;
}
if (count == 1)
printf("未找到\n");
p = tail;
return p;
}
void Dingpiao(WUP p) {
int a;
printf("请输入您要的(1)航班号(2)时间(3)地点\n");
scanf("%d", &a);
if (a == 1)
Searchnum(p,a);
if(a==2)
Searchtime(p,a);
if (a == 3)
Searchline(p,a);
}
WUP Delete(WUP p)
{
WUP tail = p;
while (p->next!=NULL) {
p=p->next;
if (p->tag == 1) {
p->tag = 0;
printf("已删除\n");
break;
}
p = p->next;
}
if (p->next == NULL && p->tag != 1) {
printf("您还未订票\n");
}
p = tail;
return p;
}
int main(void)
{
WUP p;
int a = 0;
int choic;
printf("录入数据\n");
p = Init();
printf(" (1)输出航班信息\n");
printf(" (2)查找航班信息(时间)\n");
printf(" (3)查找航班信息(路线)\n");
printf(" (4)订票\n");
printf(" (5)删除订票\n");
printf(" (0)退出\n");
printf("请输入您的选择\n");
scanf("%d", &choic);
if(choic==1)
p=Output(p);
printf("请输入您的选择\n");
scanf("%d", &choic);
while (choic != 0) {
switch (choic) {
case 1:p=Output(p); break;
case 2:p=Searchtime(p, a); break;
case 3:p=Searchline(p, a); break;
case 4:Dingpiao(p); break;
case 5:p=Delete(p); break;
}
printf("请输入你的选择\n");
scanf("%d", &choic);
}
return 0;
}
一个非常简易的飞机订票系统
最新推荐文章于 2022-07-22 18:30:38 发布