最新c语言实现机票管理系统源代码.doc
《最新c语言实现机票管理系统源代码.doc》由会员分享,可在线阅读,更多相关《最新c语言实现机票管理系统源代码.doc(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datec语言实现机票管理系统源代码c语言实现机票管理系统源代码/*1、用户和管理员及航班信息请以英文字母或数字输入*/*2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/*3、部分文件读写为二进制读写,所以打开文件时会看到乱码*/#include #include #include #include#define N 1000void
2、 zhujiemian();/主界面函数void verify();/用户及管理员登录选择void loginmanager();/管理员登录void loginuser();/用户登录void loginflightm();/管理员登录机票系统void loginflightu();/用户登录机票系统void creatfile();/创建用户信息模块void saveuser();/用户信息保存模块程序 void input(); /输入航班信息 void print(); /输出航班信息 void save(); /保存航班信息 void read(); /读取航班信息void paix
3、u(); / 对所有航班按航班号排序void search(); /查找航班信息 void dingpiao(); /订票信息 struct users /管理员/用户信息结构体,管理员可以修改航班信息 char Name20; /管理员/用户姓名 char sexual10;/用户性别 char ps8; / 用户密码 int age; /用户年龄 long Number; /用户身份证号码 int power; /power为1是管理员登录,为0是用户登录userN,up,mg;/up为键盘输入用户信息,userN为文件保存的用户信息,mg为管理员结构体int n;/所有用户个数,初始化为
4、0struct air /航班信息结构体 int num; /航班号char start20; /出发地char over20; /目的地char time10; /时间int count; /票数int prize; /票价sN,fnew; int i; int m=0; /所有航班个数#define PRINT %-d%12s%12s%10s%12d%10dn,si.num,si.start,si.over,si.time,si.count,si.prize /定义输出格式 void main()/主函数zhujiemian();void zhujiemian()/主界面函数int j;
5、printf(#=#n); printf(# 欢迎进入机票管理系统 #n);printf(# 1、登录系统 #n);printf(# 2、新用户注册 #n);printf(# 0、退出 #n); printf(#=#n);printf(请在1-2中选择以回车键结束:nn); scanf(%d,&j); switch(j) case 1:verify();/进入机票系统break; case 2:creatfile();/进入用户注册系统break; case 0:; break; void verify()/验证用户及管理员信息模块int j;system(cls);printf(#=#n);
6、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 DataFile20=manager.t
7、xt;/存储管理员信息的文件名 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 密码为:123n);fp=fopen(DataFile,a);/以追加方式打开文件user0.Number=0;strcpy(user0.Name,boss);strcpy(user0.sexual
8、,male);user0.age=22;user0.power=1;strcpy(user0.ps,123); fwrite(&user0,sizeof(user),1,fp); fclose(fp);elsefclose(fp);again:printf(请输入管理员姓名:); scanf(%s,up.Name);/输入用户名 up.Name19=0; printf(请输入管理员密码:); fflush(stdin);for(i=0;i7;i+)/输入密码,以*在屏幕显示up.psi=getch(); up.psi+1=0;/字符要以0结尾 if(up.psi=b)i-; up.psi=0;
9、/清除前一个字符 i-;/接收前一个字符 printf(b ); printf(b); continue;if(up.psi=r) up.psi=0; break; printf(*); fp=fopen(DataFile,rt); if(fp=NULL) / 打开文件失败时提示 printf(n打开 %s 失败!按任意键结束程序n,DataFile); perror(Open file fail); getchar(); return; if(fp=fopen(manager.txt,r)=NULL)/打开文件,并判断是否出错 printf(n出错,请检查文件是否存在,按任意键返回主菜单n)
10、;/打印出错提示getchar(); elsefread(&mg,sizeof(struct users),1,fp);/从文件中读取信息 fclose(fp);/关闭文件 if(strcmp(mg.Name,up.Name)=0&strcmp(mg.ps,up.ps)=0) success=1; if(success=1) /登录成功 printf(n登录成功,按任意键进入机票调整系统!n); getchar(); loginflightm(); else/未登录成功 fflush(stdin);/清除输入缓冲区中的字符 printf(n用户名或密码错误!重新输入请按y,退出请按n:n);
11、relogin=getchar(); if(relogin=y|relogin=Y) getchar(); goto again; else verify(); exit(0); /*用户登录函数*/void loginuser()FILE *fp=NULL,*fp1;/定义文件指针 char DataFile20=yonghu.txt;/存储管理员信息的文件名 int i=0,j=0; char relogin; /是否重新登录 int success=0; /登录成功的标志 printf(n-用户登录-n); fp=fopen(DataFile,r);/读取文件中数据if(fp1=fope
12、n(howmanyusers.txt,a)=NULL)/读写方式打开文件,若文件不存在,则n=0 /printf(创建文件失败!nn);/打印出错提示 n=0;/getchar(); /continue; else fp1=fopen(howmanyusers.txt,r); fscanf(fp1, %d,&n);/读取fp1中的用户个数 fclose(fp1);if(fp=fopen(yonghu.txt,r)=NULL)/打开文件,并判断是否出错 fp1=fopen(howmanyusers.txt,w+);/以写方式打开fprintf(fp1,%d,0);/打开用户文件失败,则输入用户个
13、数0到fp1fclose(fp1);printf(n目前没有用户信息,请按ENTER键返回主菜单先进行注册!n);getchar();getchar();system(cls);zhujiemian(); for(i=0;in;i+) fread(&useri,sizeof(struct users),1,fp);/从文件中读取信息 fclose(fp);/关闭文件/输入数据与文件中用户比对again:printf(请输入用户姓名:); scanf(%s,up.Name);/输入用户名 up.Name19=0; printf(请输入用户密码:); fflush(stdin);for(i=0;i
14、7;i+)/输入密码,以*在屏幕显示up.psi=getch(); up.psi+1=0;/字符要以0结尾 if(up.psi=b)i-; up.psi=0;/清除前一个字符 i-;/接收前一个字符 printf(b ); printf(b); continue;if(up.psi=r) up.psi=0; break; printf(*);for(i=0;in;i+) /对比用户名和密码,进行登录 if(strcmp(useri.Name,up.Name)=0&strcmp(useri.ps,up.ps)=0) success=1; break; if(success=1) /登录成功 pr
15、intf(n登录成功,按任意键进入机票调整系统!n); getchar(); loginflightu(); else /未登录成功 fflush(stdin);/清除输入缓冲区中的字符 printf(n用户名或密码错误!重新输入请按y,退出请按n:n); relogin=getchar(); if(relogin=y|relogin=Y) getchar(); goto again; else verify(); exit(0); void saveuser(struct users)/用户信息保存模块程序 FILE *fp,*fp1;/定义文件指针 if(fp=fopen(yonghu.t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言 实现 机票 管理 系统 源代码
限制150内