销售管理系统实验报告.docx
《销售管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《销售管理系统实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
![销售管理系统实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/23/b0163bf1-c42e-4759-ba21-3888769ad3b2/b0163bf1-c42e-4759-ba21-3888769ad3b21.gif)
销售管理系统实验报告
河北科技大学
课程设计报告
学生姓名:
刘立夺学号:
11L*******
专业班级:
软件L113
课程名称:
数据结构
学年学期:
2013—2014学年第2学期
*******
2014年6月
课程设计成绩评定表
学生姓名
刘立夺
学号
11L0752037
成绩
专业班级
软件L113
起止时间
设计题目
销售管理系统
指
导
教
师
评
语
指导教师:
年月日
一、数据结构课程设计目标
《数据结构》是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。
《数据结构》课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。
《数据结构》课程也是一门实践性较强的课程,设置实践环节是十分重要的。
本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。
二、问题描述
某公司有四个销售员(编号:
1-4),负责销售五种产品(编号:
1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:
销售员的代号、产品的代号、这种产品的当天的销售额
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
三、需求分析
本程序将用到文件系统,list.txt文件内容作为数据源,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
四、概要设计
根据上面的分析,可以将这个系统分为如下五大模块:
查看每人每种产品的销售额 、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。
其中主要模块是前四个模块。
五、详细设计
1、流程图
2、源程序
#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;//统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
}
}
}
六、软件说明书(给出软件如何使用,使用时的注意事项)
1、本程序的运行环境为VC6.0操作环境,执行文件为Salesmanagement.cpp。
2、进入演示之后如下图所示:
3、之后可选择按键任意键进入销售系统。
七、测试报告(每个函数的功能测试,输入条件,输出结果)
1、操作命令“1”显示销售情况,显示结果如下图:
2、操作命令“2”显示上个月每个人每种产品的销售额,显示结果如下图:
3、操作命令“3”显示按销售额对销售员排序运行结果,显示结果如下图:
4、操作命令“4”显示对每种产品销售额从高到低排序运行结果,显示结果如下图:
5、操作命令“5”操作结束
八、课程设计总结
在经历了将近几个星期的课程设计过程中,我们从了解课题、理解课题、查找资料、确定思路到设计实施,学生信息管理系统初步形成。
我们能从中深刻的感受到自己又收获了很多东西。
通过本次实践,我们学习了许多数据库的知识,而且学到了书本上学不到的东西,积累了一点经验和教训,有了些体会。
1、必须详细准确的做好需求分析,本系统的需求分析不太详细,只是凭自己的浅显知识来做的,因此有许多疏漏。
2、软件工程原理和方法是软件开发得以顺利进行的保障,一定要遵守,否则既费时又费力。
3、通过本次课程设计,端正了我们的学习态度,提高了实践能力。
使我们认识到应该以严谨的科学态度勇于去实践和探索。
这次课程设计既是一个学习的过程,也是一个实践的过程,它使我们获得了一些开发大型数据库系统的经验。
但是,由于时间和我们个人的能力有限,这个系统还有很多不完善的地方。