销售信息统计.docx

上传人:b****1 文档编号:1230398 上传时间:2023-04-30 格式:DOCX 页数:16 大小:19.20KB
下载 相关 举报
销售信息统计.docx_第1页
第1页 / 共16页
销售信息统计.docx_第2页
第2页 / 共16页
销售信息统计.docx_第3页
第3页 / 共16页
销售信息统计.docx_第4页
第4页 / 共16页
销售信息统计.docx_第5页
第5页 / 共16页
销售信息统计.docx_第6页
第6页 / 共16页
销售信息统计.docx_第7页
第7页 / 共16页
销售信息统计.docx_第8页
第8页 / 共16页
销售信息统计.docx_第9页
第9页 / 共16页
销售信息统计.docx_第10页
第10页 / 共16页
销售信息统计.docx_第11页
第11页 / 共16页
销售信息统计.docx_第12页
第12页 / 共16页
销售信息统计.docx_第13页
第13页 / 共16页
销售信息统计.docx_第14页
第14页 / 共16页
销售信息统计.docx_第15页
第15页 / 共16页
销售信息统计.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

销售信息统计.docx

《销售信息统计.docx》由会员分享,可在线阅读,更多相关《销售信息统计.docx(16页珍藏版)》请在冰点文库上搜索。

销售信息统计.docx

销售信息统计

课程设计

学号

班级

姓名

指导教师

2007年09月14日

课程设计任务书

一、课程设计题目:

销售信息统计

二、课程设计工作自2007年9月10日起至2007年9月14日止

三、课程设计内容:

用C语言编写软件完成以下任务:

沈阳的某家建材商店去年7月的销售业绩清单存储在文件file28.txt,格式为:

售货员编号,售货员姓名,销售日期,销售额。

写程序,对文件的数据具有如下的统计分析功能:

1.能够按照所指定的售货员的编号,或者姓名,统计出他在7月的销售总额。

2.能够按照所指定的日期,统计出当日的销售总额。

四、课程设计要求:

1.程序质量:

●贯彻结构化程序设计思想。

●用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

●用户界面中的菜单至少应包括“读取数据”、“统计某售货员的销售总额”、“统计某天的销售总额”、“退出”4项。

●代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2.课程设计说明书:

课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:

●封面

●课程设计任务书

●目录

●需求分析(分析题目的要求)

●程序流程图(总体流程图和主要功能模块流程图)

●核心技术的实现说明及相应程序段

●个人总结

●参考资料

●源程序及适当的注释

指导教师:

________学生签名:

________

目录

一、需求分析1

二、程序流程图2

三、核心技术的实现说明及相应程序段7

四、个人总结13

五、参考文献13

六、源程序13

 

一、需求分析

经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:

读取数据,按销售员姓名统计(xmtjyue),按销售员编号统计(bhtjyue),按日期统计(tjtian),显示出所有信息(show)。

每一个函数都是严格按照题目的要求。

后四项为编写该题目的主要步骤。

1、显示所有销售实现的是显示目前所有的销售信息。

2、按销售员姓名统计实现的功能是对所输入的姓名信息进行判断,然后对该名的销售额进行累加。

统计出该月该售货员的销售总额。

3、按销售员编号统计实现的功能是对所输入的编号信息进行判断,然后对该编号销售员的销售额进行累加。

统计出该编号售货员在该月的销售总额。

4、按日期统计实现的功能是对所输入的日期进行判断,然后对该日期的销售员的销售额进行累加。

统计出该日期的销售总额。

除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

二、程序流程图

1、总体设计

While

(1)

输入值=1?

显示所有销售信息

输入值=2?

按销售员姓名统计

输入值=3?

按销售员编号统计

输入值=4?

按日统计

退出

图1.程序总体设计结构图

2、具体功能框图

(1)显示所有销售信息

inti

i=0;i

xsh[i].money!

=0

Printf(“\n%s%s%s%d\n”

xsh[i].num,xsh[i].name,xsh[i].date,

Xsh[i].money);

图2.显示销售信息函数

(2)按销售员姓名统计

Read(stu,&n)

循环变量i=o;输入待报到的学生学号

当i

Stu[i]与nuber相等?

i>=n?

图3.按销售员姓名统计函数

(3)按销售员编号统计

charnum[5];inti,j=0,sum=0;

printf(“请输入你要查询的销售员的编号:

”)

scanf(“%s,num”)

i=0;i

strcmp(temp.num,xsh[i].num)==0

sum=sum+xsh[i].money;

j=1

是j==0

printf(“无此销售员信息,请重新输入”)

printf(“该销售员在本月的销售额为:

”)

图4.按销售员编号统计函数

 

(4)按日期统计

chardate[16];inti,j=0,sum=0;

print(“请输入你要查询的日期:

”)

scanf(“%s”,temp.date)

i=0;i

strcmp(temp.date,xsh[i].date)==0

sum=sum+xsh[i].money

j=1

j==0

printf(“无此日期销售信息,请重新输入”)

Printf(“今天的总销售额为:

”)

图5.按日期统计函数

三、核心技术的实现说明及相应程序段

本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。

在这些函数当中,按销售员姓名统计,按销售员编号统计,按日期统计是程序中较为核心的部分,下面分别进行说明。

(1)定义一个数字变量“i”,数字变量对应的是下面的switch函数。

对应的“i”。

会执会相应的子函数。

main()

{inti;

while

(1)

{printf("**********************************某建材厂七月销售信息统计系统*******************\n");/*用户界面*/

printf("**********************************1.七月销售情况列表******************************\n");

printf("**********************************2.按销售员姓名统计销售信息**********************\n");

printf("**********************************3.按销售员编号统计销售信息**********************\n");

printf("**********************************4.按日期统计销售信息****************************\n");

printf("**********************************5.退出******************************************\n");printf("\n请输入目录中的数据:

");

scanf("%d",&i);

switch(i)

{case1:

show();break;

case2:

xmtjyue();break;

case3:

bhtjyue();break;

case4:

tjtian();break;

case5:

exit(0);break;

default:

printf("数据错误,请重新输入\n");

}

}

}

(2)根据售货员的姓名查询该人员在该月的销售总额,若输入的编号不在数据库中则显示"无此销售员信息,请重新输入"。

voidxmtjyue()/*统计某销售员7月销售总额函数*/

{structxiaoshouxsh[N],temp;

intsum=0;

FILE*fp;

inti,j;

j=0;

if((fp=fopen("E:

\\file28.txt","r+"))==NULL)

{printf("读取错误,不能打开该文件!

!

\n");

return;

}

else

for(i=0;i

fscanf(fp,"%s%s%s%d",&xsh[i].num,&xsh[i].name,&xsh[i].date,&xsh[i].money);

printf("请输入你要查询的销售员的姓名:

\n");

scanf("%s",temp.name);

for(i=0;i

if(strcmp(temp.name,xsh[i].name)==0)

{sum=sum+xsh[i].money;j=1;}

if(j==0)

printf("无此销售员信息,请重新输入");

else

printf("该销售员在本月的销售额为:

%d\n",sum);

fclose(fp);

}

(3)根据售货员的编号查询该人员在该月的销售总额,若输入的编号不在数据库中则显示"无此销售员信息,请重新输入"。

voidbhtjyue()

{structxiaoshouxsh[N],temp;

intsum=0;

FILE*fp;

inti,j;

j=0;

if((fp=fopen("E:

\\file28.txt","r+"))==NULL)

{printf("读取错误,不能打开该文件!

\n");

return;

}

else

for(i=0;i

fscanf(fp,"%s%s%s%d",&xsh[i].num,&xsh[i].name,&xsh[i].date,&xsh[i].money);/*把文件信息读到结构体变量中去*/

printf("请输入你要查询的销售员的编号:

\n");/*输入要查询的销售员编号*/

scanf("%s",temp.num);

for(i=0;i

if(strcmp(temp.num,xsh[i].num)==0)

{sum=sum+xsh[i].money;/*对符合要求的进行加*/

j=1;}

if(j==0)

printf("无此销售员信息,请重新输入");

else

printf("该销售员在本月的销售额为:

%d\n",sum);

fclose(fp);

}

(4)根据日期查询该人员在该月的销售总额,若输入的日期不在数据库中则显示“无此日期销售信息,请重新输入"。

voidtjtian()

{

structxiaoshouxsh[N],temp;

intsum=0;

FILE*fp;

inti,j;

j=0;

if((fp=fopen("E:

\\file28.txt","r"))==NULL)

{printf("读取错误,不能打开该文件!

!

\n");

return;

}

else

for(i=0;i

fscanf(fp,"%d%s%s%d",&xsh[i].num,xsh[i].name,&xsh[i].date,&xsh[i].money);

printf("请输入你要查询的日期:

\n");

scanf("%s",temp.date);

for(i=0;i

if(strcmp(temp.date,xsh[i].date)==0)

{sum=sum+xsh[i].money;j=1;}

if(j==0)

printf("无此日期销售信息,请重新输入");

else

printf("今天的总销售额为:

%d\n",sum);

fclose(fp);

}

四、个人总结

近一周的课程设计,使我对C语言这门课程有了进一步的认识和了解,也让我明白一个道理,有时做事应该多讲究合作精神,这样你会发现一切都会变的很容易理解,就像在这次课设中,在开始的时候我不知所措,但在一段长时间思考过后我没有在继续这么做,而是去和同学讨论,这样不但使他们让我明白了,我所不懂的,而且也让我了解了,同学之间的合作是多么重要,课设不仅让我学习到更多的知识,也学到更多的人生道理,我希望以后还有机会进行这样的学习活动。

五、参考文献

1谭浩强.C程序设计.北京:

清华大学出版社,2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

六、源程序

#include

#defineN20

#include

#include

structxiaoshou/*定义结构体变量*/

{

charnum[5];

charname[16];

chardate[16];

intmoney;

}xsh[N];

voidxmtjyue();

voidbhtjyue();

voidtjtian();

voidshow();

voidmain()

{inti;

while

(1)

{printf("**********************************某建材厂七月销售信息统计系统*******************\n");/*用户界面*/

printf("**********************************1.七月销售情况列表******************************\n");

printf("**********************************2.按销售员姓名统计销售信息**********************\n");

printf("**********************************3.按销售员编号统计销售信息**********************\n");

printf("**********************************4.按日期统计销售信息****************************\n");

printf("**********************************5.退出******************************************\n");

printf("\n请输入目录中的数据:

");

scanf("%d",&i);

switch(i)

{case1:

show();break;

case2:

xmtjyue();break;

case3:

bhtjyue();break;

case4:

tjtian();break;

case5:

exit(0);break;

default:

printf("数据错误,请重新输入\n");

}

}

}

voidshow()/*展示销售信息函数*/

{structxiaoshouxsh[N];

FILE*fp;

inti=0;

if((fp=fopen("E:

\\file28.txt","r"))==NULL)/*打开文件*/

{printf("读取错误,不能打开该文件!

!

\n");

return;

}

printf("所有信息如下:

\n");

for(i=0;i

{fscanf(fp,"%s%s%s%d",&xsh[i].num,xsh[i].name,xsh[i].date,&xsh[i].money);/*把文件信息读到结构体变量中去*/

printf("\n%s%s%s%d\n",xsh[i].num,xsh[i].name,xsh[i].date,xsh[i].money);/*输出结构体

变量中信息*/

}

fclose(fp);

}

voidxmtjyue()/*统计某销售员7月销售总额函数*/

{structxiaoshouxsh[N],temp;

intsum=0;

FILE*fp;

inti,j;

j=0;

if((fp=fopen("E:

\\file28.txt","r+"))==NULL)/*打开文件*/

{printf("读取错误,不能打开该文件!

!

\n");

return;

}

else

for(i=0;i

fscanf(fp,"%s%s%s%d",&xsh[i].num,&xsh[i].name,&xsh[i].date,&xsh[i].money);/*把文件信息读到结构体变量中去*/

printf("请输入你要查询的销售员的姓名:

\n");/*输入要查询的销售员姓名*/

scanf("%s",temp.name);

for(i=0;i

if(strcmp(temp.name,xsh[i].name)==0)

{sum=sum+xsh[i].money;/*对符合要求的进行加*/

j=1;}

if(j==0)

printf("无此销售员信息,请重新输入");

else

printf("该销售员在本月的销售额为:

%d\n",sum);

fclose(fp);

}

voidbhtjyue()/*统计某销售员7月销售总额函数*/

{structxiaoshouxsh[N],temp;

intsum=0;

FILE*fp;

inti,j;

i=0;j=0;

if((fp=fopen("E:

\\file28.txt","r+"))==NULL)/*打开文件*/

{printf("读取错误,不能打开该文件!

\n");

return;

}

else

for(i=0;i

fscanf(fp,"%s%s%s%d",&xsh[i].num,&xsh[i].name,&xsh[i].date,&xsh[i].money);/*把文件信息读到结构体变量中去*/

printf("请输入你要查询的销售员的编号:

\n");/*输入要查询的销售员编号*/

scanf("%s",temp.num);

for(i=0;i

if(strcmp(temp.num,xsh[i].num)==0)

{sum=sum+xsh[i].money;/*对符合要求的进行加*/

j=1;}

if(j==0)

printf("无此销售员信息,请重新输入");

else

printf("该销售员在本月的销售额为:

%d\n",sum);

fclose(fp);

}

voidtjtian()/*统计某一天的销售总额函数*/

{

structxiaoshouxsh[N],temp;

intsum=0;

FILE*fp;

inti,j;

j=0;

if((fp=fopen("E:

\\file28.txt","r"))==NULL)/*打开文件*/

{printf("读取错误,不能打开该文件!

!

\n");

return;

}

else

for(i=0;i

fscanf(fp,"%d%s%s%d",&xsh[i].num,xsh[i].name,&xsh[i].date,&xsh[i].money);/*把文件信息读到结构体变量中去*/

printf("请输入你要查询的日期:

\n");/*输入要查询的日期*/

scanf("%s",temp.date);

for(i=0;i

if(strcmp(temp.date,xsh[i].date)==0)

{sum=sum+xsh[i].money;/*对符合要求的进行加*/

j=1;}

if(j==0)

printf("无此日期销售信息,请重新输入");

else

printf("今天的总销售额为:

%d\n",sum);

fclose(fp);

}

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2