c语言实现机票管理系统源代码

  • 格式:doc
  • 大小:81.00 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/*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);