有份C语言的题目谁能帮忙下

统计工资1设计题目本课程设计要求设计一个公司职员的数据结构,并使用结构指针数组存储职员信息,统计公司员工工资总额和平均工资。2设计要求设计要求实现如下功能:(1)使用结构... 统计工资
1 设计题目
本课程设计要求设计一个公司职员的数据结构,并使用结构指针数组存储职员信息,统计公司员工工资总额和平均工资。
2 设计要求
设计要求实现如下功能:
(1)使用结构指针数组设计一个公司职员的数据结构,使用下述的结构定义:
typedef struct employee{
int age;
char *name;
double salary;
}*PEMP;
(2)在主函数里构造一个指针数组company,用来存放职工信息。
(3)设计一个update函数,用来给company赋值。
函数update(company, id, age, name, salary)的四个参数为:
company: 结构指针数组
id: company的下标
age: 年龄,整数类型
salary: 薪水,实数
(4)设计一个readin函数,直接采用调用update函数的方式进行赋值。例如:update(company, 2, 30, “LI MING”, 3000.0);
(5)编写total函数对工资求和。
这个函数应该能对全体职工和某一年龄段的职工的工资求和。
(6)编写mean函数求平均工资。
这个函数应该能对全体职工和大于某一年龄段的职工的工资求和并计算相应的平均值。

3 算法分析
为了简单起见,假设在主函数main中定义结构数组指针如下:
PEMP company[num];
下面说明几个函数的设计问题:
(1)readin函数
数组company属于main函数,它是不可见的,所以必须作为readin函数的参数。因为参数传递是传地址的方式,所以不需要返回值。以数据为例,这个函数的定义和使用方法如下:
void reading(company)
PEMP company[];
{
update(company, 2, 23, “张文”,3000.0);
update(company, 1, 33, “王微”,2400.0);
update(company, 2, 23, “李小”,3055.0);
}
(2)total函数
它也必须以数组company作为参数,而且要返回工资总额。可将它的原型设计为:
double total (PEMP *);
total函数应该允许输入年龄范围,如果年龄不合理,应该允许重新输入。对输入数据进行判别,确保无误再进行计算。
for( ; ; )
{
printf(“输入年龄范围”);
scanf(“%d%d”,&age1, &age2)
if(age1>age2)
{
i=age1;
age1=age2;
age2=i;
}
if((age1>=0)&&(age2<=100)&&(age2>=0)&&(age2<=100)&&(age2>age1))
break;
}
(3)mean函数
mean函数也必须以数组company作为参数,而且要返回平均工资。将它的函数原型设计为:
double mean (PEMP *);
mean函数应该允许输入年龄范围。对输入字符进行判别,确保无误再进行计算,注意允许大小写。
printf(“求某一年龄段以上的职工的平均工资\n”);
printf(“默认是全体职工的平均工资,要改变计算方式请输入Y/y\n”);
getchar();
ch=getchar();
if(ch==’Y’||ch=’y’)
{
printf(“age:”);
scanf(“%d”,&age);
}
(4)申请内存
在update函数中,需要申请内存空间。
PEMP emp
If((emp=(PEMP) malloc (sizeof(struct employee)))==NULL)return;
注意emp是指针,所以要使用sizeof(struct employee)。

课程设计报告:

1. 课程设计目的和要求

2. 设计内容及设计思路

3. 源文件及主要注释

4. 程序运行结果

5. 课程设计主要收获和体会
展开
 我来答
zkwlixue
2009-04-21 · TA获得超过1026个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:576万
展开全部
工资的题:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct manlib
{ char name[12];
int many;
};
main()
{ void list(struct manlib stuman);
struct manlib stuman[3];
int i;
char temp[15];
for(i=0;i<3;i++)
{ printf("请输入员工的数据:名字 工资\n");
gets(stuman[i].name);
gets(temp);
stuman[i].many=atoi(temp);
}
printf("----------------------\n");
printf("名字 工资\n");
for(i=0;i<3;i++)
list(stuman[i]);
printf("----------------------\n");
printf("公司员工收入总额 员工平均收入\n");
printf(" %d %15d\n",stuman[0].many+stuman[1].many+stuman[2].many,(stuman[0].many+stuman[1].many+stuman[2].many)/3);
}
void list(struct manlib stuman)
{
printf("%-12s %5d\n",stuman.name,stuman.many);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式