数据结构课程设计销售管理系统.docx
《数据结构课程设计销售管理系统.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计销售管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
数据结构课程设计销售管理系统
学号
天津城市建设学院
数据结构课程设计
设计说明书
销售管理系统
起止日期:
2011年12月12日至2011年12月16日
学生姓名
班级
成绩
指导教师(签字)
电子与信息工程系
2011年12月16日
课程设计任务书
2011—2012学年第1学期
电子与信息工程系软件工程专业班级
课程设计名称:
数据结构课程设计
设计题目:
销售管理系统
完成期限:
自2011年12月12日至2011年12月16日共1周
设计依据、要求及主要内容(可另加附页):
一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、设计要求
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。
凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;
(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;
(4)认真编写课程设计报告。
三、设计内容
销售管理系统
1)问题描述
某公司有四个销售员(编号:
1-4),负责销售五种产品(编号:
1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
2)基本要求
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
关键源程序清单和执行结果
源程序:
#include
usingnamespacestd;
#defineN100
#defineZ5//定义宏常量便于程序的一般化,Z表示产品的个数
#defineR4//R表示销售员个数
structBiantiao
{
intSno;
intPno;
intsum;
intmonth;
};
intSum[R+1][Z+1];
structBiantiaodata[N];
intNUM=0;
intA[R];
voidmenu()
{
cout<<"\t┏━━━━━━━━━━━━主菜单━━━━━━━━━━┓\n"<cout<<"\t┃1.输入销售情况┃\n"<cout<<"\t┃2.计算上个月每个人每种产品的销售额┃\n"<cout<<"\t┃3.按销售量对销售员进行排序,输出排序结果┃\n"<cout<<"\t┃4.统计每种产品的总销售额,输出排序结果┃\n"<cout<<"\t┃5.结束操作┃\n"<cout<<"\t┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"<}
voidf1()
{
intj;//用于定义职工序号,产品序号,产品数量,月份
cout<<"请输入便条数目:
"<cin>>NUM;//输入便条数目
for(j=0;j{
cout<<"请输入:
\n职工编号产品编号销售数量月份\n"<cin>>data[j].Sno>>data[j].Pno>>data[j].sum>>data[j].month;
}
}
voidf2()
{
inti,j,m;
cout<<"你想计算哪个月?
"<cout<<"请您输入月份:
"<cin>>m;//输入月份
//对每个人每种产品进行销售额统计
for(i=1;i<=R;i++)
for(j=1;j<=Z;j++)
{
intsum=0;
for(intk=0;kif(data[k].month==m&&data[k].Sno==i&&data[k].Pno==j)
{
sum=sum+data[k].sum;
Sum[i][j]=sum;//统计的结果存放在二维数组Sum里面
}
}
cout<<"输出该月每个人每种产品的销售额如下:
\n"<cout<<"销售员代号产品代号销售之和\n"<for(i=1;i<=R;i++)
for(j=1;j<=Z;j++)
{
cout<
}
}
voidf3()
{
intk=0;
inti,j,m,temp;
cout<<"你要哪个月的?
\n"<cout<<"请输入月份:
"<cin>>m;//输入月份
ints=0;
for(i=1;i<=R;i++)
{
s=0;
for(j=1;j<=Z;j++)
{
s=s+Sum[i][j];//对二维数组里面的每个销售员进行销售额统计
data[i].sum=s;//计算的销售额之和存放在结构体数组中
}
}
for(j=1;j<=R;j++)
{
data[j].Sno=j;
}
for(j=1;j<=R;j++)//使用冒泡排序法进行排序
{
for(i=1;i<=R-j;i++)
{
if(data[i].sum>data[i+1].sum)
{
k=data[i].Sno;//对销售员编号进行排序
data[i].Sno=data[i+1].Sno;
data[i+1].Sno=k;
temp=data[i].sum;//对销售额进行排序
data[i].sum=data[i+1].sum;
data[i+1].sum=temp;
}
}
}
cout<<"从低到高的排序结果为:
"<for(intl=1;l<=R;l++)
{cout<<"员工"<销售额为:
"<}
}
voidf4()
{
intk=0;
inti,j,m,temp;
cout<<"你要哪个月的?
\n"<cout<<"请输入月份:
"<cin>>m;
ints=0;
for(i=1;i<=Z;i++)
{
s=0;
for(j=1;j<=R;j++)
{
s=s+Sum[j][i];//对二维数组里面的每个产品进行销售额统计
data[i].sum=s;//计算的销售额之和存放在结构体数组中
}
}
for(j=1;j<=Z;j++)
{
data[j].Pno=j;
}
for(i=1;i<=Z;i++)//使用冒泡排序法进行排序
{
for(j=1;j<=Z-i;j++)
{
if(data[j].sum{
k=data[j].Pno;//对产品编号进行排序
data[j].Pno=data[j+1].Pno;
data[j+1].Pno=k;
temp=data[j].sum;//对销售额进行排序
data[j].sum=data[j+1].sum;
data[j+1].sum=temp;
}
}
}
cout<<"从高到低的排序结果为:
"<for(intl=1;l<=Z;l++)
{cout<<"产品号"<销售额为:
"<}
}
voidmain()
{
inti,choice;
cout<<"\n\n\n\n\n\n\t━━━━━━━━━━━━━━━━━━━━━━━━━\n"<cout<<"\t---------------欢迎进入商品销售系统!
-------------\n"<cout<<"\t━━━━━━━━━━━━━━━━━━━━━━━━━\n"<cout<<"\n\n\n\n\n\n\t\t\t按任意键进入主菜单!
"<system("pause");
for(i=0;;i++)
{
menu();//主菜单函数提示用户怎样选择
cout<<"你想做什么?
\n"<cout<<"请选择:
"<cin>>choice;
if(choice==5)
{
cout<<"\n\n\n\n\n\n\t━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"<cout<<"\t---------------谢谢使用商品销售系统!
-------------\n\n"<cout<<"\t━━━━━━━━━━━━━━━━━━━━━━━━━\n\n"<cout<<"\n\n\n\n\n\n\t\t\t按任意键退出!
(^.^)"<break;//退出整个程序
}
else
switch(choice)
{
case1:
f1();break;//输入销售情况
case2:
f2();break;//计算上个月每个人每种产品的销售额
case3:
f3();break;//按销售量对销售员的销售情况进行排序,并且输出排序的结果
case4:
f4();break;//统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
}
}
}