




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C C 语言课程设计语言课程设计 随米打印订单管理系统 学 院 计算机与信息科学学院 学生姓名 谢润发 指导教师 王新祥 职称 教授 专 业 网络工程 班 级 1501 完成时间 2016 6 2 目目 录录 1 问题要求及任务描述问题要求及任务描述 3 1 1 题目要求 3 1 2 主要任务 3 2 解决问题的主要思路和方法解决问题的主要思路和方法 4 2 1 关键问题 4 2 2 拟采用解决问题的方法 4 2 3 主要算法和处理流程图 5 3 程序实现程序实现 6 3 1 程序实现时应考虑的问题 6 3 2 主要源代码及说明 6 4 测试或调试测试或调试 21 4 1 调试过程 21 6 参考文献 27 3 1 1 问题要求及任务描述问题要求及任务描述 1 1 题目要求 设计随米打印订单系统 要求订单编号 文件名 打印份数 单双面打印方式 打印状态 送货状态信息 地址信息和联系人电话信息 试设计 随米 打印订单 处理系统 使之能提供以下功能 1 主菜单 进入系统需要密码核实确认 登入系统以菜单的方式工作 2 浏览打印订单信息 可以浏览全部订单信息 3 添加订单信息 可以添加订单信息 以文件形式保存 4 删除订单信息 可以删除订单信息 5 修改订单信息 可以修改订单人员信息 6 查询订单信息 可以任意查出某种状态的所有订单 7 退出系统 1 2 主要任务 1 根据题目要求 由于订单信息是存放在文件中 所以应提供文件的输 入和输出等操作 2 应提供一个界面来调用各个功能 3 功能模块 本人负责程序设计与订单信息浏览 添加 删除功能 4 2 2 解决问题的主要思路和方法解决问题的主要思路和方法 2 1 关键问题 如何将信息用文本的方式正确的保存下来 再不出错的读取 如何将信息 标准化的输出在程序中 1 为查询订单信息的人提供了一个简单而又真实的情境 使一目了然 2 提供各种工具 充分发挥网络的共享性 开放性和交互性等特点 让 使用者充分发挥其主导作用 3 利用系统 为消费操作者提供方便快捷的操作 为其搭好支架 很好 的引导和帮助使用者的使用 4 在基本要求达成后 进行创新 如进行删除和插件操作 5 需要列出程序清单 并加以诠释写出调试程序的方法 2 2 拟采用解决问题的方法 首先将 c 文件基础知识了解清楚 即文件的基本标志 文件的分类 文件的 缓冲区 熟悉 C 文件的引用 以及在文件读写时文件使用方式即 r w a rb wb ab 等 的区别 熟悉使用链表和指针使程序的运行效率更高 熟练输出的操作使得数据的操 作更加美观 5 2 3 主要算法和处理流程图 开始 是否首次进 入系统 注册管理员 账户 验证账户密 码登录系统 账户名密码 匹配 主菜单 添加订单信 息 浏览订单信 息 查询订单信 息 修改订单信 息 删除订单信 息 退出系统 Y N Y N 是否保存 写入数据 Y 登录次数 小于等于3 次 Y N 结束 6 3 3 程序实现程序实现 3 1 程序实现时应考虑的问题 要考虑到数据的安全性和数据的读取速度 以及程序的便捷使用性 3 2 主要源代码及说明 struct account 定义账户名和密码结构体 char name 20 char pwd 20 struct ord 定义订单结构体 char id 10 订单编号 char name 20 文件名 char num 10 打印份数 char type 20 单双面 char status 10 打印状态 char status2 10 送货状态 char address 20 地址 char price 20 价格 char phone 15 联系人电话 主要函数 int main login return 0 void submit 系统首次建立管理员账户 7 struct account admin char pwd 20 用于注册第二次确认密码 int flag 0 FILE fp if fp fopen account txt r NULL 如果没有账户信息新建管理员 信息 MessageBox NULL 无管理员账户请首次建立账户 信息 MB ICONWARNING printf n n t 请输入管理员账户名 scanf s admin name do 两次确认管理员密码是否输入 正确 printf n n t 请输入管理员密码 scanf s admin pwd printf n n t 请再次输入管理员密码 scanf s pwd if strcmp admin pwd pwd 0 flag 1 else printf n n t 你输的账户名和密码不匹配请重新输入密码 while flag 1 printf n n t 注册成功 请牢记你的账户名和密码 将注册的账户密码信息保存到文件 fp fopen account txt a fwrite fclose fp 关闭指针指向 8 getchar getchar system cls 登录系统 void login system cls int static count 0 定义静态变量 count 统计输入次数 char name 20 pwd 20 FILE fp struct account admin 用户名和密码 submit printf n n t t t 欢迎 进入 printf n n t t t 随米打印 送货上床 printf n n t t t 管理 系统 fp fopen account txt r fread fclose fp printf n n t 请输入您的账户名 scanf s name printf n n t 请输入您的密码 scanf s pwd count 比较用户输入的账户名和密码是否匹配 if strcmp name admin name 0 信息提示 else if count 3 三次登录系统机会 printf n n t 输入次数错误过多无法登陆系统 else printf n n t 你输入的账户名或密码错误按 ENTER 请重新输入 3 count getchar getchar 提示重新输入 login getchar getchar menu void menu system cls int option 0 count 0 printf n n t t 随米打印管理 printf n n t t 主菜单 printf n n t t 1 浏览打印订单信息 printf n n t t 2 添加订单信息 printf n n t t 3 查询订单信息 printf n n t t 4 修改订单信息 10 printf n n t t 5 删除订单信息 printf n n t t 6 退出客房系统 用 switch 来进行选择操作 do if count 0 printf n n t 请选择你要进行的操作 1 6 n else printf n n t 你输入的信息有误请重新选择操作 1 6 n count scanf d while option6 switch option case 1 view break case 2 add break case 3 search break case 4 update break case 5 del break case 6 system exit break void view system cls struct ord info N 11 int count 0 i FILE fp printf n n t t t 欢迎 进入 printf n nt t t t 随米打印 送货上床 printf n n t t t 订单浏览系统 打开读取文件 if fp fopen order txt r NULL 说明文件不存在 printf n t 暂无订单信息 else 如果能打开文件 则循环读取文件中数据 while feof fp feof file end of fread count fclose fp printf n n 打印单号 t 打印文件名 t 打印数量 t 单 双面 t 打印状态 t 配 送状态 t 配送宿舍 t 联系电话 遍历数据 for i 0 i0 for i 0 i count 1 i if strcmp info id infos i id 0 判断订单单号是否已经存在 13 printf n t 该编号已经存在请重新输入 break while i count 1 printf n n t 请输入联系人电话号码 用户输入信息 scanf s printf n n t 请输入打印文件名 scanf s printf n n t 请输入订单数量 份 scanf s printf n n t 请输入打印单双面类型 scanf s printf n n t 请输入配送宿舍地址 scanf s strcpy info status 未打印 strcpy info status2 未配送 flag MessageBox NULL 你确定要添加此次信息吗 信息确认 MB YESNO MB ICONWARNING 存入数据文件 printf n n 打印单号 t 打印文件名 t 打印数量 t 单 双面 t 打印状态 t 配送 状态 t 配送宿舍 t 联系电话 printf n n 8s t 8s t 8s t 8s t 8s t 8s t 8s t 8s info id info name info num info type info status info status2 info address info pho ne if flag 14 fp fopen order txt a fwrite fclose fp printf n t 数据添加成功 getchar getchar menu void search system cls struct ord infos N info N FILE fp int count 0 i 0 j 0 total 0 char status 10 printf n n t 欢迎随米打印管理系统 printf n n t 查询订单信息 if fp fopen order txt r NULL printf 暂无订单信息 else while feof fp 15 fread count fclose fp printf n n t 请输入要查询订单的状态 scanf s status for i 0 i count 1 i if strcmp status infos i status 0 info total infos i total if strcmp status infos i status2 0 info total infos i total if total 0 printf n n t 暂无此状态的订单 else printf n n 打印单号 t 打印文件名 t 打印数量 t 单 双面 t 打印状态 t 配送 状态 t 配送宿舍 t 联系电话 for j 0 j total j 16 printf n n 8s t 8s t 8s t 8s t 8s t 8s t 8s t 8s info j id info j name info j num info j type info j status info j status2 info j address info j phone getchar getchar menu void update system cls struct ord infos N FILE fp int count 0 i 0 j 0 flag 0 flag2 0 int print 0 send 0 订单状态 2 个 char id 10 printf n n t t t 欢迎 进入 printf n n t t t 随米打印 送货上床 printf n n t t t 订单管理系统 if fp fopen order txt r NULL 读取文件数据是否存在 printf n t 暂无订单信息 else while feof fp 17 fread 将数据循环存入数组中 count fclose fp printf n t 请输入要管理的订单编号 scanf s id for i 0 i count 1 i if strcmp infos i id id 0 printf n n 打印单号 t 打印文件名 t 打印数量 t 单 双面 t 打印 状态 t 配送状态 t 配送宿舍 t 联系电话 printf n n 8s t 8s t 8s t 8s t 8s t 8s t 8s t 8s infos i id infos i name infos i num infos i type infos i status infos i status2 in fos i address infos i phone flag2 MessageBox NULL 将订单标记为已打印状态请选择是 将订 单标记为未打印状态请选择否 信息确认 MB YESNO MB ICONWARNING if flag2 6 strcpy infos i status 已打印 printf n n t 订单 s 已打印 infos i id flag 1 else strcpy infos i status 未打印 printf n n t 标记为未打印 break 18 if i count 1 printf n t 对不起暂无该订单信息 else if flag 1 已经被打印的订单才能被标记为已配送 flag2 MessageBox NULL 将订单标记为已配送状态请选择是 将订 单标记为未配送状态请选择否 信息提示 MB YESNO MB ICONWARNING if flag2 6 strcpy infos i status2 已配送 printf n n t 订单 s 已配送 infos i id else strcpy infos i status2 未配送 printf n n t 标记为未配送 fp fopen order txt w for i 0 i count 1 i fwrite fclose fp printf n t 订单管理成功 19 getchar getchar menu void del system cls struct ord infos N FILE fp int count 0 i 0 j char roomid 10 printf n n t t t 欢迎 进入 printf n n t t t 随米打印 送货上床 printf n n t t t 删除上订单信息 if fp fopen order txt r NULL printf 暂无订单信息无法删除 else while feof fp fread count fclose fp printf n n t 请输入要删除的订单编号 20 scanf s roomid for i 0 i count 1 i if strcmp infos i id roomid 0 break if i count 1 printf n n t 你输入的订单编号不存在 else fp fopen order txt w for j 0 j count 1 j if j i continue else fwrite printf n n t 删除客房成功 fclose fp getchar getchar menu 21 4 4 测试或调试测试或调试 4 1 调试过程 1 登入系统界面 1 首次进入系统要求注册账户 2 非首次系统要求输入账户名及密码登录系统 22 2 主界面 输入正确账户名即密码进入主界面 23 3 浏览全部订单信息 1 如果没有订单信息 2 有订单信息 24 4 添加订单信息 25 确定订单信息 26 5 删除订单竞聘信息 6 查询订单 27 7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼类育种课件
- 济宁市2024-2025学年八年级下学期语文月考测试试卷
- 济南市2025-2026学年九年级上学期语文月考测试试卷
- 电路导纳知识培训内容课件
- 高速连接器基础知识培训课件
- 高速离心泵检修课件
- 电芯销售知识培训总结
- 电脑课件无法使用问题
- XXX乡镇学习教育“回头看”经验总结范文
- 电脑知识培训学习课件
- 基础教育改革专题课件
- 安全监理巡视检查记录
- CRD法、CD法、三台阶法、台阶法工程施工程序示意图
- 物料分类账详解
- DGTJ08-2029-2021 多高层钢结构住宅技术标准
- 《温妮的中国年》课件
- 泰来2井三级井喷事故分解析
- 船舶常用英语名称
- 《导游业务》教案资料.docx
- 河南省科技版三年级劳动与技术上册教案
- 农业废弃物资源化利用项目建议书范文
评论
0/150
提交评论