




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C C 语语 言言 课课 程程 实实 习习 报报 告告 课程设计第课程设计第 1717 题题 一一 题目要求题目要求 请设计请设计 购物卡管理系统购物卡管理系统 要实现系统的主要功能模块有 要实现系统的主要功能模块有 1 1 实现系统内制卡 发卡功能 实现系统内制卡 发卡功能 2 2 实现系统内卡账户和相关账户管理 实现系统内卡账户和相关账户管理 3 3 实现卡交易和合法性检查 实现卡交易和合法性检查 4 4 实现卡金融交易积分功能 实现卡金融交易积分功能 5 5 实现卡报表功能 实现卡报表功能 6 6 数据以文件形式存储 数据以文件形式存储 提示提示 制卡 指申请一个购物卡 但还没有使用 制卡 指申请一个购物卡 但还没有使用 发卡 指该卡以经起用 发卡 指该卡以经起用 实现卡交易 指从卡中消费掉一定金额 实现卡交易 指从卡中消费掉一定金额 二 题目及要求的分析 二 题目及要求的分析 根据题目要求 系统应该实现以下功能 根据题目要求 系统应该实现以下功能 1 制卡 主要是新建出一张购物卡 并输入了顾客部分信息 如姓名 密制卡 主要是新建出一张购物卡 并输入了顾客部分信息 如姓名 密 码等 但卡没有激活 依然不可使用 码等 但卡没有激活 依然不可使用 2 发卡 激活新建的购物卡 用户能够使用卡进行各项活动 发卡 激活新建的购物卡 用户能够使用卡进行各项活动 3 消费 进入账户后 取走少于账户金额的钱款进行消费 并在账户减少消费 进入账户后 取走少于账户金额的钱款进行消费 并在账户减少 相应的金额 增加相应的积分 相应的金额 增加相应的积分 4 存款 进入账户后 在金额项加上用户要存入的钱款 存款 进入账户后 在金额项加上用户要存入的钱款 5 报表 显示顾客购物卡上记录的所有信息 除密码外 报表 显示顾客购物卡上记录的所有信息 除密码外 6 存储 购物卡内的信息以文件形式存储 存储 购物卡内的信息以文件形式存储 7 退出 从系统中退出 退出 从系统中退出 8 菜单 提供良好的界面 方便用户的操作 菜单 提供良好的界面 方便用户的操作 三 整体设计与模块划分 三 整体设计与模块划分 根据以上的分析 可以将系统整体划分为以下大致几部分 根据以上的分析 可以将系统整体划分为以下大致几部分 购物卡管购物卡管 理系统理系统 制卡发卡消费存款报表退出 函数及结构模块有 函数及结构模块有 1 数据结构结构体 数据结构结构体 struct card 定义购物卡的几要素定义购物卡的几要素 char name 20 顾客姓名 即卡号 顾客姓名 即卡号 long int password 购物卡密码购物卡密码 char start 4 购物卡是否激活购物卡是否激活 float account 余额余额 float score 积分积分 card 100 2 main 主函数主函数 3 void menu 菜单菜单 4 make card 制卡制卡 5 start card 激活激活 6 get card 消费消费 7 put card 存款存款 8 display card 报表报表 9 read card 读卡 读取数据 读卡 读取数据 10 write card 写卡 记录数据 写卡 记录数据 11 getch 的功能是等待你按键 有时候 需要程序停一下 以便查看结果 的功能是等待你按键 有时候 需要程序停一下 以便查看结果 它不影响程序的输出结果 它不影响程序的输出结果 4 详细设计详细设计 1 开头部分 开头部分 include include include 头函数名头函数名 void menu struct card 定义购物卡的几要素定义购物卡的几要素 char name 20 顾客姓名 即卡号 顾客姓名 即卡号 long int password 购物卡密码购物卡密码 char start 4 购物卡是否激活购物卡是否激活 float account 余额余额 float score 积分积分 card 100 int length 0 制卡数制卡数 char yes no 是 否 激活 是 否 激活 2 读卡 从文件中读取数据信息 读卡 从文件中读取数据信息 read card 以只读方式以只读方式 FILE fp int i 开始 打开文件 结束 读取文件信息 关闭文件 if fp fopen card txt r NULL 以输出方式打开以输出方式打开 i 0 while feof fp fscanf fp s ld s f d n card i name i length i 1 记录制卡数记录制卡数 fclose fp 3 写卡 将数据信息记录到文件中 写卡 将数据信息记录到文件中 write card 以只写方式以只写方式 FILE fp int i if fp fopen card txt w NULL 以输出方式打开以输出方式打开 printf 写入文件错误写入文件错误 getch exit 0 else 开始 打开文件 结束 将数据存入文件 关闭文件 提示密码错误 任意键返回 for i 0 i length i fprintf fp s ld s f f card i name card i password card i start card i a ccount card i score fclose fp return 1 4 制卡 新建出一张购物卡 并输入了顾客部分信息 如姓名 密码等 但 制卡 新建出一张购物卡 并输入了顾客部分信息 如姓名 密码等 但 卡没有激活 依然不可使用 卡没有激活 依然不可使用 N Y make card 开户和设定密码开户和设定密码 int i long int password1 password2 i length printf 请输入你的姓名请输入你的姓名 n scanf s card i name printf 请设置你的密码请设置你的密码 n scanf ld printf 请再输入你的密码请再输入你的密码 n scanf ld if password1 password2 card i password password1 strcpy card i start no card i account 0 card i score 0 length length 1 printf 制卡成功制卡成功 你的购物卡为你的购物卡为 n printf t 姓名姓名 t 是否激活是否激活 t 余额余额 t 积分积分 n n 输入姓名并两次输入密码 判断两次密码是否相等 开始 赋予新卡信息 记录制卡数 提示新卡信息 制卡成功 将新的数据信息存入文件 输入任意键返回主菜单 结束 printf 8s 8s 10d 10d n card i name card i start card i account card i score write card printf n 输入任意键返回主菜单输入任意键返回主菜单 getch 程序停一下 等待你按键继续 它不影响程序的输出结果程序停一下 等待你按键继续 它不影响程序的输出结果 menu else printf 对不起对不起 你输入的密码错误你输入的密码错误 printf n 输入任意键返回主菜单输入任意键返回主菜单 getch menu 5 发卡 激活新建的购物卡 用户能够使用卡进行各项活动 发卡 激活新建的购物卡 用户能够使用卡进行各项活动 输入姓名并输入密码 开始 读取文件信息 判断文件中是否有 所输入的姓名密码 将卡标记激活 结束 提示姓名或密码错误 任意键返回菜单 start card 激活卡号功能设定激活卡号功能设定 记录数据 提示激活成功 int i n long int password char name 10 n 0 printf 请输入你的姓名请输入你的姓名 n scanf s name printf 请再输入你的密码请再输入你的密码 n scanf ld read card for i 0 i0 write card printf 激活成功激活成功 else printf 您输入的姓名或密码错误您输入的姓名或密码错误 printf n 输入任意键返回主菜单输入任意键返回主菜单 getch menu 6 消费 进入账户后 取走少于账户金额的钱款进行消费 并在账户减少相消费 进入账户后 取走少于账户金额的钱款进行消费 并在账户减少相 应的金额 增加相应的积分 应的金额 增加相应的积分 输入姓名并输入密码 开始 读取文件信息 判断文件中是否有所输 入的姓名密码且已激活 提示输入想消费多少金额 判断是否有足够余额 扣钱并加积分 提示消费成 功 记录数据 任意键返回 结束 提示余额不足 提示姓名密码错误或未激活 任意键返回主菜单 get card 消费功能设定消费功能设定 int i m float n long int password char name 10 m 0 printf 请输入你的姓名请输入你的姓名 n scanf s name printf 请再输入你的密码请再输入你的密码 n scanf ld read card for i 0 i0 printf 你想消费多少钱你想消费多少钱 n scanf f if n card m 1 account card m 1 account card m 1 account n card m 1 score card m 1 score n printf 余额为余额为 f n card m 1 account printf 积分为积分为 d n card m 1 score printf 交易成功交易成功 else printf 您的余额不足您的余额不足 write card printf n 输入任意键返回主菜单输入任意键返回主菜单 getch menu else printf 您输入的姓名或密码错误或卡未激活您输入的姓名或密码错误或卡未激活 printf n 输入任意键返回主菜单输入任意键返回主菜单 getch menu 7 存款 进入账户后 在金额项加上用户要存入的钱款 存款 进入账户后 在金额项加上用户要存入的钱款 输入姓名并输入密码 开始 读取文件信息 判断文件中是否有所输 入的姓名密码且已激活 提示输入想存入多少金额 加钱 提示消费成功 记录数据 任意键返回 结束 提示姓名密码错误或未激活 任意键返回主菜单 put card 存款功能设定存款功能设定 int i m float n long int password char name 10 m 0 printf 请输入你的姓名请输入你的姓名 n scanf s name printf 请再输入你的密码请再输入你的密码 n scanf ld read card for i 0 i0 printf 您想存入多少钱您想存入多少钱 n scanf f card m 1 account card m 1 account n printf 余额为余额为 f n card m 1 account printf 积分为积分为 d n card m 1 score printf 交易成功交易成功 write card else printf 您输入的姓名或密码错误或卡未激活您输入的姓名或密码错误或卡未激活 printf n 输入任意键返回主菜单输入任意键返回主菜单 getch menu 8 报表 显示顾客购物卡上记录的所有信息 除密码外 报表 显示顾客购物卡上记录的所有信息 除密码外 输入姓名并输入密码 开始 读取文件信息 判断文件中是否有所输 入的姓名密码且已激活 显示卡内信息 任意键返回主菜单 结束 提示姓名密码错误或未激活 display card 显示用户信息功能设定显示用户信息功能设定 int i m long int password char name 10 m 0 printf 请输入你的姓名请输入你的姓名 n scanf s name printf 请再输入你的密码请再输入你的密码 n scanf ld read card for i 0 i0 printf t 姓名姓名 t 是否激活是否激活 t t 余额余额 t t 积分积分 n n printf 8s 8s 20f 10d n card m 1 name card m 1 start card m 1 account card m 1 score else printf 您输入的姓名或密码错误或卡未激活您输入的姓名或密码错误或卡未激活 printf n 输入任意键返回主菜单输入任意键返回主菜单 getch menu 9 菜单 提供各种服务选项 菜单 提供各种服务选项 显示各种服务选项 提示顾客选 择 开始 判断输入选择是否有误 根据选择执行相应的函数 结束 提示输入错误并要求 重新选择 void menu int i printf n n printf t t n printf t t 主菜单主菜单 n printf t t n printf t t 1 制卡制卡 申请购物卡申请购物卡 n printf t t 2 发卡发卡 激活购物卡激活购物卡 n printf t t 3 消费消费 n printf t t 4 存款存款 n printf t t 5 报表报表 购物卡信息购物卡信息 n printf t t 6 退出退出 n printf t t n printf t t n n printf 请选择您所需服务请选择您所需服务 1 6 scanf d while i6 printf 你输入有误你输入有误 请再输入请再输入 n printf 请选择您所需服务请选择您所需服务 1 6 scanf d getchar switch i case 1 make card break case 2 start card break case 3 get card break case 4 put card break case 5 display card break case 6 exit 0 10 欢迎界面欢迎界面 提示 欢迎进入系统 开始 提示按任意键进入菜单 结束 main printf n n n t t o o 欢迎进入购物管理系统欢迎进入购物管理系统 o o printf n n t t t 按任意键继续 按任意键继续 printf n n n n n n n n n n n n n n t t t t t t t t 设计者设计者 李洋李洋 getch menu 五 运行与测试报告 运行结果 五 运行与测试报告 运行结果 1 欢迎界面欢迎界面 2 主菜单函数主菜单函数 3 制卡模块制卡模块 4 激活模块激活模块 5 余额不足消费余额不足消费 6 存款积分模块存款积分模块 7 余额充足消费余额充足消费 8 报表模块报表模块 9 退出模块退出模块 六六 感想感想 在这次实习感觉对编程有了一定的了解 特别是对结构体 知道在这次实习感觉对编程有了一定的了解 特别是对结构体 知道 了结构体的构造 对于文件的处理也比以前进步了 但对于为什么了结构体的构造 对于文件的处理也比以前进步了 但对于为什么 打不开文本文件还是不怎么明白 虽然知道用不同的方法打开文件 打不开文本文件还是不怎么明白 虽然知道用不同的方法打开文件 但操作原理还是不怎么知道 这次实习对我最大的帮助大概就是帮但操作原理还是不怎么知道 这次实习对我最大的帮助大概就是帮 我复习了我复习了 C 语言 同时一次上机的实习操作可以帮助我对编程的了语言 同时一次上机的实习操作可以帮助我对编程的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CHES 121-2023灌区智能控制闸门系统技术导则
- 2025年虚拟现实技术在教育行业应用前景研究报告
- 2025年人工智能在智能交通领域的应用前景研究报告
- 2025年智能家居行业智能家电市场前景分析研究报告
- 2025年火电脱硝行业研究报告及未来发展趋势预测
- 压力机安全培训内容课件
- 2025年人脸识别技术行业市场应用前景研究报告
- 2025年智能穿戴行业可穿戴设备应用与市场前景研究报告
- 2025年区块链技术在保险行业的应用前景研究报告
- 2025年可穿戴设备行业创新设计与市场前景研究报告
- 十年(2016-2025)高考英语真题分类汇编:专题06 动词的时态、语态和主谓一致(全国)(解析版)
- 第2课《中国人首次进入自己的空间站》教学设计-统编版语文八年级上册
- 牛羊肉供货合同模板2025年
- 23G409先张法预应力混凝土管桩
- BA系统原理培训课件
- 上海交通大学学生生存手册
- 民航安全检查员(四级)理论考试题库(浓缩500题)
- 统编版高中语文选择性必修上册第一单元测试卷【含答案】
- 保健食品注册与备案管理办法课件
- 钢筋锈蚀原理及应对措施案例分析(54页图文丰富)
- 第二讲水轮机结构
评论
0/150
提交评论