销售信息统计.docx
《销售信息统计.docx》由会员分享,可在线阅读,更多相关《销售信息统计.docx(14页珍藏版)》请在冰豆网上搜索。
![销售信息统计.docx](https://file1.bdocx.com/fileroot1/2023-1/6/422c6a95-be56-4960-a509-85b79a8bbdf4/422c6a95-be56-4960-a509-85b79a8bbdf41.gif)
销售信息统计
沈阳航空工业学院
课程设计
学号200604021023
班级6402101
姓名曲博
指导教师王晓岩
2007年9月14日
沈阳航空工业学院
课程设计任务书
院系:
电子专业:
电子信息工程班级:
6402101
学号:
200604021023题目:
销售信息统计
1、课程设计时间
2007年9月10日至2007年9月14日,共计1周,20学时
2、课程设计内容
用c语言编写软件完成以下内容:
沈阳的某家建材商店去年7月的销售业绩清单存储在文件file28,txt中,格式为:
售货员编号,售货员姓名,销售日期,销售额。
写程序,对文件中的数据具有如下的统计分析功能:
①能够按照所制定的售货员的编号,或者姓名,统计出他在7月的销售总额。
②能够按照所制定的日期,统计出当日的销售总额。
3、课程设计要求
1.程序质量:
◇观测结构化的程序设计思想。
◇用户界面友好,功能明确,操作方面。
◇用户界面中的菜单至少应该包括“读取数据”、“统计某售货员的小后总额”、“统计某天的销售总额”、“退出”4选项。
◇代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2课程设计说明书:
课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的摸板。
指导教师:
学生签名:
目录
一、需求分析1
总体设计1
模块设计1
关键技术分析4
总结:
9
一、需求分析
(1).贯彻模块化的程序设计思想,以主函数调用各个功能模块。
(2)。
用户界面友好,功能明确,操作方便。
(3)。
用户界面中的菜单至少应包括“读取数据”、“统计某售货员的销售总额”、“统计某天的销售总额”、“退出”4项。
(4)。
在代码中给出必要的注释,以增强程序的可读性。
总体设计
模块设计
关键技术分析
(1)显示主函数及日录。
定义一个数字变量“I”,数字变量对应的是下面的switch函数。
对应的“I”。
会执会相应的子函数
#include
*****************************************************************
#include
#defineN20
#include
#include
structxiaoshou/*定义结构体变量*/
{
charnum[5];
charname[16];
chardate[16];
intmoney;
}xsh[N];
voidxmtjyue();
voidbhtjyue();
voidtjtian();
voidshow();
voidmain()
{intn;
printf("*************************某建材厂七月销售信息统计系统*************************\n");/*用户界面*/
printf("**********************************1.退出************************************\n");
printf("*****************************2.七月销售情况列表*******************************\n");
printf("*************************3.按销售员姓名统计销售信息***************************\n");
printf("*************************4.按销售员编号统计销售信息***************************\n");
printf("****************************5.按日期统计销售信息******************************\n");
while
(1)
{
voidmenu();
printf("\n请输入目录中的数据:
");
scanf("%d",&n);
switch(n)
{case1:
exit(0);break;
case2:
show();break;
case3:
xmtjyue();break;
case4:
bhtjyue();break;
case5:
tjtian();break;
default:
printf("数据错误,请重新输入\n");
}
}
(2)根售货员的姓名查询该人员在该月的销售总额,若输入的编号不在数据库中则显示"无此售货员编号!
"
voidxmtjyue()/*统计某销售员7月销售总额函数*/
{structxiaoshouxsh[N],temp;
intsum=0;
FILE*fp;
inti,j;
j=0;
if((fp=fopen("file28.txt","r+"))==NULL)/*打开文件*/
{printf("读取错误,不能打开该文件!
!
\n");
return;
}
else
for(i=0;ifscanf(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;iif(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()/*统计某销售员7月销售总额函数*/
{structxiaoshouxsh[N],temp;
intsum=0;
FILE*fp;
inti,j;
i=0;j=0;
if((fp=fopen("file28.txt","r+"))==NULL)/*打开文件*/
{printf("读取错误,不能打开该文件!
\n");
return;
}
else
for(i=0;ifscanf(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;iif(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("file28.txt","r"))==NULL)/*打开文件*/
{printf("读取错误,不能打开该文件!
!
\n");
return;
}
else
for(i=0;ifscanf(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;iif(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);
(5)这种是一个菜单,这是关于销售员的信息的一个菜单。
voidseller(){
inti;
for(i=0;i<100;i++){
if(SELL[i].money!
=0)
printf("\n编号:
%s姓名:
%s销售日期:
%s销售金额:
%d",SELL[i].number,SELL[i].name,SELL[i].time,SELL[i].money);
}
总结:
通过这次课设让我对计算机有了更深及更多的了解,一丝不苟的学习习惯是做好一件事的关键所在。
这次课设中我有许多东西不懂,在我不知道所措的时候我更多的选择的不是自己去想,而是去问同学,这样不但使他们让我明白了,我所不懂的,而且也让我了解了,同学之间的合作是多么重要,俗话说,三个臭皮匠赶上一个诸葛亮,这次我真的明白了。
也许以后的工作中真少不了同事与朋友之间的合作吧,这次课设也许就是一个开始吧。
}
五、源程序
#include
#defineN20
#include
#include
structxiaoshou/*定义结构体变量*/
{
charnum[5];
charname[16];
chardate[16];
intmoney;
}xsh[N];
voidxmtjyue();
voidbhtjyue();
voidtjtian();
voidshow();
voidmain()
{intn;
printf("*************************某建材厂七月销售信息统计系统*************************\n");/*用户界面*/
printf("**********************************1.退出************************************\n");
printf("*****************************2.七月销售情况列表*******************************\n");
printf("*************************3.按销售员姓名统计销售信息***************************\n");
printf("*************************4.按销售员编号统计销售信息***************************\n");
printf("****************************5.按日期统计销售信息******************************\n");
while
(1)
{
voidmenu();
printf("\n请输入目录中的数据:
");
scanf("%d",&n);
switch(n)
{case1:
exit(0);break;
case2:
show();break;
case3:
xmtjyue();break;
case4:
bhtjyue();break;
case5:
tjtian();break;
default:
printf("数据错误,请重新输入\n");
}
}
}
voidshow()/*展示销售信息函数*/
{structxiaoshouxsh[N];
FILE*fp;
inti=0;
if((fp=fopen("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("file28.txt","r+"))==NULL)/*打开文件*/
{printf("读取错误,不能打开该文件!
!
\n");
return;
}
else
for(i=0;ifscanf(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;iif(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("file28.txt","r+"))==NULL)/*打开文件*/
{printf("读取错误,不能打开该文件!
\n");
return;
}
else
for(i=0;ifscanf(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;iif(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("file28.txt","r"))==NULL)/*打开文件*/
{printf("读取错误,不能打开该文件!
!
\n");
return;
}
else
for(i=0;ifscanf(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;iif(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);
}