问题描述
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额。
主要功能
每位销售员每天上缴1张便条。试设计一个便条管理系统,使之能提供以下功能:
1、便条信息录入功能(便条信息用文件保存)--输入
2、收集到了上个月的所有便条后,读取销售情况
1)计算每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
题目分析:
考虑到便条有三个数据,我们可以用结构体来保存,又考虑到是收集上个月的数据,必须还得有天数,于是创建一个二维数组data[i][j](i为天数)。
当要计算每个人每种产品的销售额时,我先定义了一个二维数sum[M][5]={0}来存储销售额并进行初始化为0,(0-0表示编号为1的销售员销售编号为1的产品的数量)以此类推然后从SLMG.dat文件里读取信息并进行处理,将结果保存进sum数组里,然后再用二重for循环进行输出。
当按销售额对销售员进行排序,输出排序结果(销售员代号)时,先定义一个一维数组num[M],并初始化为0,把每个销售员的销售额保存在num数组中,在排序之前,把num数组里面的数据保存在Num数组里面,然后在排序后,把Num数组里面和num数组里面值相等的Num数组的下标加一输出,即是排序结果(销售员代号)。
下一个要求类似就不多写了。
源码:
note.h
#include<stdio.h>
#include<stdlib.h>
#define N 4 //天数
#define M 4 //