如何创建每次用户输入新数据时都会创建新对象的c ++函数?

时间:2019-04-21 13:36:53

标签: c++ function class object

我是c ++的新手,我被分配了一个任务,可以在其中创建一个可以输入员工姓名,工作时间,加班时间的程序。

有一个菜单Insert EmployeeView Employee,其中选项视图将显示之前已经输入的所有列表员工:姓名,工作时间,加班费,薪水。

用户最多只能输入5名员工,因此,如果用户输入5名不同的员工,则View Employee选项将显示所有这5名员工。

我已经创建了一个类Employee,但我仍然困惑于inputEmp函数如何能够在用户每次选择Insert Employee选项时创建新对象?

这是我的代码简介

class Employee {
    string name;
    int salaryTot, hour, overtime;

    public:
        Employee(){hour = 8;}
        void calcSalary(){
            int salary = hour * 20000;
            salaryTot = overtime * 30000 + salary;
        };
        void putName(string name){name = name};
        void putOvertime(int overtime){overtime = overtime};
        void getName(){return name;};
        void getHour(){return hour;};
        void getOvertime(){return overtime;};
        void getSalary(){return salaryTot;};

}

void inputEmp(){
    //<blabla_code> this line should create new object for this new user input
    cout<<string(12, '\n')<<"Input Employee's name [5-25] : ";
    cin>>//blabla.putName()
    cout<<"\nInput overtime's duration [0 - 4] : ";
    cin>>//blabla.putOvertime();
    //blabla.calcSalary
    cout<<"Success insert new employee!"<<endl;
}

void printALL(){
    cout<<"Name :"<<\\blabla.getName()
    cout<<"Work Hour :"<<\\blabla.getHour()
    cout<<"Overtime :"<<\\blabla.getOvertime()
    cout<<"Salary :"<<\\blabla.getSalary()
}

int Layout(){
    int choice = 0;

    while(choice !=3){
    do{
        cout<<string(12, '\n')<<"adeqecil COMPANY"<<endl;
        cout<<string(16, '=')<<endl;
        cout<<"1.Insert Employee"<<endl;
        cout<<"2.View Employee"<<endl;
        cout<<"3.Exit"<<endl;
        cout<<"Input choice : "; cin>>choice;
    } while(choice <1 && choice >5);

    switch (choice)
    {
        case 1: inputEmp();
        break;
        case 2: printAll();
        break;
        case 3: return 0; 
            break;
    }
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

此语句令人困惑:while(选择<1 &&选择> 5);

为每个新员工创建一个新对象,并将其传递给PrintALL函数。

void printALL(emp_object_1){
cout<<"Name :"emp_object_1.getName();
cout<<"Work Hour :"emp_object_1.getHour();
cout<<"Overtime :"emp_object_1.getOvertime();
cout<<"Salary :"emp_object_1.getSalary(); }

您的代码有很多错误。但是,希望这会有所帮助。