Добавил:
Oksana
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <string>
#include "Main.h"
#include <iostream>
Person::Person(void) //реализация конструктора
// инициализируем переменнные
: Nom_p(0) // номер по порядку
, Sex(false) // мальчик или девочка
, LET(0) // возраст
, FIO() // ФИО
{
strcpy(FIO," ");
}
Person::~Person(void) //реализация деструктора
{
//пусто
}
long Person::get_Nom_p(void) //метод получения номера человека
{
return Nom_p;
}
char Person::get_FIO(void) //метод получения ФИО человека
{
return FIO[100];
}
bool Person::get_Sex(void) //метод получения пола
{
return Sex;
}
int Person::get_LET(void) //метод получения возраста человека
{
return LET;
}
void Person::set_Nom_p(long Numb)//метод записи номера человека
{
if (Numb>=0) {Nom_p = Numb;}
else {std::cout << " Ошибка, номер должен быть >0 \ Error, number should be> 0" << std::endl;}
}
void Person::set_Sex(char Sex_in[]) //пол
{
//входные данные тип array of char (man or woman)
if (strcmp(Sex_in,"M") == 0 ) {Sex=true;};
if (strcmp(Sex_in,"W") == 0 ) {Sex=false;};
if ((strcmp(Sex_in,"W") != 0) && (strcmp(Sex_in,"M")) != 0) {std::cout << "Введите W или М \ Man or Women"<< std::endl;};
}
void Person::set_LET(int LET_in) //метод записи возраста человека
{
if ((LET_in>0) && (LET_in<100)) {LET = LET_in;}
else {std::cout << "Вводите возраст от 1 до 99 лет \ Enter age from 1 till 99 years " << std::endl;};
}
void Person::set_FIO(char FIO_in[]) //метод записи ФИО человека
{
if (sizeof(FIO_in) <= 40) {strcpy(FIO,FIO_in);}
else {std::cout << "Ошибка, ненормально большое ФИО \ Error, abnormally big FIO" << std::endl;};
}
void Person::Print(void) //вывод данных
{
char s[10]="";
std::cout << "Номер: / N" << Nom_p <<std::endl;
if (Sex == false) {strcpy(s,"M");} else {strcpy(s,"W");};
std::cout << "пол / sex: " << s << std::endl;
std::cout << "Лет / AGE: " << LET << std::endl;
std::cout << "ФИО / FIO: " << FIO << std::endl;
}
void Person::Input(void)// ввода данных
{
//ввод номера
std::cout << "Номер / N" << std::endl;
long Numb; std::cin >> Numb; Person::set_Nom_p(Numb);
//ввод пола
std::cout << "ПОЛ (M или W) / sex ( M or W)" << std::endl;
char Sex_in[10]; std::cin >> Sex_in; set_Sex(Sex_in);
//ввод возраста
std::cout << "ЛЕТ / AGE" << std::endl;
short i; std::cin >> i; Person::set_LET(i);
//ввод ФИО
std::cout << "input FIO" << std::endl;
std::cin >> FIO;
}
int main(void)
{
Person iper; //создание обьекта iper типа Person
//ввод данных
iper.set_FIO("Владимир Геннадьевич Колмогоров");
iper.set_Nom_p(1);
iper.set_Sex("M");
iper.set_LET(35);
//вывод
std::cout << "object iper" << std::endl;
iper.Print(); //использование метода Print(); для вывода данных
std::cout << std::endl;
//создание указателя iper2 на обьект типа Person
Person *iper2=new Person;
//проверка: удалось создать или нет, если да то делаем
if (iper2 == NULL) {std::cout << "No free memory" << std::endl;}
else
{
//ввод данных
iper2->set_FIO("Татьяна Владимировна Колмогорова");
iper2->set_Nom_p(2);
iper2->set_Sex("W");
iper2->set_LET(5);
//вывод
std::cout << "object iper2" << std::endl;
iper2->Print(); //использование метода Print(); для вывода данных
std::cout << std::endl;
//удаление обьекта
delete iper2;
};
//создание обьекта iper3
Person iper3;
std::cout << "object iper3" << std::endl;
iper3.Input(); //использование метода Input(); для ввода данных.
//вывод
std::cout << "object iper3, print" << std::endl;
iper3.Print();
return 0;
}