欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言实现机票标准管理系统源代码.doc

    • 资源ID:48774830       资源大小:61.50KB        全文页数:43页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言实现机票标准管理系统源代码.doc

    c语言实现机票标准管理系统源代码/*1、用户和管理员及航班信息请以英文字母或数字输入*/*2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/*3、部分文件读写为二进制读写,所以打开文件时会看到乱码*/#include <stdio.h>#include <string.h>#include <stdlib.h>#include<conio.h>#define N 1000void 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 Name20; /管理员/用户姓名 char sexual10;/用户性别 char ps8; / 用户密码 int age; /用户年龄 long Number; /用户身份证号码 int power; /power为1是管理员登录,为0是用户登录userN,up,mg;/up为键盘输入用户信息,userN为文件保存的用户信息,mg为管理员结构体int n;/所有用户个数,初始化为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; 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");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.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 密码为:123n");fp=fopen(DataFile,"a");/以追加方式打开文件user0.Number=0;strcpy(user0.Name,"boss");strcpy(user0.sexual,"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;i<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("*"); 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");/打印出错提示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"); 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=fopen("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);/打开用户文件失败,则输入用户个数0到fp1fclose(fp1);printf("n目前没有用户信息,请按ENTER键返回主菜单先进行注册!n");getchar();getchar();system("cls");zhujiemian(); for(i=0;i<n;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<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;i<n;i+) /对比用户名和密码,进行登录 if(strcmp(useri.Name,up.Name)=0&&strcmp(useri.ps,up.ps)=0) success=1; break; if(success=1) /登录成功 printf("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.txt","a")=NULL)/打开文件并判断是否出错 printf("创建文件失败!nn");/打印出错提示 getchar(); return; if(fp1=fopen("howmanyusers.txt","w+")=NULL)/打开文件并判断是否出错 printf("创建文件失败!nn");/打印出错提示 getchar(); return; for(i=0;i<n;i+) if(fwrite(&useri,sizeof(struct users),1,fp)=0)/向文件写入数据,并判断是否出错 printf("向文件输入数据失败!nn");fprintf(fp1,"%d",n);/输入用户个数到fp1fclose(fp);/关闭文件 fclose(fp1);/关闭文件 void creatfile()/增加用户信息模块 FILE *fp=NULL,*p=NULL,*fp1; char DataFile20="yonghu.txt"/存储用户信息的文件名 /int a100; int i=0,k=1,count=0; fp=fopen(DataFile,"r"); system("cls");/清屏 if(fp=NULL)/如果当前文件不存在,提示打开文件失败 fp1=fopen("howmanyusers.txt","w+");/以写方式打开 fprintf(fp1,"%d",0);/打开用户文件失败,则输入用户个数0到fp1 fclose(fp1); printf("n不存在%s,正在创建!n",DataFile); fp=fopen(DataFile,"a"); creatfile(); if(fp1=fopen("howmanyusers.txt","a")=NULL)/读写方式打开文件,若文件不存在,则n=0 n=0; else fp1=fopen("howmanyusers.txt","r"); fscanf(fp1, "%d",&n);/读取fp1中的用户个数 fclose(fp1);for(i=0;i<n;i+) fread(&useri,sizeof(struct users),1,fp);/从文件中读取信息 fclose(fp);/关闭文件 /如果成功打开文件,则提示输入用户相关信息 printf("请输入用户信息n"); fflush(stdin); while(k) /printf("n输入身份证号码注意身份证号码不能为0!n"); printf("请输入身份证号码:"); scanf("%ld",&up.Number); i=0;/再次初始化i为0 /判断身份证号是否存在 while(i<n) if(useri.Number=up.Number) printf("该身份证号码已被使用过!n请重新输入身份证号:"); scanf("%ld",&up.Number); i=0; /continue; else i+; /经循环对比后,i的值仍和n相等,将新注册的信息加入数组末位 useri.Number=up.Number; printf("姓名:"); scanf("%s",&useri.Name); useri.Name19='0' printf("性别:"); scanf("%s",&useri.sexual); printf("用户密码:"); scanf("%s",&useri.ps); printf("年龄:"); scanf("%d",&useri.age); n+;/用户数目增加 printf("是否继续注册?是:选1,否:选0;"); scanf("%d",&k); saveuser(user);/保存用户信息 fclose(fp); /在屏幕上显示文件内容 system("cls"); printf("数据已经成功保存到%s中n",DataFile); getchar(); printf("按任意键返回主界面!n"); getchar(); system("cls"); zhujiemian();/返回主界面void loginflightm()/管理员登录机票系统int j;do system("cls");printf(" -您好,欢迎进入自动化飞机订票系统!-n"); printf("=n"); printf(" *- - 1.输入航班信息 - -*nn" " *- - 2. 浏 览 航 班 信 息 - -*nn" " *- 3. 查 找 航 班 信 息 - -*nn" " *- - 4.对航班按航班票价排序-*nn" " *- - 5. 订 票 信 息- -*nn" " *- - 0.退出 - -*nn" " *- - - -*nn" " *- - - -*nn" " *- - - -*nn"); printf("=n"); printf("请在0-5中选择以回车键结束:nn"); scanf("%d",&j); switch(j) case 1: input();/调用输入模块 break; case 2:system("cls");print();/调用打印模块 break; case 3:search();/调用查找模块 break; case 4:paixu();/调用排序模块 break; case 5:dingpiao();/调用订票模块 break; case 0:; break; while(j!=0); /判断结束 printf("按任意键返回主界面n");system("cls");zhujiemian();/登录函数结束void loginflightu()/用户登录机票系统int j;do system("cls");printf(" -您好,欢迎进入自动化飞机订票系统!-n"); printf("=n"); printf(" *- - 1. 浏 览 航 班 信 息 - -*nn" " *- 2. 查 找 航 班 信 息 - -*nn" " *- - 3.对航班按航班票价排序-*nn" " *- - 4. 订 票 信 息- -*nn" " *- - 0.退出 - -*nn" " *- - - -*nn" " *- - - -*nn" " *- - - -*nn"); printf("=n"); printf("请在0-5中选择以回车键结束:nn"); scanf("%d",&j); switch(j) case 1:system("cls");print();/调用打印模块 break; case 2:search();/调用查找模块 break; case 3:paixu();/调用排序模块 break; case 4:dingpiao();/调用订票模块 break; case 0:; break; while(j!=0); /判断结束 printf("按任意键返回主界面n");system("cls");zhujiemian();/登录函数结束void input()/输入航班信息模块,管理员操作 int i=0,k=1;read();printf("请依次输入航班信息(航班号,起始站,终点站,起飞时间,机票数,票价):nn");/打印提示信息 printf("-n"); /fflush(stdin); while(k) printf("请输入航班号:n"); scanf("%d",&fnew.num); /读取航班号 i=0;/再次初始化i为0 /判断航班是否已经存在 while(i<m) if(si.num=fnew.num) printf("该航班已经存在!n请重新输入:"); scanf("%d",&fnew.num); i=0; /continue; else i+; /经循环对比后,i的值仍和n相等,将新注册的信息加入数组末位 si.num=fnew.num; printf("请输入起始站:n"); scanf("%s",si.start);/读取起始站 printf("请输入终点站:n"); scanf("%s",si.over);/读取终点站 printf("请输入时间:n"); scanf("%s",si.time);/读取时间 printf("请输入余票数(机票数为0结束输入):n",m); scanf("%d",&si.count);/读取机票数 printf("请输入机票票价:n",m); scanf("%d",&si.prize);/读取机票票价 m+; /所有航班信息个数/ printf("第%d个信息已经输完是否继续?按1-9任意数字继续,按0结束",m); /scanf("%d",&y); printf("是否继续添加航班?是:选1,否:选0;"); scanf("%d",&k); if(k=0) save();/将结构体信息存盘system("cls");print();/输出输入的航班信息 break; void save()/航班信息保存模块程序 FILE *fp,*fp1;/定义文件指针 if(fp=fopen("flight.txt","wb")=NULL)/打开文件并判断是否出错 printf("创建文件失败!nn");/打印出错提示 getchar(); return; if(fp1=fopen("howmanyflights.txt","wb")=NULL)/打开文件并判断是否出错 printf("创建文件失败!nn");/打印出错提示 getchar(); return; for(i=0;i<m;i+) if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件写入数据,并判断是否出错 printf("向文件输入数据失败!nn"); fprintf(fp1,"%d",m); fclose(fp);/关闭文件 fclose(fp1);/关闭文件 void read()/从文件读取航班信息模块 FILE *fp,*fp1;/定义文件指针 fp=fopen("flight.txt","r"); /system("cls");/清屏 if(fp=NULL)/如果当前文件不存在,提示打开文件失败 fp1=fopen("howmanyflights.txt","w+");/以写方式打开 fprintf(fp1,"%d",0);/打开用户文件失败,则输入用户个数0到fp1 fclose(fp1); printf("n不存在flight.txt,正在创建!n"); fp=fopen("flight.txt","a"); printf("创建完成!n"); system("cls"); read(); /perror("Open file fail"); /getch(); if(fp1=fopen("howmanyflights.txt","rb")=NULL)/读写方式打开文件,若文件不存在,则m=0 /printf("创建文件失败!nn");/打印出错提示 m=0; else fp1=fopen("howmanyflights.txt","r"); fscanf(fp1, "%d",&m);/读取fp1中的用户个数 fclose(fp1);for(i=0;i<m;i+) fread(&si,sizeof(struct air),1,fp);/从文件中读取信息 fclose(fp);/关闭文件 void print()/屏幕打印航班信息模块 read();/调用读取文件函数 if(m=0)printf("nn目前没有航班信息!n");elseprintf("航班信息如下:n");printf("航班号 起始站 终点站 时间 余票数 票价n"); for(i=0;i<m;i+) printf(PRINT);/打印信息 printf("n请按任意键回车键结束返回主菜单"); getchar();getchar(); void paixu()/对所有航班按航班价格排序int j;struct paiint no;char name120;char name220;char time20;int count;int prize;p1;/临时定

    注意事项

    本文(c语言实现机票标准管理系统源代码.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开