C销售管理系统设计.docx
- 文档编号:25674963
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:21
- 大小:284.97KB
C销售管理系统设计.docx
《C销售管理系统设计.docx》由会员分享,可在线阅读,更多相关《C销售管理系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
C销售管理系统设计
学年设计
设计(论文)题目:
销售管理系统设计
学院名称:
电子与信息工程学院
专业:
计算机科学与技术
班级:
计科xxx班
姓名:
xxx学号xx
指导教师:
xxx
销售管理系统设计
一.题目要求
某公司有四个销售员(编号:
1-4),负责销售五种产品(编号:
1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
4)输出统计报表
销售统计报表
产品代号 销售之和
销售员代号 1 2 3 4 5
1
2
3
4
每种产品之和 总和
二.需求分析
观察设计需求,需要建立相应的结构体,在结构体中包含有每种产品的销售额和总销量。
程序通过switch语句实现对具体函数的调用和功能的实现。
三.总体设计.
结合上述分析该系统应包括以下模块:
信息录入、信息查询、信息浏览、成绩排序、信息修改。
结构图如下
四.详细设计
1、主函数
主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
[流程图]
N
Y
[程序]
Intmain(void)
printf("enteryourchoice\n");
printf("1:
输入每日便条\n");
printf("2:
按销售额对销售员进行排序,输出排序结果(销售员代号)\n");
printf("3:
统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果\n");printf("4:
输出统计报表\n");
printf("5:
退出\n");
/*实现选择功能*/
switch(s){
case1:
input_date(list);
break;
case2:
px_date(list);
break;
case3:
cjze_px_date(list);
break;
case4:
sctjb_date(list);
break;
}
}while(s!
=5);
printf("thankyouforuse");
}/*以上完成了主函数计主菜单的构成*/
2.数据结构
按题目要求:
结构体定义如下:
structdate_list{
intdata[5];
intxsze;
}list[4];
解释:
List【4】表示四个销售人员;
整型数据data【5】分别表示每个销售人员的五种销售产品的销量;
整型数据xsze代表每个销售人员的销售总额;
3.录入模块
根据题目要求:
输入每日便条,内容包括人员代号,产品代号,相对应的产品销售额;
[流程图]
结束操作
是
否
[程序]
voidinput_date(structdate_listlist[])
{
intm,n,k,t;
do{
printf("输入销售员代号\n");
scanf("%d",&n);
printf("输入产品代号\n");
scanf("%d",&m);
printf("输入产品当天的销售额\n");
scanf("%d",&k);
switch(m){
case1:
case2:
case3:
case4:
case5:
list[n-1].data[m-1]=list[n-1].data[m-1]+k;
break;
}
printf("是否继续输入是:
1否:
0\n");
scanf("%d",&t);
}while(t==1);
}
4.统计模块
按题目排序方法要求:
模块功能是按销售额对销售员进行排序,输出排序结果(销售员代号)
排序方法:
冒泡排序;
[程序]
voidpx_date(structdate_listlist[])
{
inti,j,k;
structdate_listd[4],t;/
intb[4];
for(i=0;i<4;i++)
{
list[i].xsze=0;
for(j=0;j<5;j++)
list[i].xsze+=list[i].data[j];
d[i]=list[i];
b[i]=i+1;
}
/*冒泡排序选择*/
for(i=0;i<4;i++)
{
for(j=i+1;j<4;j++)
{
if(d[i].xsze { t=d[i]; d[i]=d[j]; d[j]=t; k=b[i]; b[i]=b[j]; b[j]=k; } } } printf("销售额销售员\n"); for(i=0;i<4;i++) printf("%d%d\n",d[i].xsze,b[i]); } 5.统计并排序模块 [需求分析]排序方法 该模块功能是统计每种产品的销售总额,并按此排序; 排序方法: 冒泡排序; [程序] voidcjze_px_date(structdate_listlist[]) { inti,j,k; structdate_listd[8],t; intb[5]; for(j=0;j<5;j++) { d[j].xsze=0; for(i=0;i<4;i++) d[j].xsze+=list[i].data[j]; b[j]=j+1; } for(j=0;j<5;j++) { for(i=j+1;i<5;i++) { if(d[j].xsze { t=d[i]; d[i]=d[j]; d[j]=t; k=b[i]; b[i]=b[j]; b[j]=k; } } } printf("销售额产品代号\n"); for(i=0;i<5;i++) printf("%d%d\n",d[i].xsze,b[i]); } 6.输出统计模块 [需求分析] 该模块功能是统计各个数据,按表格输出统计结果,内容包括各个人员各个产品销售额和销售总额等; [程序] voidsctjb_date(structdate_listlist[]) { intt,v,z; inti,j; printf("销售统计报表\n"); printf("产品代号销售之和\n"); printf("销售员代号"); for(z=1;z<6;z++) printf("%d",z); printf("\n"); for(i=0;i<4;i++) { printf("%d",i+1); for(j=0,t=0;j<5;j++) { t+=list[i].data[j]; printf("%d",list[i].data[j]); } printf("%d\n",t); } v=0; printf("每种产品之和"); for(j=0;j<5;j++) { for(i=0,t=0;i<4;i++) t+=list[i].data[j]; v+=t; printf("%d",t); } printf("%d\n",v); } 五.程序运行情况 主菜单 1)便条输入: 选项选择一: 2)按销售额对销售员进行排序: 选项选择2; 3)按产品的销售总额对产品进行排序,并输出产品代号和其销售总额; 选择功能三: 4)输出统计表 选择功能四: 5)退出程序: 选择功能无; 六.设计心得 通过了这次课程设计的实验,我更加地熟悉了C语言,也懂得了更多的技巧和实践方法。 这次的经历也让我增加的对学习计算机的兴趣,体会到了编程的快乐。 程序源代码: #include #include #include structdate_list{ intdata[5]; intxsze; }list[4]; intmain(void) { voidinput_date(structdate_listlist[]); voidpx_date(structdate_listlist[]); voidcjze_px_date(structdate_listlist[]); voidsctjb_date(structdate_listlist[]); ints; do{ printf("enteryourchoice\n"); printf("1: 输入每日便条\n"); printf("2: 按销售额对销售员进行排序,输出排序结果(销售员代号)\n"); printf("3: 统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果\n"); printf("4: 输出统计报表\n"); printf("5: 退出\n"); scanf("%d",&s); switch(s){ case1: input_date(list); break; case2: px_date(list); break; case3: cjze_px_date(list); break; case4: sctjb_date(list); break; } }while(s! =5); printf("thankyouforuse"); return0; } voidinput_date(structdate_listlist[]) { intm,n,k,t; do{ printf("输入销售员代号\n"); scanf("%d",&n); printf("输入产品代号\n"); scanf("%d",&m); printf("输入产品当天的销售额\n"); scanf("%d",&k); switch(m){ case1: case2: case3: case4: case5: list[n-1].data[m-1]=list[n-1].data[m-1]+k; break; } printf("是否继续输入是: 1否: 0\n"); scanf("%d",&t); }while(t==1); } voidpx_date(structdate_listlist[]) { inti,j,k; structdate_listd[4],t; intb[4]; for(i=0;i<4;i++) { list[i].xsze=0; for(j=0;j<5;j++) list[i].xsze+=list[i].data[j]; d[i]=list[i]; b[i]=i+1; } for(i=0;i<4;i++) { for(j=i+1;j<4;j++) { if(d[i].xsze { t=d[i]; d[i]=d[j]; d[j]=t; k=b[i]; b[i]=b[j]; b[j]=k; } } } printf("销售额销售员\n"); for(i=0;i<4;i++) printf("%d%d\n",d[i].xsze,b[i]); } voidcjze_px_date(structdate_listlist[]) { inti,j,k; structdate_listd[8],t; intb[5]; for(j=0;j<5;j++) { d[j].xsze=0; for(i=0;i<4;i++) d[j].xsze+=list[i].data[j]; b[j]=j+1; } for(j=0;j<5;j++) { for(i=j+1;i<5;i++) { if(d[j].xsze { t=d[i]; d[i]=d[j]; d[j]=t; k=b[i]; b[i]=b[j]; b[j]=k; } } } printf("销售额产品代号\n"); for(i=0;i<5;i++) printf("%d%d\n",d[i].xsze,b[i]); } voidsctjb_date(structdate_listlist[]) { intt,v,z; inti,j; printf("销售统计报表\n"); printf("产品代号销售之和\n"); printf("销售员代号"); for(z=1;z<6;z++) printf("%d",z); printf("\n"); for(i=0;i<4;i++) { printf("%d",i+1); for(j=0,t=0;j<5;j++) { t+=list[i].data[j]; printf("%d",list[i].data[j]); } printf("%d\n",t); } v=0; printf("每种产品之和"); for(j=0;j<5;j++) { for(i=0,t=0;i<4;i++) t+=list[i].data[j]; v+=t; printf("%d",t); } printf("%d\n",v); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 销售 管理 系统 设计