#include<iostream> using namespace std; #include"Employee.h" #include"print.h" #include"rank.h" const int plen = 6; Employee person[plen] = { {1,"jone",339.0}, {2,"david",449.0}, {3,"marit",311.0}, {4,"jasen",623.0}, {5,"peter",400.0}, {6,"yoke",511.0}, }; void main() { rank(person,plen); for (int k = 0; k < plen; k++) { printEmployee( person[k]); } }
时间: 2023-07-19 16:27:18 浏览: 51
这段代码是一个简单的员工排名程序。首先定义了一个常量 plen,表示员工数量。然后定义了一个 Employee 类型的数组 person,存放员工的信息,包括编号、姓名和薪水。接着调用了一个名为 rank 的函数,对员工按照薪水从高到低进行排序。最后使用 for 循环遍历整个数组,调用 printEmployee 函数输出每个员工的信息。该程序需要引用 Employee 类、print 函数和 rank 函数的头文件。需要注意的是,该程序的 main 函数返回类型应该是 int,而不是 void。
相关问题
#include<iostream> using namespace std; #include"Employee.h" #include"print.h" #include"rank.h" const int plen = 6; Employee person[plen] = { {1,"jone",339.0}, {2,"david",449.0}, {3,"marit",311.0}, {4,"jasen",623.0}, {5,"peter",400.0}, {6,"yoke",511.0}, }; void main() { rank(person,plen); for (int k = 0; k < plen; k++) { printEmployee( person[k]); } }#pragma once #include<iostream> using namespace std; #include"Employee.h" #include"print.h" void rank(Employee person[]);rank函数不正确
根据你提供的代码,rank函数的定义确实是不正确的,代码中没有给出rank函数的完整定义,只有函数声明,无法确定rank函数的具体实现。正确的rank函数应该是一个void类型的函数,接受一个Employee类型的数组和数组长度作为参数,实现对员工信息按照工资从高到低排序。以下是一个可能的rank函数的实现:
```c++
void rank(Employee person[], int plen) {
for (int i = 0; i < plen - 1; i++) {
for (int j = 0; j < plen - 1 - i; j++) {
if (person[j].salary < person[j+1].salary) {
Employee temp = person[j];
person[j] = person[j+1];
person[j+1] = temp;
}
}
}
}
```
这个rank函数采用冒泡排序的方法,对员工信息按照工资从高到低进行排序。
阅读全文