C++实训3_1

来源:互联网 发布:电视直播软件hdp 编辑:程序博客网 时间:2024/06/17 22:46

职工信息处理

对某一个单位的职工进行工资调整。职工的信息有姓名,年龄,工龄,性别,婚姻状况,级别,工资,是否退休。规定凡是退休的职工一律增加公职50元,
在职1~5级别职工的公职分别增加20,40,60,80,100,编程实现上述工资调整。

实训要求:1分析要存放的信息以及要进行的操作,设计合适的数据结构。
2.分析要对信息进行的操作,
3.在程序中打印出执行前后的工资状况和级别。


----------------
运用结构体数组进行存放数据,可以通过够着put(),get(),change()等函数进行对数据的输入,改变
// 实训3_1.cpp : Defines the entry point for the console applicat#include<iostream>#include<string>using namespace std;structpeople{char name[32];int age;int worktime;char sex[5];int grade;char marrige[5];int wage;char tired[3];};struct people worker[5]={{"张三",18,2,"男",1,"未婚",2000,"否"},{"张二",18,2,"男",2,"未婚",4000,"否"},{"张四",45,3,"女",3,"未婚",3000,"否"},{"王五",35,5,"男",4,"未婚",1682,"是"},{"李四",66,8,"女",5,"已婚",8000,"是"}};void print(people worker[], int n)  //对于信息的输出{int i;for(i=0;i<5;i++)cout << worker[i].name<<" "<<worker[i].age<< " "<< worker[i].worktime<< " "  << worker[i].sex << " "<< worker[i].grade << " "<< worker[i].marrige << " "<< worker[i].wage << " "<< worker[i].tired <<endl;}void change_wage(people worker[], int n){int i;char flag[5]={"否"};for(i=0;i<5;i++)if( strcmp( worker[i].tired,"否")!=0)switch (worker[i].grade){case 1:worker[i].wage+=20; break;case 2:worker[i].wage+=40; break;case 3:worker[i].wage+=60; break;case 4:worker[i].wage+=80; break;case 5:worker[i].wage+=100; break;default: ;}else  worker[i].wage+=50;}int main(){cout << "职工原始信息"<< endl;print(worker,5);change_wage(worker, 5);cout << "职工信息修改后"<< endl;print(worker,5);return 0;}

  

改进:可以用 void get( struct people worker[ ] , int n){"输入对应数据"}进行自己录入数据,必要时可以使用ofstream("c:\\文件路径\\woker.tet",ios::in)在文件中进行操作。
原创粉丝点击