




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 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 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 fclose fp else fclose fp again printf 请输入管理员姓名 scanf s up Name 输入用户名 up Name 19 0 printf 请输入管理员密码 fflush stdin for i 0 i 7 i 输入密码 以 在屏幕显示 up ps i getch up ps i 1 0 字符要以 0 结尾 if up ps i b i up ps i 0 清除前一个字符 i 接收前一个字符 printf b printf b continue if up ps i r up ps i 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 else fread 从文件中读取信息 fclose fp 关闭文件 if strcmp mg Name up Name 0 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 DataFile 20 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 创建文件失败 n n 打印出错提示 n 0 getchar continue else fp1 fopen howmanyusers txt r fscanf fp1 d 读取 fp1 中的用户个数 fclose fp1 if fp fopen yonghu txt r NULL 打开文件 并判断是否出错 fp1 fopen howmanyusers txt w 以写方式打开 fprintf fp1 d 0 打开用户文件失败 则输入用户个数 0 到 fp1 fclose fp1 printf n 目前没有用户信息 请按 ENTER 键返回主菜单先进行注册 n getchar getchar system cls zhujiemian for i 0 i n i fread 从文件中读取信息 fclose fp 关闭文件 输入数据与文件中用户比对 again printf 请输入用户姓名 scanf s up Name 输入用户名 up Name 19 0 printf 请输入用户密码 fflush stdin for i 0 i 7 i 输入密码 以 在屏幕显示 up ps i getch up ps i 1 0 字符要以 0 结尾 if up ps i b i up ps i 0 清除前一个字符 i 接收前一个字符 printf b printf b continue if up ps i r up ps i 0 break printf for i 0 i n i 对比用户名和密码 进行登录 if strcmp user i Name up Name 0 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 创建文件失败 n n 打印出错提示 getchar return if fp1 fopen howmanyusers txt w NULL 打开文件并判断是否出错 printf 创建文件失败 n n 打印出错提示 getchar return for i 0 i n i if fwrite fprintf fp1 d n 输入用户个数到 fp1 fclose fp 关闭文件 fclose fp1 关闭文件 void creatfile 增加用户信息模块 FILE fp NULL p NULL fp1 char DataFile 20 yonghu txt 存储用户信息的文件名 int a 100 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 读取 fp1 中的用户个数 fclose fp1 for i 0 i n i fread 从文件中读取信息 fclose fp 关闭文件 如果成功打开文件 则提示输入用户相关信息 printf 请输入用户信息 n fflush stdin while k printf n 输入身份证号码注意身份证号码不能为 0 n printf 请输入身份证号码 scanf ld i 0 再次初始化 i 为 0 判断身份证号是否存在 while i n if user i Number up Number printf 该身份证号码已被使用过 n 请重新输入身份证号 scanf ld i 0 continue else i 经循环对比后 i 的值仍和 n 相等 将新注册的信息加入数组末位 user i Number up Number printf 姓名 scanf s user i Name 19 0 printf 性别 scanf s printf 用户密码 scanf s printf 年龄 scanf d n 用户数目增加 printf 是否继续注册 是 选 1 否 选 0 scanf d 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 输入航班信息 n n 2 浏 览 航 班 信 息 n n 3 查 找 航 班 信 息 n n 4 对航班按航班票价排序 n n 5 订 票 信 息 n n 0 退出 n n n n n n n n printf n printf 请在 0 5 中选择以回车键结束 n n scanf d 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 浏 览 航 班 信 息 n n 2 查 找 航 班 信 息 n n 3 对航班按 航班票价排序 n n 4 订 票 信 息 n n 0 退出 n n n n n n n n printf n printf 请在 0 5 中选择以回车键结束 n n scanf d 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 请依次输入航班信息 航班号 起始站 终点站 起飞时间 机票数 票价 n n 打印提示信息 printf n fflush stdin while k printf 请输入航班号 n scanf d 读取航班号 i 0 再次初始化 i 为 0 判断航班是否已经存在 while i m if s i num fnew num printf 该航班已经存在 n 请重新输入 scanf d i 0 continue else i 经循环对比后 i 的值仍和 n 相等 将新注册的信息加入数组末位 s i num fnew num printf 请输入起始站 n scanf s s i start 读取起始站 printf 请输入终点站 n scanf s s i over 读取终点站 printf 请输入时间 n scanf s s i time 读取时间 printf 请输入余票数 机票数为 0 结束输入 n m scanf d 读取机票数 printf 请输入机票票价 n m scanf d 读取机票票价 m 所有航班信息个数 printf 第 d 个信息已经输完是否继续 按 1 9 任意数字继续 按 0 结束 m scanf d printf 是否继续添加航班 是 选 1 否 选 0 scanf d if k 0 save 将结构体信息存盘 system cls print 输出输入的航班信息 break void save 航班信息保存模块程序 FILE fp fp1 定义文件指针 if fp fopen flight txt wb NULL 打开文件并判断是否出错 printf 创建文件失败 n n 打印出错提示 getchar return if fp1 fopen howmanyflights txt wb NULL 打开文件并判断是否出错 printf 创建文件失败 n n 打印出错提示 getchar return for i 0 i m i if fwrite 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 创建文件失败 n n 打印出错提示 m 0 else fp1 fopen howmanyflights txt r fscanf fp1 d 读取 fp1 中的用户个数 fclose fp1 for i 0 i m i fread 从文件中读取信息 fclose fp 关闭文件 void print 屏幕打印航班信息模块 read 调用读取文件函数 if m 0 printf n n 目前没有航班信息 n else printf 航班信息如下 n printf 航班号 起始站 终点站 时间 余票数 票价 n for i 0 i m i printf PRINT 打印信息 printf n 请按任意键回车键结束返回主菜单 getchar getchar void paixu 对所有航班按航班价格排序 int j struct pai int no char name1 20 char name2 20 char time 20 int count int prize p 1 临时定义结构体 作为排序时的第三变量 read 调用读取信息函数 for j 0 j m 1 j for i 0 is i 1 prize 按价格升序排列 p 0 为中间变量 p 0 no s i num 替换航班号 strcpy p 0 name1 s i start 替换其始站 strcpy p 0 name2 s i over 替换终点站 strcpy p 0 time s i time 替换时间 p 0 count s i count 替换机票数 p 0 prize s i prize 替换票价 s i s i 1 s i 1 num p 0 no 替换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- output-10-造纸工艺工程师(涂布)岗位面试问题及答案
- 电诈防范知识培训课件
- 高速车道基础知识培训课件
- 电解池工作原理
- 电芯电池基础知识培训
- 电脑钉钉直播显示课件
- 湖南省岳阳市汨罗市第一中学2025-2026学年高二上学期开学考试物理试卷
- 建设项目环境影响评价服务合同
- rap考试题及答案
- pcr考试试题及答案
- 肿瘤二代测序基因检测技术应用与进展
- 上海同济医院管理制度
- 2025年高考北京卷语文真题作文记叙文深度点评与分析
- 小学生队形队列班会课件
- 地中海贫血护理业务查房
- 华科版七年级信息技术《身边信息-用心感知》
- 职业技术学院运动健康指导专业人才培养方案
- T/CIE 165-2023企业级固态硬盘测试规范第1部分:功能测试
- 离婚后小孩学费协议书
- 初中学校学科竞赛策划工作计划
- 《文献检索与综述实训教程》课件第一章
评论
0/150
提交评论