C语言程序设计-销售管理系统_第1页
C语言程序设计-销售管理系统_第2页
C语言程序设计-销售管理系统_第3页
C语言程序设计-销售管理系统_第4页
C语言程序设计-销售管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C C 语言程序设计语言程序设计 1 1 销售信息管理系统设计文档销售信息管理系统设计文档 组号 第二组 成员 汪品高 齐瑞智 欧阳鑫 赵飞锋 章森 目录目录 一 一 题目与要求题目与要求 二 二 功能实现设计 模块化设计 功能实现设计 模块化设计 C C 语言程序设计语言程序设计 2 2 三 三 运行结果 附带抓图 运行结果 附带抓图 四 四 源程序源程序 报告正文报告正文 1 题目与要求题目与要求 2 某公司有四个销售员 编号 1 4 负责销售五种产品 编号 1 5 每个销售员汇总当天出售的每种产品的销售情况 2 每天销售情况包括 销售员的代号 产品的代号 这种产品当天的销售额 1 编写一个销售信息管理系统 读取上个月的销售情况 C C 语言程序设计语言程序设计 3 3 1 计算上个月没人每种产品的销售额 2 按销售额对销售员进行排序 输出排序结果 销售员代号 3 统计每种产品的总销售额 对这些产品从高到低的顺序输出结果 须输出产品的代号和销售额 4 输出统计报表 2 2 需求分析 需求分析 本程序将用到文件系统 E 54321 doc 文件内容作为数据源 其中单行内容代 表一张纸条 程序运行后首先将文件系统的原始数据读取并保存到程序的结构 体数组当中 所以应提供文件输入的操作 由于纸条数据零散 所以要对原始 数据进行分类操作并提供一个数组用于保存分类信息 在程序中要进行统计工 作 所以要提供显示 排序等操作 另外应提供键盘式选择菜单实现功能选择 3 3 功能实现设计 功能实现设计 3 13 1 总体设计总体设计 根据上面的分析 可以将这个系统分为如下五大模块 查看每人每种产 品的销售额 按销售额对销售员排序 对每种产品总销售额从高到低排序 输出统计报表和退出 其中主要模块是前四个模块 3 23 2 流程图流程图 开始 推出系统 C C 语言程序设计语言程序设计 4 4 3 33 3 详细设计详细设计 3 3 13 3 1 头文件和预定义 include include include include define M 3 3 23 3 2 功能函数声明 vvoid detail void foreach void menu void product void readdata void seller void total void choice 读取便条上的信 息 主菜单 每个人每种 产品销售额 销售员销售业绩 排序 统计总销售额并 排序 输出统计表 选择 退出系统返回主菜 单 C C 语言程序设计语言程序设计 5 5 3 3 33 3 3 数据结构 原始数据有销售员代号 产品代号和销售额 所以定义一个全局结构体数组 scrip用于保存原始数据 然后定义全局变量n保存纸条数目 定义数组s用于保 存分类后的信息 struct ss int sid 销售员代号 int pid 产品代号 int sn 销售额 ss M int n 纸条数目 int s 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 用 于保存员工和产品信息 3 3 43 3 4 主函数 显示程序设计者相关信息和调用文件读取函数 数据初始化函数和主菜单函数 void main 入口函数 即主函数 readdata 读取文件数据 foreach 根据文件初始数据初始化便于操作的数组 menu 显示主菜单 3 3 4 13 3 4 1 文件读取函数 readdata C C 语言程序设计语言程序设计 6 6 读出便条中的内容 并保存到文件结构体中 void readdata 从文件读取数据 FILE fp 定义文件指针 if fp fopen list txt r NULL printf Can t open the file n exit 0 else for n 0 feof fp n fscanf fp d d d n 保存文件数据到结构体 fclose fp 3 3 4 23 3 4 2 文件读取函数 foreach 将保存到结构体中的信息按产品分类 再根据销售员进行分类 将信息存到数 组当中 void foreach 从纸条读取数据并分类整理 int i for i 0 i n i 遍历所有纸条 C C 语言程序设计语言程序设计 7 7 switch ss i pid 按产品分大类 例如就是 case1 5 根据大类 分销售员小类 累加各人各产品销售数量 case 1 switch ss i sid case 1 s 0 0 ss i sn break case 2 s 1 0 ss i sn break case 3 s 2 0 ss i sn break case 4 s 3 0 ss i sn break break case 2 switch ss i sid case 1 s 0 1 ss i sn break case 2 s 1 1 ss i sn break case 3 s 2 1 ss i sn break case 4 s 3 1 ss i sn break break case 3 C C 语言程序设计语言程序设计 8 8 switch ss i sid case 1 s 0 2 ss i sn break case 2 s 1 2 ss i sn break case 3 s 2 2 ss i sn break case 4 s 3 2 ss i sn break break case 4 switch ss i sid case 1 s 0 3 ss i sn break case 2 s 1 3 ss i sn break case 3 s 2 3 ss i sn break case 4 s 3 3 ss i sn break break case 5 switch ss i sid case 1 s 0 4 ss i sn break case 2 s 1 4 ss i sn break case 3 s 2 4 ss i sn break C C 语言程序设计语言程序设计 9 9 case 4 s 3 4 ss i sn break break 3 3 4 33 3 4 3 主菜单函数 menu 显示系统功能菜单以供用户选择相关功能使用 根据用户选择分别可调用 detail 计算上个月每个人每种产品的销售额 seller 按销售额对销售员进行排序 输出排序结果 销售员代号 product 统计每种产品的总销售额 对这些产品按从高到低的顺序输出排序 结果 需输出产品代号和销售额 exit 0 退出系统 void menu int w c do puts t t 菜单 n n puts t t 1 查看每人每种产品的销售额 n puts t t 2 按销售额对销售员排序 销售员代号 n puts t t 3 对每种产品总销售额从高到低排序 产品代号和销售额 n puts t t 4 输出统计报表 n puts t t 5 退出 n C C 语言程序设计语言程序设计 1010 puts n n t t n printf 请选择 1 5 b b scanf d if c5 错误输入则重新获取输入 w 1 else w 0 while w 1 switch c 根据输入实现相应函数调用 case 1 detail break 每个销售员每种产品的销售额统计 case 2 seller break case 3 product break case 4 total break case 5 exit 0 C C 语言程序设计语言程序设计 1111 3 3 53 3 5 功能函数 5 1 每人每种产品销售额统计函数 detail 计算上个月每个人每种产品的销售额 void detail 显示销售情况 int i j for i 0 i 4 i 遍历销售员 printf n t t d 号销售员销售情况 n i 1 for j 0 j 5 j 按销售员分类遍历所有产品并显示信息 printf t t d 号产品销售数量 d n j 1 s i j choice 3 3 5 13 3 5 1 销售员销售业绩排序函数 seller 按销售额对销售员进行排序 输出排序结果 销售员代号 void seller C C 语言程序设计语言程序设计 1212 int i j k int sp 4 0 0 0 0 for i 0 i 4 i for j 0 j 5 j sp i s i j 计算每单个销售员所有产品销售数量 for i 0 i 4 i 比较四次 每次选出最大数 k 0 用于标记单轮最大数 for j 0 j 4 j if sp k sp j k j 获取最大数标号 printf t t 第 d 名是 d 号销售员 n i 1 k 1 sp k 1 输出最大数和排名 将最大数标记为负 choice 3 3 5 23 3 5 2 总销售额统计函数 void product 统计每种产品的总销售额 对这些产品按从高到低的顺序输出排序 void product 与 seller 原理一样 用于对产品进行统计 int i j k int p 5 0 0 0 0 0 for j 0 j 5 j for i 0 i 4 i C C 语言程序设计语言程序设计 1313 p j s i j for j 0 j 5 j k 0 for i 0 i 5 i if p k p i k i printf t t 第 d 名是 d 号产品 t 销量为 d n j 1 k 1 p k p k 1 choice 3 3 5 33 3 5 3 统计报表输出函数 total 统计每种产品的总销售额 对这些产品按从高到低的顺序输出排序结果 需输 出产品代号和销售额 void total 输出报表 int i j printf n t 销售员 t 产品 t 销量 n for i 0 i 4 i for j 0 j返回菜单 t2 退出系统 b b scanf d if c 1 menu else exit 0 puts n 4 4 运行结果 附带抓图 运行结果 附带抓图 List txtList txt 便条 文件中数据如下 便条 文件中数据如下 提前建立文件或就提前建立文件或就 将便条保存在文件中 将便条保存在文件中 1 1 1 1 2 2 1 3 3 1 4 8 1 5 9 C C 语言程序设计语言程序设计 1515 2 1 3 2 2 3 2 3 4 2 4 5 2 5 6 3 1 1 3 2 1 这是个例子 这是个例子 3 3 4 3 4 5 3 5 6 4 1 2 4 2 3 4 3 4 4 4 5 4 5 6 运行结果运行结果 显示主菜单 显示主菜单 C C 语言程序设计语言程序设计 1616 查看每人每种产品的销售额运行结果 查看每人每种产品的销售额运行结果 C C 语言程序设计语言程序设计 1717 C C 语言程序设计语言程序设计 1818 按销售额对销售员按顺序排序 销售员代号 运行结果按销售额对销售员按顺序排序 销售员代号 运行结果 对每种产品销售额从高到低排序运行结果 对每种产品销售额从高到低排序运行结果 C C 语言程序设计语言程序设计 1919 统计报表运行结果 统计报表运行结果 6 6 源程序 源程序 include include include 调用 exit 函数 include define M 155 宏定义 void detail void foreach void menu void product void readdata void seller void total void choice struct ss C C 语言程序设计语言程序设计 2020 int sid 销售员代号 int pid 产品代号 int sn 销售额 ss M int n 纸条数目 int s 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 用于保存员工和产品信息 void main 入口函数 即主函数 p readdata 读取文件数据 foreach 根据文件初始数据初始化便于操作的数组 menu 显示主菜单 void readdata 从文件读取数据 FILE fp if fp fopen list txt r NULL printf Can t open the file n exit 0 else C C 语言程序设计语言程序设计 2121 for n 0 feof fp n fscanf fp d d d n 保存文件数据到结构体 fclose fp void foreach 从纸条读取数据并分类整理 int i for i 0 i n i 遍历所有纸条 switch ss i pid 按产品分大类 根据大类分销售员小类 累加个人各产品 销售数量 case 1 switch ss i sid case 1 s 0 0 ss i sn break case 2 s 1 0 ss i sn break case 3 s 2 0 ss i sn break case 4 s 3 0 ss i sn break break C C 语言程序设计语言程序设计 2222 case 2 switch ss i sid case 1 s 0 1 ss i sn break case 2 s 1 1 ss i sn break case 3 s 2 1 ss i sn break case 4 s 3 1 ss i sn break break case 3 switch ss i sid case 1 s 0 2 ss i sn break case 2 s 1 2 ss i sn break case 3 s 2 2 ss i sn break case 4 s 3 2 ss i sn break break case 4 switch ss i sid case 1 s 0 3 ss i sn break case 2 s 1 3 ss i sn break C C 语言程序设计语言程序设计 2323 case 3 s 2 3 ss i sn break case 4 s 3 3 ss i sn break break case 5 switch ss i sid case 1 s 0 4 ss i sn break case 2 s 1 4 ss i sn break case 3 s 2 4 ss i sn break case 4 s 3 4 ss i sn break break void menu int w c do puts t t 菜单 n n puts t t 1 查看每人每种产品的销售额 n puts t t 2 按销售额对销售员排序 销售员代号 n C C 语言程序设计语言程序设计 2424 puts t t 3 对每种产品总销售额从高到低排序 产品代号和销售额 n puts t t 4 输出统计报表 n puts t t 5 退出 n puts n n t t n printf 请选择 1 5 b b scanf d if c5 错误输入则重新获取输入 w 1 getchar else w 0 while w 1 switch c 根据输入实现相应函数调用 case 1 detail break 每个销售员每种产品的销售额统计 case 2 seller break case 3 product break case 4 C C 语言程序设计语言程序设计 2525 total break case 5 exit 0 void detail 显示销售情况 int i j for i 0 i 4 i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论