标题:c语言设计销售管理系统,哪位大神帮忙修改一下啊,使它实现录入功能
取消只看楼主
网123
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-12
结帖率:0
已结贴  问题点数:20 回复次数:0 
c语言设计销售管理系统,哪位大神帮忙修改一下啊,使它实现录入功能
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。

试设计一个便条管理系统,使之能提供以下功能:

1. 便条信息录入功能(便条信息用文件保存)。对当前便条进行输入并存储,在程序的运行过程中,数据的存储采用结构体数组,但是最终便条信息用文件保存。

2. 统计当前月的销售情况,以天为单位,统计每人每天的便条信息。

3. 计算当前月份的每个人每种产品的销售额。

4. 按当前月的销售额对销售员进行排序,输出排序结果。



代码是
#include<stdio.h>
 #include<conio.h>
 #include<stdlib.h>
 #include<string.h>
 #define M 155
 void detail();
 void foreach();
 void menu();
 void readdata();
 void seller();
 void total();
 void choice();
 struct ss
 {
 int sid;
 int pid;
 int sn;
 }ss[M];
 int n;
 int s[4][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};
 void main()
 {
 readdata();
 foreach();
 menu();
 }
void readdata()
{
FILE *fp;
if((fp=fopen("list","r"))==NULL)
{
printf("Can't open the file!\n");
exit(0);
}
else
for(n=0;!feof(fp);n++)
{
fscanf(fp,"%d%d%d\n",&ss[n].sid,&ss[n].pid,&ss[n].sn);
}
fclose(fp);
}
void foreach()
{
int i;
for(i=0;i<n;i++)
{                                                                  
switch(ss[i].pid)
{
case 1:
switch(ss[i].sid)
{
case 1:s[0][0]+=ss[i].sn;break;
case 2:s[1][0]+=ss[i].sn;break;
case 3:s[2][0]+=ss[i].sn;break;
case 4:s[3][0]+=ss[i].sn;break;
}
break;
case 2:
switch(ss[i].sid)
{
            case 1:s[0][1]+=ss[i].sn;break;
            case 2:s[1][1]+=ss[i].sn;break;
case 3:s[2][1]+=ss[i].sn;break;
case 4:s[3][1]+=ss[i].sn;break;
}
break;
case 3:
switch(ss[i].sid)
{
            case 1:s[0][2]+=ss[i].sn;break;
            case 2:s[1][2]+=ss[i].sn;break;
case 3:s[2][2]+=ss[i].sn;break;
case 4:s[3][2]+=ss[i].sn;break;
}
break;
     case 4:
switch(ss[i].sid)
{
            case 1:s[0][3]+=ss[i].sn;break;
            case 2:s[1][3]+=ss[i].sn;break;
case 3:s[2][3]+=ss[i].sn;break;
case 4:s[3][3]+=ss[i].sn;break;
}
break;
case 5:
switch(ss[i].sid)
{
            case 1:s[0][4]+=ss[i].sn;break;
            case 2:s[1][4]+=ss[i].sn;break;
case 3:s[2][4]+=ss[i].sn;break;
case 4:s[3][4]+=ss[i].sn;break;
};
break;
}
}
}
void menu()
{
int w,c;
do{
puts("\t\t********************菜单*********************\n\n");
        puts("\t\t 1.查看每人每种产品的销售额\n");
puts("\t\t 2.按销售额对销售员排序(销售员代号)\n");
        puts("\t\t 3.输出统计报表\n");
        puts("\t\t 4.退出\n");
        puts("\n\n\t\t*********************************************\n");
    printf("请选择(1-4):");
scanf("%d",&c);
    if(c<1||c>4)
{
w=1;
getchar();
}
else w=0;
}while(w==1);
switch (c)
{
case 1:
        detail();break;
    case 2:
    seller();break;
case 3:
total();break;
case 4:
exit(0);
}
}
void detail()
{
int i,j;
for(i=0;i<4;i++)
{
printf("\n\t\t%d号销售员销售情况\n",i+1);
for(j=0;j<5;j++);
printf("\n\t\t%d号产品销售数量:%d\n",j+1,s[i][j]);
}
choice();
}
void seller()
{
int i,j,k;
int sp[4]={0,0,0,0};
for(i=0;i<4;i++)
     for(j=0;j<5;j++)
           sp[i]+=s[i][j];
     for(i=0;i<4;i++)
 {k=0;
 for(j=0;j<4;j++)
 if(sp[k]<sp[j])k=j;
 printf("\t\t第%d名是%d号销售员\n",i+1,k+1);sp[k]=-1;
 }
 choice();
}
void total()
{   int i,j;
    printf("\n\t销售员\t产品\t销量\n");
    for(i=0;i<4;i++)
for(j=0;j<5;j++)
printf("\t %d\t %d\t %d\n",i+1,j+1,s[i][j]);
    choice();
}
void choice()
{
int c;
printf("请选择接下来想做什么\t1>返回菜单\t2>退出系统  []\b\b");
    scanf("%d",&c);
if(c==1)
menu();
else
exit(0);
}




 





         


搜索更多相关主题的帖子: 销售员 销售额 结构体 信息 
2012-09-12 13:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381240-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.476112 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved