




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课课程程设计报设计报告告 课程 C 语言程序设计 学号 姓名 曹苇 班级 2010 级计算机应用专科 班 教师 林琴 时间 2011 6 7 2011 6 24 计算机科学与技术系 设计名称 销售管理系统设计 日期 2011 年 06 月 31 日 1 设计内容 设计内容 某公司有四个销售员 编号 1 4 负责销售五种产品 编 号 1 5 每个销售员都将当天出售的每种产品各写一张便条交上来 每张便条包含内容 1 销售员的代号 2 产品的代号 3 这种产品 的当天的销售额 每位销售员每天上缴 1 张便条 设计目的与要求设计目的与要求 设计目标设计目标 1 通过本课程设计 培养上机动手能力 使学生巩固 C 语言程序设 计 课程学习的内容 掌握工程软件设计的基本方法 强化上机动手能力 闯过编程关 2 为后续各门计算机课程的学习打下坚实基础 设计要求设计要求 试设计一个便条管理系统 使之能提供以下功能 1 便条信息录入功能 便条信息用文件保存 输入 2 收集到了上个月的所有便条后 读取销售情况 1 计算每个人每种产品的销售额 2 按销售额对销售员进行排序 输出排序结果 销售员代号 3 统计每种产品的总销售额 对这些产品按从高到底的顺序 输出排序结 果 需输出产品的代号和销售额 可选项 设计环境或器材 原理与说明设计环境或器材 原理与说明 设计环境 C 中文 器材 电脑 C 程序设计 说明 本设计主要应用 C 程序设计中的结构体 链表 文件等知识点 可 参考本教材或者包含上述内容的任何教材 销售管理系统设计销售管理系统设计 一 前提概述一 前提概述 一一 编写目标编写目标 1 通过本课程设计 培养上机动手能力 使学生巩固 C 语言程序设计 课程学习的内容 掌握工程软件设计的基本方法 强化上机动手能力 闯过编 程关 2 为后续各门计算机课程的学习打下坚实基础 二二 课程设计需求概述和需求说明 课程设计需求概述和需求说明 1 1 需求概述需求概述 某公司有四个销售员 编号 A B C D 负责销售五种产品 编号 1 5 每个销售员都将当天出售的产品写一张便条交上来 每张便条包含内容 1 销售员的代号 2 每种产品的代号和销售量 假设 收集到了上个月的所有便条 编写一个处理系统 读取上个月的销 售情况 自己设定 进行如下处理 1 计算上个月每个人每种产品的销售量 2 按销售量对销售员进行排序 输出排序结果 销售员代号 3 统计每种产品的总销售量 对这些产品按从高到底的顺序 输出排序结 果 需输出产品的代号和销售量 4 输出统计报表 2 2 需求说明需求说明 1 源程序要有适当的注释 使程序容易阅读 2 必须使用结构体和文件等数据结构 3 程序的运行结果要求使用文件作备份 4 至少输出一份报表 鼓励自行增加新功能 二 总体设计二 总体设计 程序设计组成框图 1 程序流程图 三 三 程序流程程序流程 1 功能函数 f1 函数的功能 计算上个月每个人每种产品的销售额 函数的入口 从 main 的 switch 开关结构中进入 即 choice 的值为 1 时进入 该函数 打开 dat 数据文件 然后提示用户通过键盘对该月的 员工销售情况进行数据的读入 函数调用关系 被主函数调用 由 switch 开关结构中进入 并在文中无返回值 的空值 void 函数 函数的出口 当程序执行提示语 printf 继续输入请按回车 结束输入请按 esc n 的时候 对用户的操作进行提示 如果用户选择了按 ESC 键 则用户选择了结束数据的录入 将结束该函数 而执行主函数 main 中 break 跳出 switch 开关函数 继续 执行 for 循环结构 2 功能函数 f2 函数的功能 按销售额对销售员进行排序 输出排序结果 函数的入口 程序从 main 的 switch 开关结构中进入 即 choice 的 值为 2 时 开始进入该函数 进入函数后 首先用 fopen 打开文件 然后利用 fread 读取二进 制数据 最终利用选择排序法 按销售员的所选产品的总 销售额对销售员进行排序 函数调用关系 被主函数调用 由 switch 开关结构中进入 并在文中无 返回值的空值 void 函数 函数的出口 当输出排序结果用 printf 标准输出到屏幕上 然后结束 该函数 而执行主函数 main 中 break 跳出 switch 开 关函数 继续执行 for 循环结构 3 功能函数 f3 函数的功能 统计每种产品的总销售额 输出排序结果 函数的入口 从 main 的 switch 开关结构中进入 即 choice 的值为 3 的时侯 进入该函数 开始读取数据对用户进行提示 然 后统计每种产品的总销售额 将计算后的总销售额进行排 序 最终把排序的结果用 printf 标准输出函数 将结 果输出在屏幕上 函数调用关系 被主函数调用 由 switch 开关结构中进入 并在文中无返 回值的空值 void 函数 函数的出口 当输出排序结果用 printf 标准输出到屏幕上 然后结束该函数 而执行主函数 main 中 break 跳出 switch 开关函数 继续执行 for 循环结构 函数的出口 当输出排序结果用 printf 标准输出到屏幕上 然后结束该函数 而执行主函数 main 中 break 跳出 switch 开关函数 继续执行 for 循环结 构 图 写入销售数据界面 1 功能函数 f4 函数的功能 输出统计报表 函数的入口 从 main 的 switch 开关结构中进入 即 choice 的值为 4 时 进入该函数 然后通过 fopen 函数 即 if fp fopen fname rb NULL 打开文件 进入数 据的处理 函数调用关系 被主函数调用 由 switch 开关结构中进入 并在文中 无返回值的空值 void 函数 函数的出口 开始时读取数据后 统计报表已经输出到屏幕上时 然后 利用而执行主函数 main 中 break 跳出 switch 开关函 数 继续执行 for 循环结构 5 功能函数主菜单 menu 图 主菜单界面 函数的功能 主要作用是提示用户操作 体现模块化思想 主要是显示出菜单 让用户选择要进行的任务 函数的入口 从主函数 main 中的 system cls 清屏命令 menu 菜单函数提示用户怎样选择 进入函数 这是直接被主函数 main 调用的 函数调用关系 被主函数调用 并在文中无返回值的空值 void 函数 函数的出口 执行完所有的 printf 函数后自动退出该函数 6 功能函数主函数 main 软件进入提示页面 函数的功能 用于联系各个功能函数模块 以及退出程序时的退出画面提示 函数的入口 整个程序是从主函数开始的 函数的出口 当从 main 的 switch 开关结构中进入 即 choise 的值为 5 时通 过 break 跳出 for 循环 然后退出 main 函数 即 退出整个程序 函数调用关系 该函数不被其它函数调用 四四 实验结果 实验结果 输入一月份各个销售员的销售信息 执行程序结果 一月份按产品 1 销售量对销售员进行排序 输出排序结果如下 统计每种产品的总销售量 对这些产品按从高到底的顺序 输出排序结果如下 输出统计报表如下 五 设计体会五 设计体会 经过 C 语言课程设计实践学习 使我对 c 语言有了更进一步的认识和 了解 板通过实践 我也发现我的好多不足之处 首先是在程序输入上还 不够熟练 经常按错字母 通过学习也有所改进 再有对 c 语言的一些标 准库函数不太了解 还有对函数调用的正确使用不够熟悉 还有对 c 语言 中经常出现的错误也不了解 通过实践 使我在这几个方面的认识有所提 高 在本次试验中掌握了 C 语言的基本知识 数据类型 整形 实型 字 符型 指针 数组 结构等 运算类型 算术运算 逻辑运算 自增自 减运算 赋值运算等 程序结构 顺序结构 判断选择结构 循环结构 大程序的功能分解方法 即函数的使用 等 进一步掌握各种函数的应 用 以及文件的读写操作等 我认为要学好 c 语言程序这门课程 不仅要认真阅读课本知识 更重要 的是要通过上机实践才能增强和巩固我的知识 只有这样我们才能成为合 格的计算机人材 六 六 源程序清单源程序清单 1 计算上个月每个人每种产品的销售量 2 按销售量对销售员进行排序 输出排序结果 销售员代号 3 统计每种产品的总销售量 按从高到底的顺序 输出排序结果 需输 出产品代号 销售量 4 输出统计报表 1 include 2 include 3 include 4 include 5 define Z 5 6 define R 4 定义宏常量便于程序的一般化 R 表示销售员个数 7 typedef struct 缩短结构体变量名 8 int shangpin Z 定义结构体便于信息的存储和读写 辨别 9 data R 是表示商品的种类 最后一个为该销售员商品总和 10 void menu 11 system cls 清屏命令 12 printf n n 13 printf t 主菜单 n 14 printf t 1 计算上个月每个人每种产品的销售量 n 15 printf t 2 按销售量对销售员进行排序 输出排序结果 n 16 printf t 3 统计每种产品的总销售量 输出排序结果 n 17 printf t 4 输出统计报表 n 18 printf t 5 结束操作 n 19 printf t n 20 21 void f1 data x 计算上个月每个人每种产品的销售量 22 FILE fp 23 char fname 10 hitkey 24 int j t 用于控制循环 25 int i k s 用于定义职工序号 产品序号 产品数量 26 system cls 清屏命令 27 printf 您想计算哪个月 n 28 printf 请输入月份 输入文件名 这样可以进行各个月份信息写入 29 scanf s fname 30 strcat fname dat 31 if fp fopen fname wb NULL 打开文件 32 printf 不能打开文件 n 33 exit 0 正常 exit 0 结束程序 34 35 for j 0 j R j 对商品数量清零 36 for t 0 tshangpin t 0 38 printf 请输入 n 职工编号产品编号销售数量 n 提 示用户写入信息的格式 39 for j 0 hitkey 27 j 40 scanf d d d 41 if i R iZ kshangpin k 1 x i 1 shangpin k 1 s 统计各 个人的各种产品的数量 1 为了和数组中的序号相匹配 47 printf 继续输入请按回车 结束输入请按 esc n 48 printf n 49 hitkey getch 50 for hitkey 13 51 hitkey getch 52 53 for j 0 j R j 54 if fwrite x j sizeof data 1 fp 1 把信息写入文件中便有以后调用 55 printf write error n 56 fclose fp 关闭文件避免信息遗漏 57 printf n n n n n n t t t 保存成功 按任意键返回主菜单 58 getch 59 60 void f2 data x 按销售量对销售员进行排序 输出排序结果 61 FILE fp 62 char fname 10 63 int i k j t bianhao 0 z 64 system cls 清屏命令 65 printf 你要哪个月的 n 66 printf 请输入月份 输入文件名 这样可以进行各个月份信息读入 67 scanf s fname 68 strcat fname dat 69 if fp fopen fname rb NULL 打开文件 70 printf 不能打开文件 n 71 exit 0 72 73 for i 0 i R i 读出信息 74 if fread x i sizeof data 1 fp 1 75 printf 读入信息出错 读入信息提示 76 for i 0 i R 用于存储职工编号 77 bianhao i i 78 printf 请输入按何种产品排序 n 79 scanf d 80 k k 1 便于与结构体中的数组值对应 81 for i 0 i R i 按 K 种产品对销售员排序 选择法排序 82 t i 83 for j i 1 jshangpin k shangpin k 调用职 工各自对应的结构体内的产品数量 t j 85 if t i 86 z bianhao i 87 bianhao i bianhao t 88 bianhao t z 89 90 91 printf t t t 按 d 产品对销售员排序为 n k 1 92 printf n 93 for i 0 i R i 94 printf t t t 第 d 名是 员工 d n i 1 bianhao i 1 95 printf n n n t t t 按任意键返回上一主菜单 96 getch 97 fclose fp 关闭读入的文件 98 99 void f3 data x 统计每种产品的总销售量 输出排序结果 100 FILE fp 101 char fname 10 102 int i j sum Z 0 bianhao Z 0 z t k 103 system cls 清屏命令 104 printf 您想计算哪个月的 n 105 printf 请输入月份 输入文件名 这样可以进行各个月份信息读入 106 scanf s fname 107 strcat fname dat 108 if fp fopen fname rb NULL 打开文件 109 printf 不能打开文件 n 110 exit 0 111 112 for i 0 i R i 读出信息 113 if fread x i sizeof data 1 fp 1 114 printf 读入信息出错 115 for i 0 i Z i 对各种商品求和 116 for j 0 jshangpin i 118 for i 0 i Z 用于存储商品编号 119 bianhao i i 120 for i 0 i Z i 121 printf 3d bianhao i 122 for i 0 i Z i 对产品从高到低排序 选择法排序 123 t i 124 for j i 1 j Z j 产品变化时 产品编号也随之变化 便于输出 125 if sum t sum j 126 t j 127 if t i 128 k sum i 129 sum i sum t 130 sum t k 131 z bianhao i 132 bianhao i bianhao t 133 bianhao t z 134 135 136 printf 输出产品排序 n 137 printf 产品编号 数量 n 138 printf n 139 for i 0 i Z i 140 printf 产品 7d 1d n bianhao i 1 sum i 141 printf n n n t t t 按任意键返回主菜单 142 getch 143 fclose fp 关闭读入的文件 144 145 void f4 data x 输出统计报表 146 FILE fp 147 char fname 10 148 int i j sum Z 1 0 149 system cls 清屏命令 150 printf 您想计算哪个月 n 151 printf 请输入月份 实为输入一个文件名 这样可以进 行各个月份的信息读入 152 scanf s fname 153 strcat fname dat 154 if fp fopen fname rb NULL 打开文件 155 printf 不能打开文件 n 156 exit 0 157 158 for i 0 i R i 读出信息 159 if fread x i sizeof data 1 fp 1 160 printf 读入信息出错 161 for i 0 i Z i 对各种商品求和 162 for j 0 jshangpin i 164 for i 0 i Z i 求商品总和 165 sum Z sum Z sum i 166 printf n 167 printf 输出统计报表如下 n 按要求输出统计表 168 printf 销售员代号 产品代号 销售之和 n 169 for i 0 i R i 170 for j 0 jshangpin j 172 printf n 173 for i 0 i Z i 174 if i 0 175 printf 产品 d 之和 10d 总和 10d n i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-江苏-江苏垃圾清扫与处理工二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-新疆-新疆造林管护工二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西水工监测工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西广播电视天线工三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西园林绿化工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东计算机文字录入处理员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东水文勘测工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽土建施工人员五级(初级工)历年参考题库典型考点含答案解析
- 2020-2025年初级经济师之初级经济师财政税收高分通关题库A4可打印版
- 2025年事业单位工勤技能-北京-北京不动产测绘员五级(初级工)历年参考题库典型考点含答案解析
- 2025至2030中国超前和靶向药物输送行业发展趋势分析与未来投资战略咨询研究报告
- 信号与系统(第2版)课件 1.0 绪论
- 中文版儿童睡眠习惯问卷CSHQ 含评分维度
- 战士留疆考试题及答案大全
- GB/T 45482-2025企业综合能耗确权核算通则
- (推荐下载)家族性结肠息肉病教学课件
- 水生产企业(自来水公司)安全生产责任制(含安全手册)
- 《材料成型装备及自动化》课程大纲
- 临时用电JSA分析表
- 如何提高护士对患者病情掌握的知晓率
- 议论文阅读训练 (针对初一学生)附答案
评论
0/150
提交评论