销售管理系统Word文档下载推荐.docx

上传人:b****6 文档编号:19085146 上传时间:2023-01-03 格式:DOCX 页数:27 大小:89.93KB
下载 相关 举报
销售管理系统Word文档下载推荐.docx_第1页
第1页 / 共27页
销售管理系统Word文档下载推荐.docx_第2页
第2页 / 共27页
销售管理系统Word文档下载推荐.docx_第3页
第3页 / 共27页
销售管理系统Word文档下载推荐.docx_第4页
第4页 / 共27页
销售管理系统Word文档下载推荐.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

销售管理系统Word文档下载推荐.docx

《销售管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《销售管理系统Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。

销售管理系统Word文档下载推荐.docx

1题目要求1

1.1要求.1

2需求分析1

3总体设计1

4详细设计2

4.1主函数2

4.2各功能模块设计5

4.3公共函数6

5.运行结果(附带抓图)7

6.总结10

参考文献27

1题目要求

1.1要求

某公司有四个销售员(编号:

1-4),负责销售五种产品(编号:

1-5)。

每个销售员都将当日出售的每种产品各写一张便条交上来。

每张便条内容包含:

1、销售员的代号

2、产品的代号

3、这种产品当天的销售额

每位销售员每天可能上缴0-5张便条。

假设手机到了上个月的所有便条,编写一个处理系统,读取上月的销售情况(自己设定),进行如下处理:

1、计算上个月没人每种产品的销售额

2、按销售额对销售员进行排序,输出排序结果(销售员代号)

3、统计每种产品的总销售额,对这些产品从高到低的顺序输出结果(须输出产品的代号和销售额)

4、输出统计报表

2需求分析

本程序将用到文件系统,list.txt文件内容作为数据源,其中单行内容代表一张纸条。

程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;

由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;

在程序中要进行统计工作,所以要提供显示、排序等操作;

另外应提供键盘式选择菜单实现功能选择。

3总体设计

根据上面的分析,可以将这个系统分为如下五大模块:

查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。

其中主要模块是前四个模块。

4详细设计

4.1主函数

【数据结构】

原始数据有员工代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。

然后定义全局变量n保存纸条数目,定义数组s用于保存分类后的信息。

【数据结构代码】

typedefstruct/*缩短结构体变量名*/

{

intshangpin[Z];

/*定义结构体便于信息的存储和读写,辨别*//*R是表示商品的种类,最后一个为该销售员商品总和*/

}data;

【程序】

intmain()

inti,choice;

datasxy[R];

/*R表示职工的个数,前面的宏常量*/

for(i=0;

;

i++)

{

system("

cls"

);

/*清频命令*/

menu();

/*菜单函数提示用户怎样选择*/

printf("

你想做什么?

\n"

请选择:

"

/*输入要进行的操作*/

scanf("

%d"

&

choice);

if(choice==0)/*退出程序*/

break;

else

switch(choice)

case1:

data_count(sxy);

break;

/*计算上个月每个人每种产品的销售额*/

case2:

range_sxy(sxy);

/*按销售额对销售员进行排序,输出排序结果*/

case3:

range_shangpin(sxy);

/*统计每种产品的总销售额,输出排序结果*/

case4:

data_out(sxy);

/*输出统计报表*/

}

}

4.1.1data_read()读取文件数据

data_read()函数从1.txt文件读取数据,将数据保存到程序的结构体当中。

【程序】

voiddata_read(data*x)/*读入函数使程序简洁*/

FILE*fp;

charfname[10];

inti;

您想查询哪个月?

请输入月份:

/*输入文件名,这样可以进行各个月份信息读入*/

%s"

fname);

strcat(fname,"

.txt"

/*连接文件属性*/

if((fp=fopen(fname,"

rb"

))==NULL)/*打开文件*/

cannotopenthefile\n"

exit(0);

i<

R;

i++)/*读出信息*/

if(fread(x+i,sizeof(data),1,fp)!

=1)

读入信息出错!

4.1.2data_count()计算上个月每个人每种产品的销售额

【程序】

voiddata_count(data*x)/*计算上个月每个人每种产品的销售额*/

{

intj,t;

/*用于控制循环*/

inti,k,s;

/*用于定义职工序号,产品序号,产品数量*/

您想计算哪个月?

/*输入文件名,这样可以进行各个月份信息写入*/

wb"

for(j=0;

j<

j++)/*对商品数量清零*/

for(t=0;

t<

Z;

t++)

(x+j)->

shangpin[t]=0;

pleaseputtheinformationaboutthe职工编号,产品编号,销售数量\n"

/*写入信息*/

j++)

%d%d%d"

i,&

k,&

s);

if(i==0)/*输入职工为0时结束信息输入*/

if(i>

R||i<

0||k>

Z||k<

0)

theinformationerror!

/*避免输入信息出错*/

continue;

(x+i-1)->

shangpin[k-1]=(x+i-1)->

shangpin[k-1]+s;

/*统计各个人的各种产品的数量,-1为了和数组中的序号相匹配*/

if(fwrite((x+j),sizeof(data),1,fp)!

=1)/*把信息写入文件中便有以后调用*/

writeerror!

fclose(fp);

/*关闭文件避免信息遗漏*/

voidrange_sxy(data*x)/*按销售额对销售员进行排序,输出排序结果*/

inti,k,j,t,bianhao[R]={0},z;

你要哪个月的?

/*读入信息提示*/

)/*用于存储职工编号*/

bianhao[i]=i++;

请输入按何种产品排序\n"

k);

k=k-1;

/*便于与结构体中的数组值对应*/

i++)/*按K种产品对销售员排序,选择法排序*/

t=i;

for(j=i+1;

if((x+bianhao[t])->

shangpin[k]<

(x+bianhao[j])->

shangpin[k])/*调用职工各自对应的结构体内的产品数量*/

t=j;

if(t!

=i)

z=bianhao[i];

bianhao[i]=bianhao[t];

bianhao[t]=z;

按%d产品对销售员排序为:

k+1);

%5d"

bianhao[i]+1);

getch();

4.1.3menu()显示主菜单

用于显示菜单,获取用户选项进入相应模块。

voidmenu()

{printf("

*******************************************************\n"

0.结束操作\n"

1.计算上个月每个人每种产品的销售额\n"

2.按销售额对销售员进行排序,输出排序结果\n"

3.统计每种产品的总销售额,输出排序结果\n"

4.输出统计报表\n"

******************************************************\n"

4.1.4data_out()输出函数

voiddata_out(data*x)/*输出统计报表*/

inti,j,sum[Z+1]={0};

i++)/*对各种商品求和*/

sum[i]=sum[i]+(x+j)->

shangpin[i];

i++)/*求商品总和*/

sum[Z]=sum[Z]+sum[i];

输出统计报表如下:

/*按要求输出统计表*/

产品代号销售之和销售员代号\n"

%-10d%-10d%-10d\n"

j+1,(x+i)->

shangpin[j],i+1);

***********************************\n"

{

if(i==0)

%d产品之和%-10d总和%-10d\n"

i+1,sum[i],sum[Z]);

%d产品之和%-10d\n"

i+1,sum[i]);

4.2各功能模块设计

4.2.1查看每人每种产品的销售额模块

由于在初始化当中已经进行分类整理,所以现在只要通过遍历s数组就可以将统计信息显示出来。

按销售额对销售员排序

计算每单个销售员所有产品销售数量,用一个FOR循环循环四次,每次获取最大值后输出,输出之后将最大值标记为-1,然后进行下次循环,由此获得由大到小的排行。

range_sxy()销售员统计排序函数

voidrange_shangpin(data*x)/*统计每种产品的总销售额,输出排序结果*/

inti,j,sum[Z]={0},bianhao[Z]={0},z,t,k;

您想计算哪个月的?

)/*用于存储商品编号*/

%3d"

bianhao[i]);

i++)/*对产品从高到低排序,选择法排序*/

j++)/*产品变化时,产品编号也随之变化,便于输出*/

if(sum[t]<

sum[j])

k=sum[i];

sum[i]=sum[t];

sum[t]=k;

输出产品排序\n"

产品编号数量\n"

%-10d%-10d\n"

bianhao[i]+1,sum[i]);

4.2.2对每种产品总销售额从高到低排序

计算每单个产品销售数量,用一个FOR循环循环五次,每次获取最大值后输出,输出之后将最大值标记为-1,然后进行下次循环,由此获得由大到小的排行。

voidrange_shangpin(data*x)/*统计每种产品的总销售额,输出排序结果*/

4.2.3输出统计报表

输出报表,将数组中的统计信息输出到屏幕。

voiddata_out(data*x)/*输出统计报表*/

4.2.4退出

exit()为系统函数,退出程序时使用。

5运行结果(附带抓图)

1.txt文件中数据如下:

111

222

333

444

程序运行结果:

查看每人每种产品的销售额运行结果:

按销售额对销售员排序运行结果:

对每种产品销售额从高到低排序运行结果:

统计报表运行结果:

6总结

通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。

附录A源码

#include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1