2022年销售管理系统设计 .pdf
《2022年销售管理系统设计 .pdf》由会员分享,可在线阅读,更多相关《2022年销售管理系统设计 .pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C语言课程设计报告设计题目:销售管理系统设计设计人员:指导教师:所在院系:年级班级:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 29 页 - - - - - - - - - 2 目录C语言课程设计 - 销售管理系统 . 3 销售管理系统的设计目的. 4 总体设计 . 5 详细设计 . 7 一、课题的功能模块的划分。. 7 1. 主菜单及头文件设计 : . . 7 2. 编辑系统菜单运行: . 8 3. 输入信息: . 8 4. 保存信息,参数为结构体数组和记录数:.
2、 9 5. 读入取函数,参数为结构体数组: . 10 6. 清单输出: . 11 二、主要功能的实现. 12 程序调试与测试 . 20 执行结果 . 21 总结 . 28 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 29 页 - - - - - - - - - 3 C 语言课程设计 -销售管理系统题目:销售管理系统某公司有四个销售员 (编号:1-4) ,负责销售五种产品 (编号:1-5) 。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售
3、员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天可能上缴0-5 张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。1)计算上个月每个人每种产品的销售额。2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)4)输出统计报表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 29 页 - - - - -
4、 - - - - 4 销售管理系统的设计目的1、通过本课程设计,培养上机动手能力,使学生巩固C语言程序设计课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关;2、为后续各门计算机课程的学习打下坚实基础; 3、学会用 c 语言程序设计来设计销售管理系统设计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 29 页 - - - - - - - - - 5 总体设计数据结构图如下 : 销售管理系统菜单函数清单输入保存文件读取文件显示清单每位销售员的销售额销
5、售产品总和每种产品的销售额按销售额对销售员排序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 29 页 - - - - - - - - - 6 如图为程序设计流程图;输入记录读取文件保存到文件每位销售员的销售额每种产品的销售额按销售额对销售员排显示便条清单退出管理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 29 页 - - - - - - - -
6、 - 7 详细设计一、课题的功能模块的划分。1.主菜单及头文件设计: 我们按照老师所给的示例我们首先编译了一个头文件,在头文件里,编译了主函数需要用到的一些函数,如#include stdio.h等,因为需要录入便条的所有信息, 所有用一个数据结构来实现信息的储存方式,用数组方式,把每条信息都编译成一个数组, 如销售员代号用 name4记录。头文件还包括了定义常数记录数typedef struct,主函数原型int menu_select();/*声明函数 */ int enter(RECODE t);/*声明函数 */ void salor(RECODE t,int n);/*声明函数 */
7、 int sum(RECODE t,int n,int m);/*声明函数 */ void list1(RECODE t,int n);/*声明函数 */ void list2(RECODE t,int n);/*声明函数 */ void list3(RECODE t,int n);/*声明函数 */ void save(RECODE t,int n);/*声明函数 */ int load(RECODE t);/*声明函数 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页
8、,共 29 页 - - - - - - - - - 8 这些的都是主函数需要用到的数据,因此放入头文件当中, 在主程序开始之前直接引用 #include pro.h。2.编辑系统菜单运行:题目要求我们系统以菜单方式工作,所以我们现要定义一个系统的结构体数组 RECODE rec600 ,用 for (;)循环让菜单实现无限循环,让 switch(menu_select()调用主菜单函数,返回值整数作开关语句的条件,之后分别定义菜单的信息,如:case 1: length=enter(rec); 就是输入信息的定义编辑,当然最后需要用到break 来实现返回。菜单定义完成之后, 开始编译菜单的输
9、出, 这部分,用了 printf就把需要显示的菜单显示出来,然后由用户选择菜单的选项, 因为菜单只有 07 的选项,为了防止用户输入选项超值,所以用do while语句来控制, (c7)限定了用户输入的数据只有07 才有效,超值则返回开始菜单,重新选择(return ) 。3.输入信息:输入信息一般都是使用scanf 来实现,但在用户输入之前需要解决一个问题,程序必须限制用户的输入序数(记录条数),所以在输名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 29 页 - -
10、- - - - - - - 9 入数据之前,必须先限定序数,方法则是用一个for 循环来实现,有用户输入一个数字, 成为循环的上限, 而用户输入的便条信息则在此限定下,不能超出,当超出时则返回到开始菜单。用户输入的便条信息分别存入对应的数组当中,如便条条数则存入ti.num当中。4.保存信息,参数为结构体数组和记录数:用户输入的信息需要保存时,用save 选项进行保存。保存的时候, 实现应该建立一个指向文件的指针, 从而固定保存文件时的位置,之后 用if语 句 来 判 断 打 开 文件 是否 正 常 ,if(fp=fopen(record.txt,wb)=NULL),如果没打开(打开不正常)
11、,则程序执行退出;当判断文件打开正常时,系统显示“保存文件”(用 printf(n保存文件 n) 来完成),保存信息是用到的fprintf函数,将制定记录数输入文件fprintf(fp,%d,n),因为源文件中采用了换行, 保存文件是系统默认不会进行保存,所有必须加如换行符号保存,防止文件丢失,保证文件以用户输入的信息一致,保 存换行 符号 依然采 用 fprintf函数来 实现 ,具体 源文件 为fprintf(fp,rn);当确立了保存的可以性之后,系统开始录入需要保存的信息, 用 for 循环语句,不断把用户输入的信息保存,因为之前在编写输入,输出程序时,都用到了一定的格式,保证信息的一
12、一对应,所以在保存文件时, 也需要确定和输入是相同的格式,这里依然使用fprintf函数来进行保存,如名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 29 页 - - - - - - - - - 10 fprintf(fp,%-10d%-7d%-7d%-7d%-7d-7d,ti.name,ti.a1,ti.a2,ti.a3,ti.a4,ti.a5)就是把销售员代号,产品代号,销售额按照间隔 7 个字符格式进行保存, 在保存格式确立后, 需要把换行符号再次写入文件, 程序结
13、束后 fclose结束保存,并用 printf输出“文件保存成功”,让用户知道已经保存文件。5. 读入取函数,参数为结构体数组:前面已经做了文件的保存,当保存文件成功后,系统会以record.txt文件保存在与程序同级的文件夹下,而读入函数,就是为了让用户再次打开运行程序时,可以直接读取之前已经输入并保存过的信息,和储存信息一样,读入函数也采用了参数为结构体数组,同样应该确定文件指向指针FILE *fp ,读入函数之前,应该确定是否有已经保存的文件,用保存文件一样,用if语句来进行判断if(fp=fopen(record.txt,rb)=NULL),如果判断失败,系统不能读入文件,则会显示“不
14、能打开文件”,用 printf(不能打开文件n) 来实现,同时系统要结束读入文件的执行,用exit(1)实现;如 果 判 断 成 功 , 则 系 统 会 自 动 读 入 用 户 已 经 保 存 的 数 据(fscanf(fp,%d,&n)读入记录数),用 for 循环把已经保存的数据一一对应的读入到正在执行的程序中,这里需要注意的是, 读取的数据 格 式 应 该 同 保 存 时 的 一 致 , 如 储 存 时 的 格 式 是fprintf(fp,%-10d%-7d%-7d%-7d%-7d-7d,ti.name,ti.a1,ti名师资料总结 - - -精品资料欢迎下载 - - - - - - -
15、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 29 页 - - - - - - - - - 11 .a2,ti.a3,ti.a4,ti.a5), 则 读 入 的 时 的 格 式 就 为fscanf(fp,%d%d%d%d%d%d,&(ti.name),&(ti.a1),&(ti.a2),&(ti.a3),&(ti.a4),&(ti.a5), 读 取 成 功 后 关 闭 文 件fclose(fp), 并显示“成功地从文件读入数据! ” (用 printf实现) 。6.清单输出:读取销售情况有3 个,分别是每个人每种产品的销售额,按销售额
16、对销售员进行排序和每种产品的总销售额三个函数:1). 每个人每种产品的销售额(由周锐完成):首先,要定义每个人,每种产品,销售额数组如int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0,用 for 循环来求每个人的总销售额: for(i=0;i4;i+);用 for 循环来 求 每 个 人 每 种 产 品 的 总 销 售 额 : for(i=0;in;i+),for(j=0;j4;j+); 在 用for循 环 每 种 产 品 的 总 销 售 额 :for(i=0;i4;i
17、+),之后则在系统界面输入销售员代号,产品代号,产品代号用 printf即可实现,用 sum对每个销售员的销售额求和,用 system(cls)来录入信息,然后输出头标(如销售员代号,产品代号,销售额等,用printf实现) ,之后开始查询,用 for语句来。2). 按销售额对销售员进行排序(由赵弘完成):此部分要分两部分其一是,每位销售员销售额;其二是,按销售额对销售员排序。在求每个销售员销售额时也是要先定义销售员代名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 29
18、 页 - - - - - - - - - 12 号,产品代号,销售额。接着是则是用输入要查询的销售员的代号,用 scanf(%d,&s)来记录输入销售员代号的信息, 然后输出头标(如销售员代号, 产品代号,销售额等,用 printf实现) , 之后开始查询,查询信息首先需要一个for语句来,实现对已存入数据的所有查询for(i=0;in;i+),关 键 内 容 是 查 询 销 售 员 代 号 时 用if(strcmp(name,ti.name)=0),找出与输入的销售员相同的储存信息,查找完成后则把该销售员的所有信息全部输出。上面是求每个销售员销售额, 接着是要在上面的基础上排序。首先要定义两
19、个数组如 : int c4,m4, 接 着 用for循 环 ( for(i=0;i4;i+);for(j=i+1;j4;j+) )对销售员的销售额进行排序,再用 if语句来求,最后是输出用printf(%dn,mi)实现。3). 每种产品的总销售额(由李鸿完成) :也一样首先要定义数组,接着用ci=sum(t,n,i+1) 求每个人的总销售额 , 再用 for 循环,再用 sum0+=ci 对所有产品的销售额求总,用 for 循环对每个人每种产品的销售额求总销售额,再用 for 循环实现每种产品的总销售额,然后输出头标(如销售员代号,产品代号,总销售额等,用printf实现)即可。二、主要功能
20、的实现头文件 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 29 页 - - - - - - - - - 13 #include stdio.h/*输入输出函数*/ #include stdlib.h/*通用应用程序函数*/ #include string.h/*字符串函数 */ #include ctype.h/*字符操作函数*/ typedef struct /*定义结构体变量*/ int name4; /*销售员代号 */ int a1; /*产品一代号 *
21、/ int a2; /*产品二代号 */ int a3; /*产品三代号 */ int a4; /*产品四代号 */ int a5; /*产品五代号 */ RECODE; int me/*以下是函数原型*/ nu_select();/*声明函数 */ int enter(RECODE t);/*声明函数 */ void salor(RECODE t,int n);/*声明函数 */ int sum(RECODE t,int n,int m);/*声明函数 */ void list1(RECODE t,int n);/*声明函数 */ void list2(RECODE t,int n);/*声
22、明函数 */ void list3(RECODE t,int n);/*声明函数 */ void save(RECODE t,int n);/*声明函数 */ int load(RECODE t);/*声明函数 */ 函数:#include pro.h /* 主函数开始 */ void main()/*主函数 */ RECODE rec600; int length; system(cls); /*清屏 */ for( ; ; ) /*无限循环 */ switch(menu_select() /*根据用户的选择判断该调用哪个功能函数*/ case 1:length=enter(rec); br
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年销售管理系统设计 2022 销售 管理 系统 设计
限制150内