c语言实现机票管理系统源代码
- 格式:doc
- 大小:81.00 KB
- 文档页数:18
/*1、用户和管理员及航班信息请以英文字母或数字输入*/
/*2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/
/*3、部分文件读写为二进制读写,所以打开文件时会看到乱码*/
#include
#include
#include
#include
#define N 1000
void zhujiemian();//主界面函数
void verify();//用户及管理员登录选择
void loginmanager();//管理员登录
void loginuser();//用户登录
void loginflightm();//管理员登录机票系统
void loginflightu();//用户登录机票系统
void creatfile();//创建用户信息模块
void saveuser();//用户信息保存模块程序
void input(); //输入航班信息
void print(); //输出航班信息
void save(); //保存航班信息
void read(); //读取航班信息
void paixu(); // 对所有航班按航班号排序
void search(); //查找航班信息
void dingpiao(); //订票信息
struct users //管理员/用户信息结构体,管理员可以修改航班信息
{
char Name[20]; //管理员/用户姓名
char sexual[10];//用户性别
char ps[8]; // 用户密码
int age; //用户年龄
long Number; //用户身份证号码
int power; //power为1是管理员登录,为0是用户登录
}user[N],up,mg;//up为键盘输入用户信息,user[N]为文件保存的用户信息,mg为管理员结构体
int n;//所有用户个数,初始化为0
struct air //航班信息结构体
{
int num; //航班号
char start[20]; //出发地
char over[20]; //目的地
char time[10]; //时间
int count; //票数
int prize; //票价
}s[N],fnew;
int i;
int m=0; //所有航班个数
#define PRINT "%-d%12s%12s%10s%12d%10d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count,s[i].prize //定义输出格式
void main()//主函数
{
zhujiemian();
}
void zhujiemian()//主界面函数
{
int j;
printf("#===================================================#\n");
printf("# 欢迎进入机票管理系统#\n");
printf("# 1、登录系统#\n");
printf("# 2、新用户注册#\n");
printf("# 0、退出#\n");
printf("#===================================================#\n");
printf("请在1-2中选择以回车键结束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1:verify();//进入机票系统
break;
case 2:creatfile();//进入用户注册系统
break;
case 0:;
break;
}
}
void verify()//验证用户及管理员信息模块
{
system("cls");
printf("#===================================================#\n");
printf("# 1、管理员登录#\n");
printf("# 2、用户登录#\n");
printf("# 0、返回主界面#\n");
printf("#===================================================#\n");
scanf("%d",&j);
switch(j)
{
case 1:loginmanager();//进入管理员登录界面
break;
case 2:loginuser();//进入用户登录界面
break;
case 0:
system("cls");
zhujiemian(); //进入主界面
break;
}
}
/********管理员登录确定函数**********/
void loginmanager()
{
FILE * fp=NULL;//定义文件指针
char DataFile[20]="manager.txt";//存储管理员信息的文件名
int i=0,j=1;
char relogin; //是否重新登录
int success=0; //登录成功的标志
printf("\n---管理员登录---\n");
fp=fopen(DataFile,"r");
if(fp==NULL)//如果当前文件不存在,初始化根用户名为boss,密码为123,权限为管理员{
printf("首次使用该系统!\n");
printf("管理员账户为:boss 密码为:123\n");
fp=fopen(DataFile,"a");//以追加方式打开文件
user[0].Number=0;
strcpy(user[0].Name,"boss");
strcpy(user[0].sexual,"male");
user[0].age=22;
user[0].power=1;
strcpy(user[0].ps,"123");
fwrite(&user[0],sizeof(user),1,fp);
fclose(fp);