已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 大学 程序设计课程设计报告程序设计课程设计报告 商场销售管理系统商场销售管理系统 学号学号 姓名姓名 日期日期 2 目目 录录 一 需求分析 3 二 程序主要功能 3 三 程序运行平台 4 四 系统功能框架图 5 五 程序类说明 6 六 模块分析 7 七 比较有特色的地方 13 八 存在的不足与对策 13 九 编程体会 14 十 程序源代码 15 3 一 需求分析 本系统旨在实现一个小型的商城销售管理系统 对于一个小型的本系统旨在实现一个小型的商城销售管理系统 对于一个小型的 商场或销售店铺来说 实施本系统不仅可以减少工作人员数量 降商场或销售店铺来说 实施本系统不仅可以减少工作人员数量 降 低成本 而且可以大大提高工作效率 降低工作强度 方便卖家记低成本 而且可以大大提高工作效率 降低工作强度 方便卖家记 录商品流通信息 统计销售情况 分析市场需求 帮助卖家更好的录商品流通信息 统计销售情况 分析市场需求 帮助卖家更好的 管理商场 以获取跟多的利润 管理商场 以获取跟多的利润 程序主要实现进货管理 商品基本信息查询与修改 利润计算与程序主要实现进货管理 商品基本信息查询与修改 利润计算与 销售统计 库存管理等及一些辅助功能 销售统计 库存管理等及一些辅助功能 二 程序主要功能 该程序的主要功能有 1 商品信息管理 可对商品信息进行查看 按一定规则排序及商品查找 其中具体信息包括 商品名称 编号 进货成本价 销售价 进 货总量 销售量 可以对库存 已获得利润 总体成本价等进 行计算 2 管理员功能 可实现对商品信息的进行修改 添加 删除等功能 并 进行文件的操作储存 以更好的保护信息 能有效的管理好商 品信息的隐秘性 4 3 辅助功能 该程序实现了一下清屏 清空文件 操作提示等善后辅 助功能 能帮助用户更好的应用该程序 使程序的功能最大化 实现 三 程序运行平台 该程序是用 VC 6 0 制做的 使用 Microsoft Visual C 6 0 运行该程序 具体操作是 打开 Microsoft Visual C 6 0 菜单栏里点文件 打开工作 区 找到 图书管理系统 dsw 这个文件 打开 或者在 资源管理器中双击该文件 此时 VC 6 0 会自动打开 并载入该系统相关资源 点击 Run 命令菜单或者或用快捷 键 Ctrl F5 运行该程序 5 四 系统功能框架图 商商城城销销售售管管理理系系统统 商品基本信息商品基本信息 名称 编号 成本 单价 销量 库存 总量 利润 商品管理商品管理 修改数据 创建新表 增加商品 删除商品 文件存档 从文件中 提取数据 商品信息查看商品信息查看 显示全部内容 商品查找 显示商品信息 按销量排序 按利润排序 进入系统进入系统 退出系统退出系统 其它辅助功能其它辅助功能 使用说明及帮助等使用说明及帮助等 6 五 程序类说明 有关商品信息的类 存储商品信息 class GoodsInfo public char name 商品名称 int number 商品编号 float cost p 成本单价 float unit p 销售单价 int num all 共计商品件数 int num now 现存商品件数 int num sell 已售出商品件数 float cost all 进货总计成本价 float profit 已销售商品获得的利润 GoodsInfo next 指向下一个商 GoodsInfo 构造函数 GoodsInfo char a int b float c float u int all int sell 重载构造函数 void operator const GoodsInfo 重载 void setInfo char a float c float u int all int sell 数据载入 char getname return name 返回姓名用于查找 显示商品信息 void Amend GoodsInfo void show GoodsInfo GoodsInfo delete name 商品类链表 class GoodList public GoodsInfo 7 public GoodList 构造函数 指针初始化 GoodList 析构函数 释放 GoodsInfo head 头指针 GoodsInfo p 活动指针 1 GoodsInfo p2 活动指针 2 指向最后一个 void create 创建函数 void showinfo GoodsInfo 显示 GoodsInfo search 查找 void saveInfo 信息存档 void getInfo 上传信息 void addInfo GoodsInfo 添加数据 void sort 按销量显示 void menu void delete 删除节点 六 模块分析 菜单 8 所有函数均封装在商品类及商品链表类中 GoodsInfo 和 GoodList 信息存储在类 GoodsInfo 中 类中定义了 3 个 GoodsInfo 指针 一个是 head 作为链表的头指针 另一个 是 p 作为活动指针 一个 p2 指向链表的尾节 在不同的 类的成员函数中都可使用 为了防止该活动指针使用过频 造 成几个函数同时使用同一个指针指向不明 在有些函数里还定 义了一些临时指针 1 创建 此函数为是创建商品信息数据 构成商品信息表是使用 用于 让用户批量添加商品 9 按照程序的提示 可依次添加商品信息 按 Y 继续 其他建 则停止 返回主菜单 此时链表创建成功 head 指向链表的 头 p2 指向尾 可用于后续函数的操作 2 添加 跟创建有一样的用途 用于添加商品信息 不同的是添加只能 用于已有原链表存在的情况下 但这个不能批量添加 一次只 能添加一个 并且存放在原链表尾节点的后一个 形成一个新 的链表 3 查找 顾名思义 此函数用于查找商品信息 在原始信息过多的时候 可 以通过查找 按商品编号和商品名称两钟方式 查看自己想看的商 品详细信息 10 若不存在该商品 程序则自动输出未找到 然后返回主菜单 若查 找到该商品 函数返回该节点的指针 并用单个显示函数显示出来 4 修改 此函数是基于查找函数之上的 在查找到需要修改的单元后 选择 自己需要修改的项目 11 函数会询问是否需要继续修改 Y 继续 其他键则返回主菜单 5 删除 删除和修改一样 基于查找函数之上 用于删除不需要的节点 操作方法也和前面类似 6 显示 12 此函数用于批量显示商品信息 该函数以表格的型式显示 明 了清晰 有助于比较 7 排序 排序是基于显示函数的一个函数 该函数用选择排序法 以两 种 按销量和按利润 方法排序显示 有助于商家对比比较分 析哪种商品的销量好利润高 便于管理和优化商城的盈利 8 上传 当需要输入数据过多过大时 可以通过上传函数 直接把文件 中的数据读到程序中并形成链表 然后再继续后续操作 这个 和创建函数具有差不多的功能 不过一个是从键盘读入 一个 是从文件中读入 文件上传成功后 函数会自动显示成功 然 后跳到主菜单进行其他项目 9 存档 上传和存档是文件和程序的两个接头 在数据操作过程中为避 免数据丢失 可边操作变保存 在退出程序之前 程序也会自 动弹出询问是否需要保存 这是比较人性化的一点 以免造成 不可估量的后果 保存成功后会自动输出成功字样 并退出或 继续程序 13 存档和上传合并利用 下一次运行程序时 可以直接上传上次 所保存的数据然后继续操作 就不需要工作人员一个一个慢慢 输入了 10 其他 清屏是一个辅助函数 为了清晰界面方便操作美化外观 退出 程序是会自动询问是否保存文件 然后调用析构函数 释放链 表清除数据 然后安全退出 七 比较有特色的地方 有特色的函数指的是实现地较为巧妙的类的构造函数 成员函 数 析构函数等函数 也可以是指针处理的函数 文件处理的 函数等比较有特色的函数 能体现巧妙构思即可 特别是运算 附的重载 大大减小了代码的数量 简洁了程序 还有就是文 件操作方面 比较合理和人性化 八 存在的不足 14 在文件编写的时候我此次采用的是 txt 储存数据 虽然有助于 使用者查看数据 但是在面对一串庞大数据是 dat 文件的效 率明显会高很多 还有就是由于学得不够深 程序的功能总体 来说还比较少 有待以后更深层的学习后完善 比如界面方面 的处理 和对每天销售情况的记录等等 商品流通的具体过程 等该程序都没有记录 需要改进的地方还有很多 九 心得体会 通过这次课程设计 我清楚的认识到了 C 是一门很庞大的并 且很有实用价值的一门学科 它一种非常简洁高效的语言 类 的特色在这次编程过程中有了充分的体会 就以前所学的 C 语 言而言 我明显感觉到 C 在编写这种比较复杂的程序时的优 势 他的重载函数运算符的等操作也是一大有点 模块的分块 化 当需要用到某个函数时再进行调用 大大增强了程序的可 读性 而且代码也更加合理清晰 就拿这次我所写的商场销售管理系统来说 商品类的操作是一 个整体 写在一个中 cpp 文件里面同时也可以另外写到一个 h 的头文件里面 在写程序的时候再进行调用 课程设计真的 很能锻炼人 平时上课都是讲的基础知识 上机也只是编写的 小程序 不能把知识融会贯通 然而这次课设是编写的一个小 15 系统 把所学的知识都联系起来了 在刚刚看到要求时是觉得 有很大的难度的 毕竟是第一次编写一个商场销售管理系统 但是想到有志者事竞成 只要敢于思考敢于尝试 按步骤一步 一步来也是能编写出程序的 于是我首先把程序类图先画了出 来 把程序基本结构勾勒出来 化整为零 一个一个小功能慢 慢写起 写完一个在主函数中验证一个看是否正确 通过后在 进行下一个 逐步实现 而后编写主函数 菜单等 完善功能 因为我刚刚入门 c 基本工还不足 能力还很弱 所以在写 的过程中遇到很多困难 有些以前很熟悉的代码也忘了 于是 我开始翻阅以前的书籍 边对照边回忆 终于完成了 特别是 在文件操作方面尤为薄弱 我意思到了自己的弱点 由于自己 的不足 以后学习还要更加努力 不懂时多问老师多向同学学 习 作为一个计算机专业的学生 计算机语言是我们的基本功 我们应该扎实自己的基础 才能更快更好的发展 十 源代码 ifndef LIST H define LIST H include GOODSINFO H class GoodList public GoodsInfo public GoodList 构造函数 指针初始化 GoodList 析构函数 释放 GoodsInfo head 头指针 GoodsInfo p 活动指针 1 GoodsInfo p2 活动指针 2 指向最后一个 16 void create 创建函数 void showinfo GoodsInfo 显示 GoodsInfo search 查找 void saveInfo 信息存档 void getInfo 上传信息 void addInfo GoodsInfo 添加数据 void sort 按销量显示 void menu void delete 删除节点 endif 存储商品信息 ifndef GOODSINFO H define GOODSINFO H class GoodsInfo public char name 商品名称 int number 商品编号 float cost p 成本单价 float unit p 销售单价 int num all 共计商品件数 int num now 现存商品件数 int num sell 已售出商品件数 float cost all 进货总计成本价 float profit 已销售商品获得的利润 GoodsInfo next 指向下一个商 GoodsInfo 构造函数 GoodsInfo char a int b float c float u int all int sell 重载构造函数 void operator const GoodsInfo 重载 void setInfo char a float c float u int all int sell 数据载入 char getname return name 返回姓名用于查找 显示商品信息 void Amend GoodsInfo void show GoodsInfo GoodsInfo delete name 17 endif include using namespace std include GOODSINFO H include GoodsInfo GoodsInfo 构造函数 name new char 21 number cost p unit p num all num now num sell cost all profit 0 next NULL GoodsInfo GoodsInfo char a int b float c float u int all int sell 重载构造函数 strcpy name a number b cost p c unit p u num all all num sell sell num now all sell cost all c all profit u c sell next NULL void GoodsInfo operator const GoodsInfo number right number cost p right cost p unit p right unit p num all right num all num sell right num sell num now right num now cost all right cost all profit right profit void GoodsInfo setInfo char a float c float u int all int sell 数据载入 18 strcpy name a cost p c unit p u num all all num sell sell num now all sell cost all c all profit u c sell next NULL void GoodsInfo show GoodsInfo h 显示 if h NULL cout NULL n else cout n 商品名 name endl cout 编号 number endl 成本 cost p endl 销售单价 unit p endl 销量 num sell endl 库存 num now endl 已获得利润 profit endl void GoodsInfo Amend GoodsInfo h 修改信息 int F char S cout n 2 商品成本单价 endl 3 商品销售单价 endl 4 进货数量 endl 5 销售数量 endl n do cout 请选择需要修改的项目编号 F 19 switch F case 1 cout n 请输入修改后的名称 n name 21 break case 2 cout n 请输入修改后的成本价 n h cost p break case 3 cout h unit p break case 4 cout h num all break case 5 cout h num sell break h cost all h cost p h num all h num now h num all h num sell h profit h unit p h cost p h num sell cout S while S Y include using namespace std include include include include LIST H GoodList GoodList 构造函数 p new GoodsInfo sizeof GoodsInfo head NULL p2 NULL p next NULL 20 GoodList GoodList 析构函数 while head NULL p head head p next delete p void GoodList create 创建 int n 0 char f Y cout 请输入商品信息 next p cout name 21 cout p number cout p cost p cout p unit p cout p num all cout p num sell p num now p num all p num sell p cost all p cost p p num all p profit p unit p p cost p p num sell p2 p 21 cout f cin ignore if head NULL p2 next NULL P2 指向最后一个 void GoodList showinfo GoodsInfo h 显示信息 cout setw 10 商品名称 setw 10 编号 setw 8 进价 setw 8 售价 setw 8 销量 setw 8 库存 setw 12 已得利润 endl while h NULL cout setw 10 name setw 10 number setw 8 cost p setw 8 unit p setw 8 num sell setw 8 num now setw 12 profit next GoodsInfo GoodList search 查找 if head NULL cout 数据为空 n return NULL else GoodsInfo h h head int f cout n 请选择查找方式 n 1 按商品编号 n 2 按商品名称 endl f switch f case 1 int x y cout x 22 while h NULL if x y return h lse cout 没有找到该商品 n return NULL case 2 char x 21 int c cout name 0 h h next if c 0 return h else cout 没有找到该商品 n return NULL void GoodList saveInfo 存档 fstream File File open GoodsInformation txt ios out ios binary if File cout 文件打开失败 n exit 0 p head GoodsInfo X File 商品名称编号进价售价总量销量库存已 得利润 n while p NULL X p File X name X number X cost p X unit p X num all X num sell X num now X profit next cout 文件保存成功 n File close void GoodList getInfo 上传 fstream File File open GoodsInformation txt ios in if File cout next p File h name h number h cost p h unit p h num all h num sell h num now h profit p h p2 p cout 上传显示完毕 endl File close void GoodList addInfo GoodsInfo h 添加 cout 请输入商品信息 next p cin ignore cout name 21 cout p number cout p cost p cout p unit p cout p num all cout p num sell p num now p num all p num sell p cost all p cost p p num all p profit p unit p p cost p p num sell p2 p p2 next NULL void GoodList delete 删除节点 if head NULL cout NULL n else cout n h head while h next NULL h h next if h number n char F 25 cout F if F Y if h head head h next else p next h next delete h cout 删除成功 n else cout 未找到该节点 n void GoodList sort 按销量排序显示 GoodsInfo h1 h2 t int n if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学六年级下册总复习《数据侦探训练营》教学设计
- 小学五年级英语《追思与传承:清明时节》单元整体教学设计
- 雇佣合同2026年游戏开发合同协议
- 2025届江西省南昌市南师附小三下数学期末联考模拟试题含答案解析
- 2025届江苏省连云港市苏州外国语学校数学三下期末预测试题(含答案解析)
- 2025届江苏省苏州市平江区四年级数学第二学期期末检测模拟试题(含答案解析)
- 2025届江苏省淮安市黄集九年制学校数学四年级第二学期期中试题含答案
- 2026年焚膏继晷成语故事勤学奋进备课教案
- 2026年初中语文《茅屋为秋风所破歌》忧民主题教案
- 班主任评语42篇
- 2026年上海市闵行区中小学教师招聘考试试卷及答案
- 2026 年秋季开学:新时代教师师德师风建设专题培训
- 新版2026西师大版数学六年级上册全册完整版教案教学设计合集
- 2026年山西调度规程考试试题及答案
- 蓝图绘就 十五五(2026-2030)山东省纺织服装产业升级建设方案报告
- 2026年幼儿园新生家长会后勤园长
- 2025年新疆医科大学第一附属医院医护人员招聘考试题库及答案详解
- 工程伦理第2版
- 人民医院病房改造提升项目监理大纲服务方案投标文件(技术标)
- ICU患者镇静镇痛状态评估量表
- 社区胸痛健康教育
评论
0/150
提交评论