1、c言语课程设计贩卖管理系统完整版C 语 言 课 程 设 计设计(论文)题目: 销售管理系统设计 学 院 名 称: 电信学院 专 业: 计算机科学与技术 班 级: 计科081班 姓 名: 洪利忠 学 号 35 指 导 教 师: 宋宏图 职 称 定稿日期:2009年2月27日一、题目内容描述:某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 1、 销售员的代号 2、 产品的代号 3、这种产品的当天的销售额 每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售
2、情况(自己设定),进行如下处理。1)计算上个月每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额) 4)输出统计报表 销售统计报表产品代号销售之和销售员代号123451234每种产品之和总和二、应用程序功能的详细说明:1、主函数void main():清屏之后对主菜单函数menu_select()进行无限循环2、菜单函数int menu_select():打印出菜单功能选项,包括便条清单输入、每个人每种产品的销售额、销售员销售额排行、统计报表、便条清单、储存文件、读取文
3、件和退出8个选项。根据用户的选择判断该调用哪个功能函数,则输入相应的选项代号n(0-7)以运行该功能选项。3、清单输入函数int enter(RECODE t):清屏之后输出提示语“请输入便条的信息”,按提示语输入便条信息,输入数据的同时,已将该信息存入开始已定义的结构体数组typedef struct RECORD t 中,以便在排序功能选项、统计功能选项、输出清单列表选项等功能选项中读取信息,进行编辑,阅读。输入结束以信息全为零而结束清单输入,返回主菜单。4、销售员便条信息查询函数void salor(RECODE t,int n):进入查询功能,出现提示语“输入所要查看的售货员的代号”,
4、输入销售员的代号(1-4),通过循环判断读取输入的销售员代号(s)来进行对信息的阅读。5、求和函数int sum(RECODE t,int n, int e):定义初始值sum=0通过对销售员代号的循环和判断(当销售员代号与传递的e值相同),累加并统计同一个销售员销售不同种产品的销售额信息,返回统计值sum,以便调用。6、排序函数void list1 (RECODE t,int n):调用求和函数返回的统计值sum (使ci=sum(t,n,mi),按销售员的总销售额进行从大到小排序,输出销售员的代号mi。7、销售产品的销售额情况的函数调用void list2(RECODE t,int n):
5、调用求和函数使ci=sum(t,n,i+1),累加并统计每个人销售每种产品的总销售额和所有销售员销售的所有产品的总销售额,再将每个人销售每种产品的总销售额放到定义的数组中(即xs5=sum1,sum2,sum3,sum4,sum5),按每种产品的总销售额sumi循环比较并排序输出产品代号ai和总销售额xsi。8、销售统计报表输出函数void list3(RECODE t,int n):类似(6)输出以下表格:销售统计报表产品代号销售之和销售员代号123451234每种产品之和总和9、保存函数void save(RECODE t,int n):打开record.txt文件,如果函数带回一个空指针
6、值if(fp=fopen(record.txt,wb)=NULL),则显示“不能打开文件”,非法退出再进行存储文件。通过文件指针,循环将便条信息输出到fp指向的文件。关闭文件,显示“*存储成功*”,“按任意键继续。”。10、读取函数int load(RECODE t):定义文件指针*fp,循环从fp指向的文件上读入便条信息,关闭文件,显示“成功读取文件信息!”,“按任意键继续。”。返回n值。数据名称数据关联数据类型数据格式内容限制销售员代号name,s,mint整型变量%d,%d,%d大于0小于5产品代号a1,a2,a3,a4,a5int 整型变量%d%d%d%d%d大于0小于6功能键代号ni
7、nt 整型变量%d大于等于0小于8所有产品总和sumint 整型变量%d大于0每个销售员的总销售额cint 整型变量%d大于0每个人每种产品的总销售额b1,b2,b3,b4,b5int 整型变量%d%d%d%d%d大于0每种产品的总销售额xsint 整型变量%d大于0三、输入数据类型、格式和内容限制:四、主要模块的算法描述 以程序流程图的方式给出 简要的语言描述:销售员产品信息查询函数void salor(RECODE t,int n)流程图: 假真求和函数int sum(RECODE t,int n, int e)流程图: 假 真 排序函数void list1 (RECODE t,int n
8、)流程图:假 假真 真假 真 假 真五、程序的源代码清单:#include /*输入输出函数*/ #include /*通用应用程序函数*/ typedef struct /*定义结构体变量*/ int name; int a1; int a2; int a3; int a4; int a5; RECODE; int menu_select();/*选择菜单函数声明*/ int enter(RECODE t);/*进入函数声明*/ void salor(RECODE t,int n);/*声明函数*/ int sum(RECODE t,int n,int m);/*统计函数声明*/ void
9、list1(RECODE t,int n);/*菜单1函数声明*/ void list2(RECODE t,int n);/*菜单2函数声明*/ void list3(RECODE t,int n);/*菜单3函数声明*/ void save(RECODE t,int n);/*保存文件函数声明*/ int load(RECODE t);/*读取函数声明*/ void main()/*主函数*/ RECODE rec600; int length; system(cls); /*清屏*/ for( ; ; ) /*无限循环*/ switch(menu_select() /*根据用户的选择判断该
10、调用哪个功能函数*/ case 1:length=enter(rec);break; case 2:salor(rec,length);break; case 3:list1(rec,length);break; case 4:list2(rec,length);break; case 5:list3(rec,length);break; case 6:save(rec,length);break; case 7:length=load(rec);break; case 0:exit(0); /*菜单函数*/int menu_select() int n; printf(-menu-nn);
11、printf( 1 输入便条n); printf( 2 每个人每种产品的销售额n); printf( 3 销售员总销售额排行n); printf( 4 统计报表n); printf( 5 便条清单n); printf( 6 储存文件n); printf( 7 读取文件n); printf( 0 退出n); printf(-end-nn); printf( 请输入你的选择(0-7): ); scanf(%d,&n); if(0n&n8) system(cls); /*清屏*/ return n; /*清单输入函数*/int enter(RECODE t) int i; system(cls);
12、/*清屏*/ printf(请输入便条的信息:); printf(销售员代号 产品1 产品2 产品3 产品4 产品5); for(i=0;i1000;i+) /*将所输入的条数存入结构体数组中*/ printf(nn-n); scanf(%d%d%d%d%d%d,&ti.name,&ti.a1,&ti.a2,&ti.a3,&ti.a4,&ti.a5); if(ti.name!=1)&(ti.name!=2)&(ti.name!=3)&(ti.name!=4)printf(不存在该销售员的信息!);if(ti.name=0)&(ti.a1=0)&(ti.a2=0)&(ti.a3=0)&(ti.a4=0)&(ti.a5=0)break; printf(n-nnn); return i; /*查询函数*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1