C语言课程设计及解决方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言

课程设计

及解决方案

程序编写:贾朋远

学院:地学院

班级序号: 01105408

一题目要求

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:

1)销售员的代号

2)产品的代号

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

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。

1)计算上个月每个人每种产品的销售额。

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

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

4)输出统计报表

二需求分析

可以采用结构体数组和文件系统实现。结构体成员包括销售员代号,产品代号,销售额。排序算法可以采用冒泡法或选择排序法。输出报表可在屏幕相应位置输出即可。

三总体设计

销售管理系统

1输入销售员代号,产品代号,各产品销售额

2计算相应各产品销售之和,及销售总和

3排序

4输出报表报表形式如下:

销售统计报表

产品代号销售之和

销售员代号 1 2 3 4 5

1

2

3

4

每种产品之和总和

四详细设计

1 主函数

#include

#include

#define max 620

int n;/*全局变量*/

main()

{

int input(), output1(),output2(),output3(),output4();

int arg(),mulu();

int save();

printf(" \n\n\n \t\t\t *******THE PROJECT********\n\n\n");

printf("Please input the informations :(over to 0)\n\n p_num(1~4) g_num(1~5) g_mon\n");

printf("------------------------------------------------------------------\n");

for(n=0;n

{scanf("%d",&s[n].p_num);

if(s[n].p_num==(0))break;

else

scanf("%d%d",&s[n].g_num,&s[n].num);

printf("------------------------------------------------------------------\n");

}

mulu();

}

2 结构体设计

struct goods

{int p_num;

int num;

int g_num;

} s[max];

struct persons

{int num[7];

}p[6],work;

3 被调用函数的设计

/*目录*/

int mulu()

{int choice;

arg();

do

{

printf(" \n\n \t\t\t *******THE PROJECT********\n\n");

printf(" 1.count the g_mon of each goods every people products last month\n");

printf(" 2.put the people in order by g_mon and output the result by p_num \n");

printf(" 3.count the total g_mon,output the result in order from high to low\n");

printf(" 4.output the report form of goods \n\n");

printf(" 0.exit \n\n");

printf(" Please Choose (0-4):");

scanf("%d",&choice);

switch(choice)

{

case 1: output1();break;

case 2: output2();break;

case 3: output3();break;

case 4: output4();break;

case 0: exit(0);

}

}while(choice!=0);

}

int arg()

{

int k,a,j;

for(k=1;k<=5;k++)

{p[0].num[k]=k;

for(a=1;a<=6;a++)

p[k].num[a]=0;

}

for(k=1;k<=4;k++)

p[k].num[0]=k;

for(k=1;k<=4;k++)

for(a=1;a<=5;a++)

for(j=0;j

if(s[j].p_num==k && s[j].g_num==a)

p[k].num[a]=p[k].num[a]+s[j].num;

/*每种产品的销售额*/

for(a=1;a<=5;a++)

for(k=1;k<=4;k++)

p[5].num[a]=p[5].num[a]+p[k].num[a];

/* 每个人的销售额*/

for(k=1;k<=5;k++)

for(a=1;a<=5;a++)

p[k].num[6]=p[k].num[6]+p[k].num[a];

}

int output1()

{ int i,k;

printf("**************The condition of everyone's g_mon last month:**********\n\n"); printf(" g_num \np_num\t");

for(k=1;k<=5;k++)

相关文档
最新文档