发现最近查找课设的同学比较多,专门查找了以前的程序,时间匆忙,不做太多介绍,希望给你带来帮助。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<Windows.h>
#include<string.h>
#define LEN sizeof(struct feiji)
typedef struct feiji
{
int might1;//管理员访问权限1
int might2;//服务员访问权限234
int might3;//访问权限5
char account[20];//账户
char possword[20];//密码
char name[20];//姓名
char ID[20];//身份证号
char chufa[20];
char zhongdian[20];
char time[30];
char hangbanhao[10];
char feijihao[20];
int weihao;
struct feiji* next;//
}LinkList;
void menu1(struct feiji* p);
void menu22(struct feiji* p);
void menu2(struct feiji* p);
void menu33(struct feiji* p);
void menu311(struct feiji* p);
void ADD(LinkList* p);
void chaxun1(LinkList* p);
void tongji1(LinkList* p);
void shoupiao(LinkList* p);
void huanpiao(LinkList* p);
void tuipiao(LinkList* p);
void dayin(LinkList* p);
void Remove(LinkList* p);
void ListInsert(LinkList* L, LinkList* n);
void readfeijiput(LinkList* L);
void savefeijiFile(LinkList* L);
void ADD1(LinkList* p);
void amend(LinkList* p);
void statistics2(LinkList* p);
void sanchu(LinkList* p);
void chaxunhangxian(LinkList* p);
void ADD(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* h = p->next;
struct feiji* q;
int flag = 0, i = 0, j = 0, k = 1, a = 0;
char chufa[20], zhongdian[20], time[30], hangbanhao[10], feijihao[20];
int weihao;
system("cls");
printf("请输入出发点\n");
scanf("%s", chufa); getchar();
printf("请输入终点\n");
scanf("%s", zhongdian); getchar();
printf("请输入班次时间(月.日.时.分)\n");
scanf("%s", time); getchar();
printf("请输入航班号\n");
scanf("%s", hangbanhao); getchar();
printf("请输入飞机号\n");
scanf("%s", feijihao); getchar();
printf("请输入开辟的飞机票数量(小于100):\n");
scanf("%d", &j); getchar();
while (n != NULL)
{
if ((strcmp(n->feijihao, feijihao) == 0) && (n->might3 != 5) && (strcmp(n->time, time) == 0))
{
i++;
a = n->weihao;
}
n = n->next;
}
if (j < 100 - i)
{
while (k <= j)
{
a++;
q = (struct feiji*)malloc(sizeof(struct feiji));
strcpy(q->account, "0");
strcpy(q->possword, "0");
strcpy(q->name, "0");
strcpy(q->ID, "0");
strcpy(q->chufa, chufa);
strcpy(q->zhongdian, zhongdian);
strcpy(q->hangbanhao, hangbanhao);
strcpy(q->feijihao, feijihao);
q->weihao = a;
strcpy(q->time, time);
q->might1 = 0;
q->might2 = 0;
q->might3 = 0;
k++;
ListInsert(p, q);
}
}
else
{
printf("已达上限!\n");
Sleep(1500);
menu2(p);
}
if (k != 1)
{
printf("设置成功!\n");
}
printf("按回车键返回菜单!\n");
getchar();
menu2(p);
}
void chaxun1(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* q = p->next;
int flag = 0, i, j = 0, k = 1;
char qidian[20], zhongdian[20], time[20], feijihao[20], hangbanhao[20];
system("cls");
printf("请输入要修改飞机号:\n");
scanf("%s", feijihao);
getchar();
while (n != NULL)
{
if (strcmp(n->feijihao, feijihao) == 0&&n->might3==0)
{
printf("请选择将要修改的内容:\n");
printf("1.起点\n");
printf("2.终点\n");
printf("3.时间\n");
printf("4.飞机号\n");
printf("5.返回上一层\n");
scanf("%d", &i);
switch (i)
{
case 1:printf("请输入新修改的起点\n"); scanf("%s", qidian); j = 1;
while (q != NULL)
{
if (strcmp(q->feijihao, feijihao) == 0)
{
strcpy(q->chufa, qidian);
}
q = q->next;
}printf("修改成功!\n"); Sleep(2000); menu2(p); break;
case 2:printf("请输入新修改的终点\n"); scanf("%s", zhongdian); j = 1;
while (q != NULL)
{
if (strcmp(q->feijihao, feijihao) == 0)
{
strcpy(q->zhongdian, zhongdian);
}
q = q->next;
}printf("修改成功!\n"); Sleep(2000); menu2(p); break;
case 3:printf("请输入新修改的时间\n"); scanf("%s", feijihao); j = 1;
while (q != NULL)
{
if (strcmp(q->feijihao, feijihao) == 0)
{
strcpy(q->time, time);
}
q = q->next;
}printf("修改成功!\n"); Sleep(2000); menu2(p); break;
case 4:printf("请输入新修改的飞机号\n"); scanf("%s", feijihao); j = 1;
while (q != NULL)
{
if (strcmp(q->feijihao, feijihao) == 0)
{
strcpy(q->feijihao, feijihao);
}
q = q->next;
}printf("修改成功!\n"); Sleep(2000); menu2(p); break;
case 5:menu2(p); break;
default:printf("请输入合法量!\n"); Sleep(2000); menu2(p); break;
}
}
n = n->next;
}
if (j == 1)
{
printf("修改成功!\n");
}
if (j == 0)
{
printf("修改失败\n");
}
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu2(p);
}
void tongji1(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* h = p->next;
int flag = 0, i, j = 0, k = 0;
char a[20], qidian[20], zhongdian[20], time[20], feijihao[20], hangbanhao[10];
system("cls");
printf("请选择你要查询的方式\n1.按照班次查询\n2.按照起点查询\n3.按照终点查询\n");
scanf("%d", &i);
if (i == 1)
{
printf("请输入班次:\n");
scanf("%s", a);
getchar();
while (h != NULL)
{
if (strcmp(h->hangbanhao, a) == 0 &&h->might3 == 0&&h->might2==0&&h->might1==0)
{
j = j + 1;
if(k==0)
{
strcpy(qidian, h->chufa);
strcpy(zhongdian, h->zhongdian);
strcpy(time, h->time);
strcpy(feijihao, h->feijihao);
strcpy(hangbanhao, h->hangbanhao);
k=1;
}
if(strcmp(h->hangbanhao,hangbanhao)!=0||strcmp(h->feijihao,feijihao)!=0)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
k=0;
j=0;
}
}
h = h->next;
}
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
}
if (i == 2)
{
printf("请输入起点:\n");
scanf("%s", a);
getchar();
while (h != NULL)
{
if (strcmp(h->chufa, a) == 0 &&h->might3 == 0&&h->might2==0&&h->might1==0)
{
j = j + 1;
if(k==0)
{
strcpy(qidian, h->chufa);
strcpy(zhongdian, h->zhongdian);
strcpy(time, h->time);
strcpy(feijihao, h->feijihao);
strcpy(hangbanhao, h->hangbanhao);
k=1;
}
if(strcmp(h->hangbanhao,hangbanhao)!=0||strcmp(h->feijihao,feijihao)!=0)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
k=0;
j=0;
}
}
h = h->next;
}
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
}
if (i == 3)
{
printf("请输入终点:\n");
scanf("%s", a);
getchar();
while (h != NULL)
{
if (strcmp(h->zhongdian, a) == 0 &&h->might3 == 0&&h->might2==0&&h->might1==0)
{
j = j + 1;
if(k==0)
{
strcpy(qidian, h->chufa);
strcpy(zhongdian, h->zhongdian);
strcpy(time, h->time);
strcpy(feijihao, h->feijihao);
strcpy(hangbanhao, h->hangbanhao);
k=1;
}
if(strcmp(h->hangbanhao,hangbanhao)!=0||strcmp(h->feijihao,feijihao)!=0)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
k=0;
j=0;
}
}
h = h->next;
}
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
}
if (j != 0)
{
printf("查询结束\n");
}
if (j == 0)
{
printf("查询失败\n");
}
printf("按回车键返回菜单!\n");
getchar();
menu2(p);
}
void shoupiao(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* h = p->next;
struct feiji* t;
int flag = 0, i = 0, j = 0, k = 0;
char feijihao[20],hangbanhao[20];
char chufa[20], zhongdian[20], name[20], ID[20];
int weihao;
system("cls");
printf("请输入起点:\n");
scanf("%s", chufa);
getchar();
printf("请输入终点:\n");
scanf("%s", zhongdian);
getchar();
while (h != NULL)
{
if ((strcmp(h->chufa, chufa) == 0) && (strcmp(h->zhongdian, zhongdian) == 0) && (h->might3 ==0))
{
if (i == 0)
{
printf("起点:%s 终点: %s \n", h->chufa, h->zhongdian);
i++;
}
printf("班次:%s 飞机号:%s 时间:%s 座位号%d\n", h->hangbanhao, h->feijihao, h->time, h->weihao);
}
h = h->next;
}
if (i == 0)
{
printf("暂无此类型机票!\n");
Sleep(2000);
menu311(p);
}
h = p->next;
i = 0;
printf("1.继续购票\n2.退出\n\n");
scanf("%d", &i);
if (i == 1)
{
printf("请输入航班号:\n");
scanf("%s", hangbanhao);
getchar();
printf("请输入飞机号:\n");
scanf("%s", feijihao);
getchar();
printf("请输入位号:\n");
scanf("%d", &weihao);
getchar();
while (h != NULL)
{
if ((strcmp(h->hangbanhao,hangbanhao) == 0)&&(strcmp(h->feijihao, feijihao) == 0) && h->weihao == weihao && (h->might3 ==0))
{
k = 1;
printf("请输入姓名:");
scanf("%s", h->name);
getchar();
printf("请输入ID:");
scanf("%s", h->ID);
getchar();
h->might3 = 5; break;
}
h = h->next;
}
if (k == 1)
{
printf("购票成功!\n");
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu311(p);
}
if (k == 0)
{
printf("购票失败!\n");
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu311(p);
}
}
if (i == 2)
{
menu311(p);
}
}
void huanpiao(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* h = p->next;
struct feiji* t;
int flag = 0, i = 0, j = 0, k = 0, a = 0;
char feijihao[20], ID[20], hangbanhao[20];
char chufa[20], zhongdian[20], name[20];
int weihao;
system("cls");
printf("请输入您的ID:");
scanf("%s", ID);
getchar();
printf("请输入您的班次:");
scanf("%s", hangbanhao);
while (n != NULL)
{
if (strcmp(n->ID, ID) == 0&&strcmp(n->hangbanhao,hangbanhao) == 0)
{
a++;
printf("请输入新起点:\n");
scanf("%s", chufa);
getchar();
printf("请输入新终点:\n");
scanf("%s", zhongdian);
getchar();
while (h != NULL)
{
if ((strcmp(h->chufa, chufa) == 0) && (strcmp(h->zhongdian, zhongdian) == 0) && (h->might3==0))
{
if (i == 0)
{
printf("起点:%s 终点: %s \n", h->chufa, h->zhongdian);
i++;
}
printf("班次:%s 飞机号:%s 时间:%s 座位号%d\n", h->hangbanhao, h->feijihao, h->time, h->weihao);
}
h = h->next;
}
if (i == 0)
{
printf("暂无此类型机票!\n");
Sleep(2000);
menu311(p);
}
h = p->next;
i = 0;
printf("1.继续换票\n2.退出\n");
scanf("%d", &i);
if (i == 1)
{
printf("请输入班次:\n");
scanf("%s", hangbanhao);
getchar();
printf("请输入飞机号:\n");
scanf("%s", feijihao);
getchar();
printf("请输入位号:");
scanf("%d", &weihao);
getchar();
while (h != NULL)
{
if ((strcmp(h->feijihao, feijihao) == 0) && strcmp(h->hangbanhao, hangbanhao)==0 && (h->weihao == weihao) && (h->might3 ==0))
{
k = 1;
strcpy(h->name, n->name);
strcpy(h->ID, n->ID);
h->might3 = 5;
strcpy(n->name, "0");
strcpy(n->ID, "0");
n->might3 = 0;
printf("换票成功!\n");
printf("按回车键返回菜单!\n");
getchar();
menu311(p); break;
}
h = h->next;
}
}
if (i == 2)
{
menu311(p);
}
}
n = n->next;
}
if (k == 0)
{
printf("换票失败!\n");
printf("按回车键返回菜单!\n");
getchar();
menu311(p);
}
}
void tuipiao(LinkList* p)
{
struct feiji* n = p->next;
int flag = 0, i = 0, j = 0, k = 0, a = 0;
char ID[20],banci[20];
system("cls");
printf("请输入您的ID:");
scanf("%s", ID);
getchar();
printf("请输入您的班次:");
scanf("%s", banci);
while (n != NULL)
{
if (strcmp(n->ID, ID) == 0&&strcmp(n->hangbanhao,banci) == 0)
{
printf("起点:%s 终点:%s 时间:%s 航班:%s 飞机号:%s \n", n->chufa, n->zhongdian, n->time, n->hangbanhao, n->feijihao);
printf("1.继续退票\n2.退出\n");
scanf("%d", &i);
if (i == 1)
{
k = 1;
n->might3 = 0;
strcpy(n->name, "0");
strcpy(n->ID, "0");
}
if (i == 2)
{
menu311(p);
}
}
n = n->next;
}
if (k == 1)
{
printf("退票成功!\n");
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu311(p);
}
if (k == 0)
{
printf("退票失败!\n");
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu311(p);
}
}
void chaxunhangxian(LinkList* p)
{
int i=0,j=0,k;
struct feiji* h = p->next;
char a[20], qidian[20], zhongdian[20], time[20], feijihao[20], hangbanhao[20];
system("cls");
printf("请输入起点:\n");
scanf("%s",qidian);
printf("请输入终点:\n");
scanf("%s",zhongdian);
while (h != NULL)
{
if ((h->might3 == 0)&&strcmp(h->zhongdian,zhongdian) == 0&&strcmp(h->chufa,qidian) == 0)
{
j = j + 1;
strcpy(qidian, h->chufa);
strcpy(zhongdian, h->zhongdian);
strcpy(time, h->time);
strcpy(feijihao, h->feijihao);
strcpy(hangbanhao, h->hangbanhao);
i=1;
}
h = h->next;
}
if(i==1)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j);
printf("查询完毕!\n");
printf("按回车键返回菜单!\n");
getchar();
getchar();
Sleep(1000);
}
else
{
printf("无此票务\n");
Sleep(1000);
}
menu311(p);
}
void chakanhangxian(LinkList* p)
{
int i=0,j=0,k=0;
struct feiji* h = p->next;
char a[20], qidian[20], zhongdian[20], time[20], feijihao[20], hangbanhao[20];
system("cls");
while (h != NULL)
{
if (h->might3 == 0&&h->might2==0&&h->might1==0)
{
j = j + 1;
if(k==0)
{
strcpy(qidian, h->chufa);
strcpy(zhongdian, h->zhongdian);
strcpy(time, h->time);
strcpy(feijihao, h->feijihao);
strcpy(hangbanhao, h->hangbanhao);
k=1;
}
if(strcmp(h->hangbanhao,hangbanhao)!=0||strcmp(h->feijihao,feijihao)!=0)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
k=0;
j=0;
}
}
h = h->next;
}
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位数:%d\n", qidian,zhongdian,time,hangbanhao, feijihao,j-1);
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu311(p);
}
void dayin(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* h = p->next;
struct feiji* t;
int flag = 0, i, j = 0, k = 1;
system("cls");
printf("已售票:\n");
while (h != NULL)
{
if (h->might3 == 5&&h->might1== 0&&h->might2== 0)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位号:%d\n", h->chufa, h->zhongdian, h->time, h->hangbanhao, h->feijihao, h->weihao);
j=1;
}
h = h->next;
}
h = p->next;
printf("未售票:\n");
while (h != NULL)
{
if (h->might3 == 0&&h->might1== 0&&h->might2== 0)
{
printf("起点:%s 终点:%s 时间:%s 班次:%s 飞机号:%s 座位号:%d\n", h->chufa, h->zhongdian, h->time, h->hangbanhao, h->feijihao, h->weihao);
j=1;
}
h = h->next;
}
if (j == 1)
{
printf("打印结束\n");
}
if (j != 1)
{
printf("暂无购买信息\n");
}
printf("按回车键返回菜单!\n");
getchar();
getchar();
menu2(p);
}
void Remove(LinkList* p)
{
struct feiji* n = p->next;
struct feiji* h = p->next->next;
int flag = 0;
char acc[20];
system("cls");
printf("请输入要删除的账户:");
scanf("%s", acc);
while (h != NULL)
{
if (strcmp(h->account, acc) == 0)
{
n->next = h->next;
flag = 1;
free(h); break;
}
n = h;
h = h->next;
}
if (flag == 1)
{
printf("删除成功!\n");
printf("\t请按回车键返回菜单\n");
}
if (flag == 0)
{
printf("删除失败!\n");
printf("\t请按回车键返回菜单\n");
}
getchar();
getchar();
menu2(p);
}
void statistics2(LinkList* p)
{
struct feiji* q = p->next;
int c = 0, i = 0;
system("cls");
while (q != NULL)
{
if (i == 0)
{
printf("账号 密码 权限(1为票务管理,2为机票销售)\n");
i = 2;
}
if (q->might2 == 1 || q->might2 == 2 )
{
printf("%s %s %d\n", q->account, q->possword, q->might2);
c = c + 1;
}
q = q->next;
}
if (c == 0)
{
printf("暂无服务员信息\n");
}
printf("\t请按回车键返回菜单\n");
getchar();
getchar();
menu2(p);
}
void amend(LinkList* p)
{
struct feiji* q = p->next;
char acc[20], poss[20], ac[20];
int flag = 0, i;
system("cls");
printf("请输入要修改的账号:");
scanf("%s", acc);
while (q != NULL)
{
if (strcmp(q->account, acc) == 0)
{
flag = 1;
printf("1.仅修改密码\n2.密码账户均修改\n");
scanf("%d", &i);
if (i == 1)
{
printf("请输入新密码:");
scanf("%s", poss);
strcpy(q->possword, poss); break;
}
if (i == 2)
{
printf("请输入新账号:");
scanf("%s", ac);
getchar();
printf("请输入新密码:");
scanf("%s", poss);
strcpy(q->account, ac);
strcpy(q->possword, poss); break;
}
}
q = q->next;
}
if (flag == 0)
{
printf("账户错误!\n");
printf("\t请按回车键返回菜单\n");
}
if (flag == 1)
{
printf("修改成功!\n");
printf("\t请按回车键返回菜单\n");
}
getchar();
getchar();
menu2(p);
}
void ADD1(LinkList* p)
{
struct feiji* q, * n = p;
struct feiji* h = p->next;
int flag = 0, i;
system("cls");
q = (struct feiji*)malloc(sizeof(struct feiji));
q->next = NULL;
printf("请输入添加的账号\n");
scanf("%s", q->account);
getchar();
printf("请输入添加的密码\n");
scanf("%s", q->possword);
getchar();
printf("请输入售票员的权限(1为票务管理,2为机票销售)\n");
scanf("%d", &q->might2);
getchar();
q->might1 = 0;
q->might3 = 0;
strcpy(q->name, "0");
strcpy(q->ID, "0");
strcpy(q->chufa, "0");
strcpy(q->zhongdian, "0");
strcpy(q->time, "0");
strcpy(q->hangbanhao, "0");
strcpy(q->feijihao, "0");
q->weihao = 0;
while (h != NULL)
{
if (strcmp(h->account, q->account) == 0)
{
flag = 1;
printf("账号重复!");
Sleep(1000);
menu2(p);
break;
}
h = h->next;
}
while (n->next != NULL)
{
n = n->next;
}
n->next = q;
if (flag == 0)
{
printf("\t添加成功\n");
printf("\t请按回车键返回菜单\n");
}
else
{
printf("\t添加失败\n");
Sleep(2000);
}
getchar();
menu2(p);
}
void savefeijiFile(LinkList* L)
{
FILE* fp;
LinkList* p;
p = L->next;
fp = fopen("feiji.txt", "w");
if (fp == NULL)
{
printf("无法打开此文件\n");
exit(0);
}
while (p)
{
fprintf(fp, "%d %d %d %s %s %s %s %s %s %s %s %s %d \n", p->might1, p->might2, p->might3, p->account, p->possword, p->name, p->ID, p->chufa, p->zhongdian, p->time, p->hangbanhao, p->feijihao, p->weihao);
p = p->next;
}
fclose(fp);
}
void ListInsert(LinkList* L, LinkList* n)
{
LinkList* q = L;
n->next = NULL;
while (q->next != NULL)
{
q = q->next;
}
q->next = n;
}
void readfeijiput(LinkList* L)
{
FILE* fp;
LinkList* n;
LinkList* m;
char a[20],b[20],c[20];
char acc[20], po[20], na[20], I[20], chu[20], zhong[20], jia[10], che[20], tim[30];
int mi1, mi2, mi3, wei;
system("color 1A");
system("cls");
fp = fopen("feiji.txt", "r");
if (fp == NULL)
{
fp = fopen("feiji.txt", "w");
exit(0);
}
else
{
if (fgetc(fp) == -1)
{
printf("此程序为首次使用,请输入初始账号:");
scanf("%s",a);
getchar();
printf("请输入初始密码:");
scanf("%s",b);
getchar();
printf("请再次输入初始密码:");
scanf("%s",c);
getchar();
if(strcmp(b,c)!=0)
{
printf("两次密码不同,请重新登录!!!\n");
exit(0);
}
m = (LinkList*)malloc(sizeof(LinkList));
strcpy(m->account, a);//初始账户
strcpy(m->possword, b);//初始密码
strcpy(m->name, "0");
strcpy(m->ID, "0");
strcpy(m->chufa, "0");
strcpy(m->zhongdian, "0");
strcpy(m->hangbanhao, "0");
strcpy(m->feijihao, "0");
m->weihao = 0;
strcpy(m->time, "0");
m->might1 = 1;
m->might2 = 0;
m->might3 = 0;
m->next = NULL;
L->next = m;
}
if (fgetc(fp) != -1)
{
fseek(fp, -2L, 1);
}
while (!feof(fp))
{
fscanf(fp, "%d %d %d %s %s %s %s %s %s %s %s %s %d ", &mi1, &mi2, &mi3, acc, po, na, I, chu, zhong, tim, jia, che, &wei);
n = (LinkList*)malloc(sizeof(LinkList));
strcpy(n->account, acc);
strcpy(n->possword, po);
strcpy(n->name, na);
strcpy(n->ID, I);
strcpy(n->chufa, chu);
strcpy(n->zhongdian, zhong);
strcpy(n->hangbanhao, jia);
strcpy(n->feijihao, che);
n->weihao = wei;
strcpy(n->time, tim);
n->might1 = mi1;
n->might2 = mi2;
n->might3 = mi3;
ListInsert(L, n);
}
}
fclose(fp);
}
void menu33(struct feiji* p)
{
int i = 0;
struct feiji* h = p->next->next;
char a[20], b[20];
system("cls");
printf("请输入账户:");
scanf("%s", a);
getchar();
printf("请输入密码:");
scanf("%s", b);
getchar();
while (h != NULL)
{
if ((strcmp(h->account, a) == 0) && (strcmp(h->possword, b) == 0))
{
if (h->might2 == 2)
{
i = 1;
menu311(p); break;
}
}
h = h->next;
}
if (i == 0)
{
printf("密码或账号错误!\n");
Sleep(2000);
menu1(p);
}
}
void menu311(struct feiji* p)
{
int i;
system("color 1A");
system("cls");
while (1)
{
printf("\n\n\n");
printf("\t\t----------------------------------\n"); Sleep(50);
printf("\t\t **欢迎登陆航空客运订票管理系统** \n"); Sleep(50);
printf("\t\t| 1.售票 |\n"); Sleep(50);
printf("\t\t| 2.退票 |\n"); Sleep(50);
printf("\t\t| 3.换票 |\n"); Sleep(50);
printf("\t\t| 4.查询航线 |\n"); Sleep(50);
printf("\t\t| 5.查看航线 |\n"); Sleep(50);
printf("\t\t| 6.返回上一层 |\n"); Sleep(50);
printf("\t\t| 7.退出(保存) |\n"); Sleep(50);
printf("\t\t----------------------------------\n");
printf("\t\t请选择您要进行的操作:");
scanf("%d", &i);
switch (i)
{
case 1:shoupiao(p); break;
case 2:tuipiao(p); break;
case 3:huanpiao(p); break;
case 4:chaxunhangxian(p); break;
case 5:chakanhangxian(p); break;
case 6:menu1(p); break;
case 7:savefeijiFile(p); exit(0);
default:printf("\t输入不合法量\n"); Sleep(1500); system("cls");
}
}
}
void menu22(struct feiji* p)
{
struct feiji* h = p->next;
char a[20], b[20];
int i = 0;
system("cls");
printf("请输入账户:");
scanf("%s", a);
getchar();
printf("请输入密码:");
scanf("%s", b);
getchar();
while (h != NULL)
{
if ((strcmp(h->account, a) == 0) && (strcmp(h->possword, b) == 0) && (h->might1 == 1||h->might2==1))
{
i = 1;
menu2(p); break;
}
h = h->next;
}
if (i == 0)
{
printf("密码或账号错误!\n");
Sleep(2000);
menu1(p);
}
}
void menu2(struct feiji* p)
{
int c;
system("color 1A");
system("cls");
while (1)
{
printf("\n\n\n");
printf(" \t\t----------------------------\n"); Sleep(50);
printf(" \t\t **请选择您要进行的操作** \n"); Sleep(50);
printf(" \t\t| 1.添加售票员 |\n"); Sleep(50);
printf(" \t\t| 2.修改密码 |\n"); Sleep(50);
printf(" \t\t| 3.删除售票员 |\n"); Sleep(50);
printf(" \t\t| 4.统计售票员信息 |\n"); Sleep(50);
printf(" \t\t| 5.录入飞机信息 |\n"); Sleep(50);
printf(" \t\t| 6.修改飞机信息 |\n"); Sleep(50);
printf(" \t\t| 7.统计飞机信息 |\n"); Sleep(50);
printf(" \t\t| 8.打印已(未)售信息 |\n"); Sleep(50);
printf(" \t\t| 9.返回上一层 |\n"); Sleep(50);
printf(" \t\t| 10.退出(保存) |\n");
printf(" \t\t----------------------------\n");
printf(" \t\t请选择您要进行的操作:");
scanf("%d", &c);
switch (c)
{
case 1:ADD1(p); break;
case 2:amend(p); break;
case 3:Remove(p); break;
case 4:statistics2(p); break;
case 5:ADD(p); break;
case 6:chaxun1(p); break;
case 7:tongji1(p); break;
case 8:dayin(p); break;
case 9:menu1(p); break;
case 10:savefeijiFile(p); exit(0);
default:printf("请输入合法量!\n"); Sleep(2000); system("cls");
}
}
}
void menu1(struct feiji* p)
{
int a;
system("color 1A");
system("cls");
while (1)
{
printf("\n\n\n\n");
printf("\t\t_________________________________\n"); Sleep(50);
printf("\t\t| 欢迎进入航空客运订票管理系统 |\n"); Sleep(50);
printf("\t\t| **请选择您的身份** |\n"); Sleep(50);
printf("\t\t| 1.管理员 |\n"); Sleep(50);
printf("\t\t| 2.售票员 |\n"); Sleep(50);
printf("\t\t| 3.退出 |\n"); Sleep(50);
printf("\t\t_________________________________\n\n");
printf("\t\t请选择您要进行的操作:");
scanf("%d", &a);
switch (a)
{
case 1:menu22(p); break;
case 2:menu33(p); break;
case 3:savefeijiFile(p); exit(0);
default:printf("请输入合法量!\n"); Sleep(2000); menu1(p);
}
}
}
int main()
{
LinkList* p;
p = (struct feiji*)malloc(sizeof(struct feiji));
p->next = NULL;
readfeijiput(p);
menu1(p);
system("pause");
return 0;
}