2022年销售管理系统程序设计C语言 .pdf
- 1 - 销售管理系统程序设计一,题目要求某公司有四个销售员(编号:1-4 ) ,负责销售五种产品(编号:1-5 ) 。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天可能上缴0-5 张便条。假设,收集到了上个月的所有便条,编写一个处理系统, 读取上个月的销售情况 (自己设定),进行如下处理。计算上个月每个人每种产品的销售额。按销售额对销售员进行排序,输出排序结果(销售员代号)统计每种产品的总销售额, 对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)输出统计报表二,需求分析1)最好采用结构体数组和文件系统2)结构体成员包括销售员代号,产品代号,销售额3)排序算法参照冒泡法或选择排序算法等4)输出统计报表形式按照题目给出的形式在屏幕上相应位置输出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - - 2 - 三,总体设计基本流程图如下:模块划分:整个运行系统流程:输入,运算,排序,输出,储存首先输入便条数据,自动创建文本文档,储存数据然后再运算,主要为排序,既而输出数据,储存。开始销售管理系统输 入信 息运 算排 序统 计输 出名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - - 3 - 四,详细设计具体步骤:1 :声明结构体部分【程序如下】#include #include #define max 155 struct goods int p_num; int num; int g_num; smax; struct persons 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - - 4 - int num7; p6,w; 2:主函数部分【程序如下】int n;/*全局变量 */ main() int input(), output1(),output2(),output3(),output4(); int arg(),mulu(); int save(); puts(tt中国地质大学n); puts(ttt C 语言程序设计n); puts(ttt资源勘查工程李晓峰021081班nn); puts(tt*MENU*); printf( nnn *销售管理系统 *nnn); printf( 请输入销售信息:(按-1 结束)nn销售员代号1-4 产品代号1-5 销售额 n); for(n=0;nmax;n+) scanf(%d,&sn.p_num); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - - 5 - if(sn.p_num=(-1)break; else scanf(%d%d,&sn.g_num,&sn.num); mulu(); 3:目录部分【程序如下】int mulu() int choice; arg(); do printf( nnn ttt * 销售管理系统 *nnn); printf( 1.计算上个月每个人每种产品的销售额nn); printf(2.按销售额对销售员进行排序,输出排序结果(销售员代号)nn); printf( 3.统计每种产品的总销售额, 对这些产品按从高到底的顺序,输出排序结果 nn); printf(4.输出统计报表 nn); printf(0.退出系统 nn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - - 6 - printf( 请选择 (0-4):); scanf(%d,&choice); switch(choice) case 1: output1();break; case 2: output2();break; case 3: output3();break; case 4: output4();break; case 0: exit(0); while(choice!=0); int arg() int k,a,j; for(k=1;k=5;k+) p0.numk=k; for(a=1;a=6;a+) pk.numa=0; for(k=1;k=4;k+) pk.num0=k; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - - 7 - for(k=1;k=4;k+) for(a=1;a=5;a+) for(j=0;jn;j+) if(sj.p_num=k & sj.g_num=a) pk.numa=pk.numa+sj.num; /*每种产品的销售额 */ for(a=1;a=5;a+) for(k=1;k=4;k+) p5.numa=p5.numa+pk.numa; /*每个人的销售额 */ for(k=1;k=5;k+) for(a=1;a=5;a+) pk.num6=pk.num6+pk.numa; 4:模块一:计算上个月每个人每种产品的销售额【程序如下】int output1() int i,k; printf(*计算上个月每个人每种产品的销售额*); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - - 8 - for(k=1;k=5;k+) printf(%dt,p0.numk); printf(nn); for(i=1;i=4;i+) for(k=0;k=5;k+) printf(%dt,pi.numk); printf(nn); mulu(); 5:模块二:该模块按销售额对销售员进行排序,输出排序结果(销售员代号)分析:调用函数,采用选择法对每个销售员的销售情况进行统计输出【程序如下】int output2() int i,r,j; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - - 9 - for(i=1;i4;+i) r=i; for(j=i+1;j=4;j+) if(pr.num6pj.num6) r=j; if(r!=i) w=pi; pi=pr; pr=w; printf(*按销售额对销售员排序情况如下*nn); printf( 销售员代码t 销售总额n); for(i=1;i=4;i+) printf( %dtt%dn,pi.num0,pi.num6); mulu(); 6:模块三:该模块统计输出每种产品的总销售额,按从高到底的顺序分析:同样是调用函数,采用选择法对每种产品的总销售额名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 17 页 - - - - - - - - - - 10 - 进行统计输出(从高到低)【程序如下】int output3() int k,i,r,t; for(k=1;k5;k+) r=k; for(t=k+1;t=5;t+) if(p5.numrp5.numt) r=t; if(r!=k) for(i=0;i=5;i+) pi.num6=pi.numk; pi.numk=pi.numr; pi.numr=pi.num6; printf(*每种产品的总销售额顺序情况如下*nn); printf( 产品代码总销售额 n); for(k=1;k=5;k+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - - 11 - printf( %dtt%d n,p0.numk,p5.numk); mulu(); 7:模块四:输出统计报表分析:用二维数组的形式将统计的结果从屏幕上输出来【程序如下】int output4() int i,k; int flage=0; printf(tt*销售统计报表 *nnn); printf( 产品代号n销售员码 1t2t3t4t5t销售之和nn) for(i=1;i=4;i+) for(k=0;k=6;k+) printf(%dt,pi.numk); printf(nn); printf( 总和t); for(k=1;k=6;k+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - - 12 - printf(%dt,p5.numk); if(flage=0) /*保证只存一次 */ save(); printf(nn信息已成功保存! _(文件名:goods_information); flage=1; mulu(); 8:保存统计结果分析:调用函数,采用文件和指针,将输出的结果用文本文档保存下来【程序如下】int save() FILE *fp; int i,k; if(fp=fopen(goods_information.txt,w)=NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 17 页 - - - - - - - - - - 13 - printf(nn按任意键退出 ,重新开始 !); getch(); exit(1); fprintf(fp,产品代号n 销售员码 1t2t3t4t5t销售之和 nn); for(i=1;i=4;i+) for(k=0;k=6;k+) fprintf(fp,%dt,pi.numk); fprintf(fp,nn); fprintf(fp,总和); for(k=1;k=6;k+) fprintf(fp,%dt,p5.numk); fclose(fp); getch(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - - 14 - 运行结果分析如下: 1 :进入系统运行,按要求输入销售员代码,产品代码,销售额2:按确定运行,选择: 1 如下名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - - 15 - 3:按确定运行,再选择:2 如下(求出了上个月每个人每种产品的销售额情况)4:按确定运行,再选择:3 如下:求出了按销售额对销售员进行排序,输出排序结果(销售员代号)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - - - - - - - - - - 16 - 5:按确定运行,再选择: 4 如下:求出了统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)6:按确定运行如下:统计输出了销售报表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - - 17 - 7: 再按确定之后就保存了报表数据, 然后就可以从电脑可移动磁盘中, 找到文件名为 GOODS INFORMATION 的文本文档,从而差看其中的统计报表数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -