C语言课程设计报告 销售管理系统.docx
《C语言课程设计报告 销售管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告 销售管理系统.docx(8页珍藏版)》请在冰豆网上搜索。
C语言课程设计报告销售管理系统
C语言课程设计报告
销售管理系统
一、题目要求
某公司有四个销售员,(编号1-4),负责销售五种产品(编号1-5).每个销售员都将当天出售的每种产品各写一张便条过来.每长便条包含内容:
①销售人员的代号
②产品的代号;
③这种产品的当天的销售额;
每位销售人员每天肯上缴的0—5张便条.假如收集到了上个月的所有便条,编写一个处理程序,读取上个月的销售情况(自己假设),进行如下处理。
①计算上个月每个人每种产品的销售额;
②按销售额对销售人员进行排序,输出排序的结果(销售员代号);
③统计每种产品的总销售额,对这些产品按从高到低的顺序,输出排序结果(需要输出产品的代号和销售额);
④输出统计报表。
二、需求分析
本程序将用到结构体数组来实现,结构体成员要包括销售员代号、产品代号、销售额。
待输入相关数据后,要将上个月每个人每种产品的销售额输出,然后按销售额参照冒泡法或选择排序算法对销售员进行排序,并输出排序结果。
最后,要统计每种产品的总销售额,对这些产品按销售额从高到低的顺序输出排序结果。
三、总体设计
下面就以上的需求分析对程序进行总体设计,可以将这个系统的设计分为三个模块:
计算上个月每个销售员每种产品的销售额、按销售额给销售员排序、按销售额给产品排序。
如图:
销售管理系统
↙↓↘
每个销售员每种产品的销售额按销售额给销售员排序按销售额给产品排序
四、程序分析:
对输入的每个销售人员的信息用结构体实现;
结构体成员包括销售人员代号,产品代号产品销售额,输入时候包含三个for循环,按月循环,按销售人员循环,按销售额循环.
输入销售额由于按结构体控制输入,将销售额,销售人员,销售产品的信息联系在一起,便于后面的统计:
#include
#defineP1
structmessage
{
intseller[4];
intproduct[4][5];
intsale[4][5];
}sell[50];
voidmenu()
{
printf("\t\t*****************销售管理系统*****************\n\n");
printf("\t\t\t\t一:
输入模块\n");
printf("\t\t\t\t二:
统计计算模块\n");
printf("\t\t\t\t三:
打印输出模块\n");
}
intmain()
{
inti,j,k,n,m,p;
inta[4][5],b[4]={0},c[10],d[10][2];
inte[5]={0},f[10][2];
messagesell[50];
menu();
for(i=1;i<=P;i++)
for(j=1;j<=4;j++)
{
printf("请输入销售人员编号:
\n");
scanf("%d",&n);
for(k=1;k<=5;k++)
{
printf("请输入产品编号:
\n");
scanf("%d",&m);
printf("请输入产品当天销售额:
\n");
scanf("%d",&sell[i].sale[n][m]);
}
}/*输入*/
printf("\t\t*****************统计报表系统*****************\n\n");
printf("\t\t\t一:
上个月每个销售人员每种产品的销售额\n");
for(i=1;i<=4;i++)/*计算上个月每个人每种产品的销售额*/
for(j=1;j<=5;j++)
{
for(k=1;k<=P;k++)
a[i][j]+=sell[k].sale[i][j];
printf("上个月销售人员%d销售产品%d的销售额为%d\n",i,j,a[i][j]);
}
printf("\n\t\t\t二:
上个月每个销售人员销售额排序\n");
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
b[i]+=a[i][j];/*每个销售员的销售额*/
for(i=1;i<=4;i++)
{
c[i]=b[i];
}
for(i=1;i<=4;i++)
for(j=i+1;j<=4;j++)
if(c[i]{
p=c[i];
c[i]=c[j];
c[j]=p;
}
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
if(c[i]==b[j])
{
d[i][0]=j;d[i][1]=b[j];
}/*按销售额给销售员排序*/
printf("销售人员%d的销售额为%d\n",d[i][0],d[i][1]);
}
printf("\n\t\t\t三:
上个月每种产品总销售额排序\n");
for(i=1;i<=5;i++)
for(j=1;j<=4;j++)
e[i]+=a[j][i];/*每种产品总销额*/
for(i=1;i<=5;i++)
{
c[i]=e[i];
}
for(i=1;i<=5;i++)
for(j=i+1;j<=5;j++)
if(c[i]{
p=c[i];
c[i]=c[j];
c[j]=p;
}
for(i=1;i<=5;i++)
{
for(j=1;j<=5;j++)
if(c[i]==e[j])
{
f[i][0]=j;f[i][1]=e[j];
}/*产品销售额排序*/
printf("上个月产品%d的销售额为%d\n",f[i][0],f[i][1]);
}
printf("\t\t*****************统计报表系统尾端*****************\n\n");
return0;
五、运行结果
输入程序部分截图
输出程序截图
六、学习心得
四天紧张而快乐的上机实习,让我再次感受到了c语言的难度,也让我从本质上对c语言这门学科有了更深层次的认识。
在我初学c语言时,并没有对其产生浓厚的兴趣,总觉得这样的学科太过乏味,而且认为理论与实践相结合才是最好的学习方法,仅仅上课没有多大用处。
所以,一开始我就很忽视c语言的学习,除了上课时简单地听一下,从来就没有用课余时间去温习。
但是,考试让我从幻想中清醒过来,我这才清楚地认识到c语言并没有想象中的那么简单。
不过,一切为时已晚。
现在,我又有一个机会接触c语言了,我也已经做好了充足的准备。
我决定用自己最大的努力再次去学c语言。
让我高兴的是,这次的学习虽然很艰难,但是却真正的让我体会到学习c语言的乐趣,也让我知道c语言所深藏的巨大作用。
这四天,我们是在机房度过的,虽然我一直很讨厌整天坐在计算机旁,但是这次没有让我产生反感,我反而喜欢这样去琢磨一个复杂的程序,因为这样也很快乐。
老师每天都有来,为同学们解决问题。
同学们也互相讨论,一起学习,一起进步。
希望以后也有这样的一个机会,能够再次让我们在一起互相学习,与老师进行面对面的接触。
我会很怀恋这次的计算机实习的,我以后对待各学科的态度也将会从这次c语言实习开始发生本质的改变。