C++员工表类的设计和实现

C++员工表类的设计和实现

主要是对员工表类的构造函数和析构函数的定义和实现设计,使用C++的动态数组来储存员工类。

这里的代码不全,没有时间日期类的代码,需要用到上一次日期时间类,这篇文章里有:

https://www.cnblogs.com/lightice/p/12713084.html

EmployeeHeader.h

1.// #include"DateTimeHeader.h"  
2.#include"DateTimeFunction.cpp"  
3.#include<string>  
4.#include<list>  
5.using namespace std;  
6.//员工类  
7.class Employee    
8.{  
9.public:  
10.    string  Name; //名字  
11.    int age;//   年龄  
12.    int Sex;//性别 0:男生 1:女生  
13.    Date Birthday;//生日  
14.    string Number;//工号  
15.    double Salary;//工资  
16.    Employee(string, int, int, string, double, Date);  //构造函数  
17.    void setall(string, int, int, string, double, Date);  
18.    // Employee operator =(Employee);  
19.    Employee() {};  
20.    void Show(); //显示数据  
21.  
22.};  
23.class Employ_Graph  
24.{  
25.public:  
26.    Employee *ptr;  //动态数组  
27.    Employee em[10];     //静态数组  
28.    int Count;//当前员工数  
29.    int Max;//最大人数  
30.public:  
31.    Employ_Graph(int count);//初始化员工表,让头指针置空  
32.    Employ_Graph();//初始化员工表,让头指针置空  
33.    ~Employ_Graph();//析构函数  
34.    void show();//显示员工内容  
35.    void Increase(Employee);//添加  
36.    void Delete(string Number);//删除  
37.    void Search(string Number);//查询  
38.    void Sort();//按年龄排序  
39.    double Sta(string Number);//统计工资  
40.    void Analyze(string Number);//分析员工表  
41.      
42.};  

EmployeeFunction.cpp

1.#include "EmployeeHeader.h"  
2.#include<iostream>  
3.#include<string>  
4.  
5.using namespace std;  
6.  
7.//构造函数  
8.Employee::Employee(string Name, int age, int Sex, string Number, double Salary, Date Birthday)  
9.{  
10.    this->Name = Name;  
11.    this->age = age;  
12.    this->Sex = Sex;  
13.    this->Number = Number;  
14.    this->Salary = Salary;  
15.    this->Birthday = Birthday;  
16.  
17.}  
18.//显示数据  
19.void Employee::Show()  
20.{  
21.  
22.    cout << "Name:" << this->Name << " ";  
23.    cout << "age:" << this->age << " ";  
24.    if (this->Sex == 0) {  
25.        cout << "Sex:男" << " ";  
26.    }  
27.    else  
28.    {  
29.        cout << "Sex:女" << " ";  
30.    }  
31.  
32.    cout << "Number:" << this->Number << " ";  
33.    cout << "Salary:" << this->Salary << " ";  
34.    cout << "Birthday:" << " ";  
35.    this->Birthday.show();  
36.}  
37.//设置所有属性  
38.void Employee::setall(string Name, int age, int Sex, string Number, double Salary, Date Birthday){  
39.    this->Name = Name;  
40.    this->age = age;  
41.    this->Sex = Sex;  
42.    this->Number = Number;  
43.    this->Salary = Salary;  
44.    this->Birthday = Birthday;  
45.}  
46.  
47.  
48.  
49.//创建并初始化员工表  
50.Employ_Graph::Employ_Graph()  
51.{     
52.    Count = 0;  
53.    Max = 10;  
54.    ptr = new Employee[10];  
55.    cout<<"员工表已创建~"<<endl;  
56.}  
57.  
58.//员工表销毁  
59.Employ_Graph::~Employ_Graph()  
60.{  
61.    if(this->ptr)delete[] ptr;  
62.    cout << "员工表已销毁~"<<endl;  
63.}  
64.  
65.//显示所有员工信息  
66.void  Employ_Graph::show()  
67.{  
68.    int i=0;  
69.    cout<<"*-------------------------------------------------------------------------------*"<<endl;  
70.    while(i<Count){  
71.        cout<<"|";  
72.        ptr[i].Show();  
73.  
74.        i++;  
75.    }  
76.    cout<<"*--------------------------------------------------------------------------------*"<<endl;  
77.}  
78.  
79.  
80.  
81.//添加员工  
82.void Employ_Graph::Increase(Employee E)  
83.{  
84.      
85.    if (Count >= Max)  
86.    {  
87.        cout << "人数已满,不能加入员工";  
88.    }  
89.    else  
90.    {  
91.        ptr[Count]= E;  
92.         em[Count] = E;  
93.    }  
94.    Count++;  
95.}  
96.  
97.  
98.//删除员工  
99.void Employ_Graph::Delete(string Number)  
100.{  
101.    for (int i = 0; i <Count; i++)  
102.    {  
103.        if (ptr[i].Number == Number)  
104.        {  
105.            for (int j = i; j <=Count-1; j++)  
106.            {  
107.                ptr[j] = ptr[j + 1];  
108.            }  
109.            Count--;  
110.            break;  
111.        }  
112.    }  
113.    cout<<"删除成功~"<<endl;  
114.}  

main.cpp

1.#include<iostream>  
2.#include "EmployeeFunction.cpp"  
3.  
4.using namespace std;  
5.  
6.int main(){  
7.    cout<<"come to main~";  
8.    Employ_Graph mylist;  
9.    int option;  
10.    int age,sex,year,month,day;  
11.    string name,number;  
12.    Date d0;  
13.    Employee people0;  
14.    double salary;  
15.      
16.    while(true){  
17.        cout<<"-------------------------------------"<<endl;  
18.        cout<<"1.增加员工 2.删除员工 3.打印员工 0.退出"<<endl;  
19.        cout<<"-------------------------------------"<<endl;  
20.        cout<<"您的操作:";  
21.        cin>>option;  
22.        switch(option){  
23.            case 1:  
24.                cout<<"请输入员工的姓名 年龄 性别 身份证 薪水 生日(年月日)"<<endl;  
25.                cin>>name>>age>>sex>>number>>salary>>year>>month>>day;  
26.                d0.init(year,month,day);  
27.                people0.setall(name,age,sex,number,salary,d0);  
28.                mylist.Increase(people0);  
29.            break;  
30.  
31.            case 2:  
32.                cout<<"请输入需要删除员工的身份证:"<<endl;  
33.                cin>>number;  
34.                mylist.Delete(number);  
35.            break;  
36.  
37.            case 3:  
38.                mylist.show();  
39.            break;  
40.              
41.            case 0:return 0;  
42.            default:break;  
43.        }  
44.    }  
45.    return 0;  
} 

运行结果:

1587021492515

原文链接: https://www.cnblogs.com/lightice/p/12790271.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++员工表类的设计和实现

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/344681

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午2:49
下一篇 2023年3月2日 上午2:50

相关推荐