aleksHL
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите, пожалуйста. Программу правильно написала, но в одном месте выдаёт не то, в чём ошибка (выделенный участок, см. ниже) #include <conio> #include <iostream> #include <string> using namespace std; class worker { private: char name[20], surname[20], patronymic[20]; int code, zar; public: worker(char *a, char *b, char *c, int d, int e); void changesurname(); void changezar(); void print(); }; worker::worker(char *a, char *b, char *c, int d, int e) { strcpy(name,a); strcpy(surname,b); strcpy(patronymic,c); code=d; zar=e; } ----------------------------------------------------------------------------- //почему вместо новой фамилии //выдаёт последовательность символов? void worker::changesurname() { char newsurname[20]; strcpy(surname,newsurname); cout<<"New surname: "<<surname<<endl; } ----------------------------------------------------------------------------- void worker::changezar() { int x; zar=zar*x/100+zar; cout<<"New zarplata: "<<zar<<" $"<<endl; } void worker::print() { cout<<"Name: "<<name<<endl; cout<<"Surname: "<<surname<<endl; cout<<"Patronymic: "<<patronymic<<endl; cout<<"Code: "<<code<<endl; cout<<"Zarplata: "<<zar<<" $"<<endl; } void main() { worker ob("Vyacheslav", "Sidorov", "Sergeevich", 12345, 20000); ob.print(); getch(); int x; cout<<endl<<"Vvedite % povisheniya zarplati: "; cin>>x; ob.changezar(); getch(); char newsurname[20]; cout<<endl<<"Vvedite new surname: "; cin>>newsurname; ob.changesurname(); getch(); cout<<endl<<"Izmenennoe info: "<<endl<<endl; ob.print(); getch(); } |