C++ C语言 编写程序

编写程序,从键盘输入职工人数及每位职工的的信息,包括;职工号、姓名和工资,输出所有职工的平均工资低于20000的职工信息

typedef struct _person
{
    int nid;
    char name[20];
    float sal;
}person;

void main()
{
    person p[100];
    int i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d %s %f",&p[i].nid,p[i].name,&p[i].sal);
   
    }
    for(i=0;i<n;i++)
    {
        if(p[i].sal < 20000)
            printf("%d %s %f\n",p[i].nid,p[i].name,p[i].sal);      
    }
}

定义一个职工数据结构,遍历输入,遍历计算工资

C语言的有了,给你写一个C++的吧!

思路:

定义结构体用于存储员工信息

然后死循环输入员工信息

最后输出工资小于20000的员工信息

注意:代码中使用到了vector容器,也就是动态数组。

代码中也有计算平均工资的代码,放开注释,根据自己的需求改一下就好!

#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>

using namespace std;

// 定义员工信息结构体
typedef struct Message {
	int id;			// 工号
	string name;	// 姓名
	int salary;		// 工资
};

int main(void) {
	vector<struct Message> message;	// 定义员工信息动态数组
	int index = 0;
	int flag = 0;
	double average = 0;

	while (true) {
		struct Message mes;
		cout << "请输入员工的工号:";
		cin >> mes.id;
		if (cin.fail()) {
			cout << "输入数据有误!程序结束!" << endl;
			return -1;
		}

		cout << "请输入员工的姓名:";
		cin >> mes.name;
		if (cin.fail()) {
			cout << "输入数据有误!程序结束!" << endl;
			return -1;
		}

		cout << "请输入员工的工资:";
		cin >> mes.salary;
		if (cin.fail()) {
			cout << "输入数据有误!程序结束!" << endl;
			return -1;
		}

		// 将输入的数据存储到动态数组中
		message.push_back(mes);
		
		cout << "是否还要继续输入?(0 | 1)";
		cin >> flag;
		if (flag == 0) {
			break;
		}
		cout << endl;	// 换行
	}

	//for (int i = 0; i < message.size(); i++) {
	//	average += message.at(i).salary;	// 统计全部薪水
	//}

	//// 计算平均值
	//average = average / message.size();


	// 输出所有职工的平均工资低于20000的职工信息
	cout << endl << endl << "职工的平均工资低于20000的职工信息有:" << endl;
	for (int i = 0; i < message.size(); i++) {
		if (message.at(i).salary < 20000) {
			cout << "工号:" << message.at(i).id << "   姓名:" << message.at(i).name << "   工资:" << message.at(i).salary << endl;
		}
	}
	

	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632