实验题 用类建立职工工资管理数据库,计算总工资并排序输出 统计并输出总工资最高的职工姓名和工资
2017-12-24 23:32
309 查看
#include<iostream>
#include<iomanip>
using namespace std;
const int N = 5;
class t
{
public:
void input(class t *p, int n);
void average(class t stu[], int n);
void order(class t stu[], int n);
void output(class t stu[], int n);
void pow(class t stu[], int n);
private:
char name[10];
float money[4];
};
void t::input(class t *p, int n)
{
int i, j;
for (i = 0; i < n; p++, i++)
{
cout << "请输入姓名,基本工资,浮动工资,奖金" << endl;
cin >> p->name;
for (j = 0; j < 3; j++)
cin >> p->money[j];
}
}
void t::average(class t stu[], int n)
{
int i, j;
for (i = 0; i < 5; i++)
{
stu[i].money[3] = 0;
for (j = 0; j < 3; j++)
{
stu[i].money[3] += stu[i].money[j];
}
}
}
void t::order(class t stu[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)
for (j = 0; j < n - 1 - i; j++)
{
if (stu[j].money[3] > stu[j + 1].money[3])
{
t tem;
tem = stu[j + 1];
stu[j + 1] = stu[j];
stu[j]= tem;
}
}
}
void t::output(class t stu[], int n)
{
int i, j;
cout << "-------------------------------------------------------------" << endl;
cout << setw(10) << "姓名" << setw(10) << "基本工资" << setw(10) << "浮动工资" << setw(10) << "奖金" << setw(10) << "总工资" << endl;
for (i = 0; i < n; i++)
{
cout << setw(10) << stu[i].name;
for (j = 0; j < 4; j++)
{
cout << setw(8) << stu[i].money[j] << " ";
}
cout << endl;
}
cout << "---------------------------------------------------------------" << endl;
}
void t::pow(class t stu[], int n)
{
cout << "工资最高的职工姓名为" << stu[4].name << "总工资为" << stu[4].money[3] << endl;
}
int main()
{
t stu
;
t *p = stu;
p->input(stu, N);
p->average(stu, N);
p->order(stu, N);
p->output(stu, N);
p->pow(stu, N);
getchar();
getchar();
return 0;
}
#include<iomanip>
using namespace std;
const int N = 5;
class t
{
public:
void input(class t *p, int n);
void average(class t stu[], int n);
void order(class t stu[], int n);
void output(class t stu[], int n);
void pow(class t stu[], int n);
private:
char name[10];
float money[4];
};
void t::input(class t *p, int n)
{
int i, j;
for (i = 0; i < n; p++, i++)
{
cout << "请输入姓名,基本工资,浮动工资,奖金" << endl;
cin >> p->name;
for (j = 0; j < 3; j++)
cin >> p->money[j];
}
}
void t::average(class t stu[], int n)
{
int i, j;
for (i = 0; i < 5; i++)
{
stu[i].money[3] = 0;
for (j = 0; j < 3; j++)
{
stu[i].money[3] += stu[i].money[j];
}
}
}
void t::order(class t stu[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)
for (j = 0; j < n - 1 - i; j++)
{
if (stu[j].money[3] > stu[j + 1].money[3])
{
t tem;
tem = stu[j + 1];
stu[j + 1] = stu[j];
stu[j]= tem;
}
}
}
void t::output(class t stu[], int n)
{
int i, j;
cout << "-------------------------------------------------------------" << endl;
cout << setw(10) << "姓名" << setw(10) << "基本工资" << setw(10) << "浮动工资" << setw(10) << "奖金" << setw(10) << "总工资" << endl;
for (i = 0; i < n; i++)
{
cout << setw(10) << stu[i].name;
for (j = 0; j < 4; j++)
{
cout << setw(8) << stu[i].money[j] << " ";
}
cout << endl;
}
cout << "---------------------------------------------------------------" << endl;
}
void t::pow(class t stu[], int n)
{
cout << "工资最高的职工姓名为" << stu[4].name << "总工资为" << stu[4].money[3] << endl;
}
int main()
{
t stu
;
t *p = stu;
p->input(stu, N);
p->average(stu, N);
p->order(stu, N);
p->output(stu, N);
p->pow(stu, N);
getchar();
getchar();
return 0;
}
相关文章推荐
- 编写一个程序,定义一个职工类,输入3个职工的编号、姓名、工资和年龄, 类中的成员函数实现输入、输出,在主函数中定义对象,并计算输出3个职工的平均工资。
- 输入5个职工的职工号,基本工资,浮动工资和奖金,统计并输出最高的职工的职工号和总工资
- 实验8 统计和输出一次考试中的最高分、最低分、平均分,以及在90~100、 80~89、 70~79、 60~69和60分以下各分数段的人数。程序代码如下(可复制):
- [数据库]关于三个比较典型的数据库试题(1.找到员工表中工资最高的前三名;2.找到员工表中薪水大于本部门平均薪水的员工;3.统计每年入职的员工个数)
- 某单位的职工工资包括基本工资Wage,岗位津贴Subsidy,房租Rent,水费WaterFee,电费ElecFee。设计实验工资单位管理的类Salary
- ⑴输入10个职工的姓名和职工号;⑵按职工号由小到大排序,姓名顺序也随之调整;⑶要求输入一个职工号,查找法找出该职工的姓名。从主函数输入要查找的职工号,输出该职工姓名
- 编写程序,从键盘输入各位职工的工资数据,存入磁盘文件Salary.dat中,然后从该文件读出职工的工资数据,并计算输出每位职工的实发工资。实发工资的计算方法如下:实发工资=基本工资+加班工奖金-扣除
- 问题:设计一个大学教师和学生管理程序, 教师包括 编号、姓名、职称和教研室 数据的输入输出; 大学生包括编号、姓名、性别、班号、英语、高等数学和数据结构三门课程成绩的输入输出和计算平均分; 研究生包
- 输入N个学生的信息(包括:学号,姓名,5科成绩,总分),统计所有学生的总分,存入二进制文件stu_sc.dat中。然后读取该文件,查找总分最高的学生,并输出该生的所有信息。
- 实验4 输入四个人的年龄和姓名,排序后,按年龄,从小到大输出人员年龄及其姓名
- Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数
- 统计和输出实验 8 数组2 一次考试中的最高分、最低分、平均分,以及在90~100、 80~89、 70~79、 60~69和60分以下各分数段的人数。程序代码如下
- Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数
- 定义职工类Employee对象数组,内放5个职工的数据(编号、姓名、性别、月薪),建立函数输出职工信息表。
- 02:输出最高分数的学生姓名
- SDUT_2121数据结构实验之链表六:有序链表的建立 (对建立的单项链表结构进行排序)
- 学生信息管理系统---数据库的建立
- Student类,包括学生姓名、性别、年龄、Java成绩。要求创建五个该类对象,输出每个学生信息,计算并输出这五个学生Java成绩的平均值, 以及计算并输出他们Ja
- C++第一次上机实验项目3——周工资计算
- 没门课程成绩最高分 姓名统计