销售信息统计.docx
- 文档编号:3837755
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:13
- 大小:87.73KB
销售信息统计.docx
《销售信息统计.docx》由会员分享,可在线阅读,更多相关《销售信息统计.docx(13页珍藏版)》请在冰点文库上搜索。
销售信息统计
沈阳航空工业学院
课程设计
学号200604061098
班级6406103
姓名滕飞
指导教师王晓岩
2008年3月19日
沈阳航空工业学院
课程设计任务书
机械与汽车学院机械设计制造专业6406103班学号200604061098
一、课程设计题目:
销售信息统计
二、课程设计工作自2008年3月9日起至2008年3月16日止
三、课程设计内容:
用C语言编写软件完成以下任务:
沈阳的某家建材商店去年7月的销售业绩清单存储在文件file28.txt,格式为:
售贷员编号,售贷销售信息统计,具体要求如下:
写程序,对文件的数据具有如下的统计分析功能:
(1)能够按照所指定的售货员的编号,或者姓名,统计出他在7月的销售总额。
(2)能够按照所指定的日期,统计出当日的销售总额。
四、课程设计要求:
1).贯彻模块化的程序设计思想,以主函数调用各个功能模块。
(2)。
用户界面友好,功能明确,操作方便。
(3)。
用户界面中的菜单至少应包括“读取数据”、“统计某售货员的销售总额”、“统计某天的销售总额”、“退出”4项。
(4)。
在代码中给出必要的注释,以增强程序的可读性。
课程设计说明书:
课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:
●封面
●课程设计任务书
●目录
●需求分析(分析题目的要求)
●程序流程图(总体流程图和主要功能模块流程图)
●核心技术的实现说明及相应程序段
●个人总结
●参考资料
●源程序及适当的注释
指导教师:
____________________
学生签名:
____________________
目录
一、需求分析1
二、程序流程图...............................2
三、核心技术的实现说明及相应程序段...........4
四、个人总结.7
五、参考文献..................................8
六、源程序.8
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:
引用库函数(文件,记事本形式)读取数据(file),按照所指定的售货员的编号统计(number),按姓名统计(name),按日期统计(date),显示所有信息(seller)及退出函数。
1读取数据函数。
应用文件的打开,应用,读取,关闭等及指针。
2查询函数,即根据销售员编号,姓名,销售日期查询所对应的营业额。
3、显示函数实现的是显示目前所有的有效销售记录信息。
4.退出函数
二、程序流程图
1、程序总体结构图
2、具体功能框图
三、核心技术的实现说明及相应程序段
(1)显示主函数及日录。
定义一个数字变量“I”,数字变量对应的是下面的switch函数。
对应的“I”。
会执会相应的子函数。
main(){
inti;
for(;;){printf("\n**********某建材厂七月销售业绩**********");
printf("\n********************销售管理系统********************\n");
printf("\n*想从文件中读取数据,请选择1*");
printf("\n*想按销售员编号统计,请选择2*");
printf("\n*想按销售员姓名统计,请选择3*");
printf("\n*想按日期统计,请选择4*");
printf("\n*想显示所有信息,请选择5*");
printf("\n*想退出,请选择0*");
printf("\n*****************************************************************");
printf("\n请输入你的选择:
");
scanf("%d",&i);
switch(i)
{
case1:
file();break;
case2:
num();break;
case3:
name();break;
case4:
date();break;
case5:
seller();break;
case0:
exit(0);break;
}
(2)根售货员的编号查询该人员在该月的销售总额,若输入的编号不在数据库中则显示"无此售货员编号!
"
voidnum(){
charnnum[5];
inti,j=0,zj=0;
printf("请输入要查询的售货员编号:
");
scanf("%s",nnum);
for(i=0;i<100;i++)
if(strcmp(nnum,SELL[i].number)==0){
zj=zj+SELL[i].money;
j=1;
}
if(j==0)
printf("无此售货员编号!
");
else
printf("该售货员在该月的销售总额:
%d",zj);
(3)根售货员的姓名查询该人员在该月的销售总额,若输入的编号不在数据库中则显示“无此售货员姓名!
"
voidname(){
charname[10];
inti,j,zj=0;
printf("请输入要查询的售货员姓名:
");
scanf("%s",name);
for(i=0;i<100;i++)
if(strcmp(name,SELL[i].name)==0){
zj=zj+SELL[i].money;
j=1;
}
if(j==0)
printf("无此售货员姓名!
");
else
printf("该售货员在该月的销售额:
%d",zj);
}
(4)根日期查询该人员在该月的销售总额,若输入的日期不在数据库中则显示“无此日期记录"。
voiddate(){
charrtime[10];
inti,j=0,zj=0;
printf("请输入要查询的日期:
");
scanf("%s",rtime);
for(i=0;i<100;i++)
if(strcmp(rtime,SELL[i].time)==0){
zj=zj+SELL[i].money;
j=1;
}
if(j==0)
printf("无此日期的记录!
");
else
printf("该日期的销售总额:
%d",zj);
}
四、个人总结
把以通过这次的c语言设计,我了解到了c语言的内涵,前学到的零散的函数通过有机的组合实现了对程序目标的实现。
在编写程序中会遇到各种问题在查询资料和编写的时候对知识有更深刻的理解,尤其在程序编写完成之后的运行改错中很能体会到那种找到错误成功改正之后的成就感和喜悦感,使我对c语言的理解和兴趣得到了很大的提升。
通过实习更好的了解c语言程序的运行和书写过程并且对程序的改正也有了一个方向能够通过错误反映出问题,并加以改正,并且让我认识到,在学习上要严谨,一个小小的失误会到导致整体的错乱,所以要有扎实的基本的功夫和较强的查错能力,这也激励着我在以后的的学习中更加努力扎实的走好每一步.
五、参考文献
1谭浩强.C程序设计.北京:
清华大学出版社,2005
2刘成等.C语言程序设计实验指导与习题集.北京:
中国铁道出版社,2006
六、源程序
#include
#include
#include
#include
structSELL_type/*定义结构体数组*/
{charnumber[10];/*编号*/
charname[10];/*姓名*/
chartime[10];/*日期*/
intmoney;/*销售额*/
}SELL[100];/*结构体数组变量*/
main()/*主函数*/
{voidfile();
voidnum();
voidname();/*函数声明部分*/
voiddate();
inti;
for(;;)
{printf("\n*********************SaleInformationManagementSystem*******************\n");/*菜单选择*/
printf("\n*1.ReadInformationfromtheFile*");
printf("\n*2.Statthemoneysaledbynumber*");
printf("\n*3.Statthemoneysaledbyname*");
printf("\n*4.Statthemoneysaledbydate*");
printf("\n*0.Exit*");
printf("\n**************************************************************************");
printf("\nPleaseinputyourchoice(0-4):
");
scanf("%d",&i);
switch(i)/*选择判断*/
{
case1:
file();break;/*文件读取*/
case2:
num();break;/*按销售员编号统计*/
case3:
name();break;/*按销售员姓名统计*/
case4:
date();break;/*按日期统计*/
case0:
printf("\t\t\tThanksForUsing,Bye-bye!
\n");/*结束程序*/
printf("\t\t\t");
system("pause");
exit(0);
}
}
}
voidfile()
{
FILE*fp;/*定义文件指针*/
inti,j=0;/*j为控制变量*/
fp=fopen("d:
\\filesuijin.txt","r");/*打开文件*/
for(i=0;i<100;i++)
{
fscanf(fp,"%s%s%s%d",SELL[i].number,SELL[i].name,SELL[i].time,&SELL[i].money);/*格式化读入*/
j=1;
}
fclose(fp);/*关闭文件*/
if(j==1)
printf("\n\nReadSucceed!
\n");/*选择判断读入是否成功*/
else
printf("\n\nReadFailed!
\n");
}
voidnum()/*按销售员编号统计*/
{
charnnum[5];
inti,j=0,sum=0;/*初始化这时的销售总额sum为0*/
printf("Pleaseinputthesalesman'snumber:
\n");
scanf("%s",nnum);/*输入销售员的编号*/
for(i=0;i<100;i++)
if(strcmp(nnum,SELL[i].number)==0)/*判断文件中是否有此编号*/
{
sum=sum+SELL[i].money;/*sum累加*/
j=1;
}
if(j==0)
printf("Thereisnosalesman!
\n");
else
printf("thetotalmoneythismansaleis:
%d\n",sum);/*输出结果*/
}
voidname()/*按销售员姓名统计*/
{
charname[10];
inti,j,sum=0;
printf("Pleaseinputthesalesman'sname:
\n");
scanf("%s",name);/*输入销售员姓名*/
for(i=0;i<100;i++)
if(strcmp(name,SELL[i].name)==0)/*判断文件中是否有此姓名*/
{
sum=sum+SELL[i].money;
j=1;
}
if(j==0)
printf("thereisnothissalesman!
\n");
else
printf("thetotalmoneythismansaleis:
%d",sum);/*输出信息*/
}
voiddate()/*按日期统计*/
{
chardate[10];
inti,j=0,sum=0;
printf("Pleaseinputthedateyouwant:
\n");
scanf("%s",date);/*输入日期*/
for(i=0;i<100;i++)
if(strcmp(date,SELL[i].time)==0)/*寻找相等的日期*/
{
sum=sum+SELL[i].money;/*循环累加*/
j=1;
}
if(j==0)
printf("NOInformation!
\n");
else
printf("Thetotalmoneybeforethedateis:
%d\n",sum);/*输出信息*/
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 销售 信息 统计
![提示](https://static.bingdoc.com/images/bang_tan.gif)