Как создать функцию C ++, которая создает новый объект каждый раз, когда пользователь вводит новые данные? - PullRequest
0 голосов
/ 21 апреля 2019

Я новичок в C ++, и мне дали задание, где создать программу, в которую можно вводить Имя сотрудника, Рабочий час, Продолжительность сверхурочной работы.

Есть меню Insert Employee, View 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 голосов
/ 21 апреля 2019

Это утверждение сбивает с толку: while (choice <1 && choice> 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(); }

В вашем коде так много ошибок.Однако надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...