3 / 3 / 0
Регистрация: 19.02.2010
Сообщений: 30
1

Реализовать пользовательские типы: класс Person и класс String

20.04.2010, 16:22. Показов 11005. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1)Разработать класс Person, который содержит соответствующие члены для хранения:
имени,
возраста,
пола и
телефонного номера.
Напишите функции-члены, которые смогут изменять эти члены данных индивидуально. Напишите функцию-член Person::Print(), которая выводит отформатированные данные о человеке.
2)Разработать класс String, который в дальнейшем будет использоваться для работы со строками. Класс должен содержать:
конструктор по умолчанию, позволяющий создать строку длиной 80 символов;
конструктор, позволяющий создавать строку произвольного размера;
конструктор, который создаёт строку и инициализирует её строкой, полученной от пользователя.
Класс должен содержать методы для ввода строк с клавиатуры и вывода строк на экран.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2010, 16:22
Ответы с готовыми решениями:

Реализовать класс Person
Описания членов - данных пользовательских классов. ПЕРСОНА имя – char* возраст – int пол –...

Реализовать класс Person (персона)
в общем, утопающий студент просит о помощи, потому как сам уже себя не успеет спасти. нужно к...

Объяснить, как добавляется класс Person в класс People
Объясните пожалуйста этот код. public class People : ObservableCollection<Person> { ...

Производный класс Employee и базовый класс Person
Класс Person содержит информацию о человеке - firstName - lastName - age - address -...

3
372 / 286 / 97
Регистрация: 17.12.2009
Сообщений: 567
21.04.2010, 17:31 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Person{
   private:
   string name;
   size_t age;
   bool sex;
   string phone_number;
   public:
   Person(const string &n, const size_t &a, bool s,const string &p):
       name(n), age(a), sex(s), phone_number(p){}
   void set(const string &n, const size_t &a, bool s,const string &p)
   {
       name=n; age=a; sex=s; phone_number=p;
   }
   //ну и так далее, реализацию сам напишешь
   void put_name(const string& s);
   void put_age(const size_t& a);
   void put_sex(bool s);
   void put_number(const string& n);
   void print() const
   {
        cout << "name: " << name << '\n'
               << "age: " << age << '\n'
               << "sex: " << (sex ? "male" : "female") << '\n'
               << "Pnumber: " << phone_number << '\n';
   }
};
а класс - строка вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class String{
   private:
   char *data;
   int max_length;
   public:
   String()
   {
        data=new char[80];
        max_length=80;
   }
   String(int i)
   {
       data = new char[i];
       max_length=i;
   }
    String(const String &s)
    {
        if (max_length < s.max_length)
        {
            delete [] data;
            data=new char[s.max_length];
            max_length=s.max_length
         }
         for(int i=0;i<max_length;i++)
         {
              data[i]=s.data[i];
         }
    }
    String(const char *s)
    {
         max_length=strlen(s) + 1;
         data=new char[max_length];
         for(int i=0;i<max_length;i++)
         {
              data[i]=*(s+i);
         }
     }
     ~String()
     {
          delete [] data;
     }
     //оператор вывода сам реализуешь
     friend ostream &operator<<(ostream &out, String &s);
};
3
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 1
19.05.2017, 00:00 3
Ошибка на этапе выполнения. Вчём проблема? Помогите разобраться.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <iostream>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
struct Date{ //Структура для дати народження людини
    short day;
    short month;
    short year;
    Date(short dayDirth, short monthBirth, short yearBirth)
    {
        this->day = dayDirth;
        this->month = dayDirth;
        this->year = dayDirth;
    }
    Date()
    {
        this->day = 0;
        this->month = 0;
        this->year = 0;
    }
};
 
struct Name{//Структура для ФІО людини
    char *SurName = new char[20];
    char *FirstName = new char[20];
    char *LastName = new char[20];
    char *floor = new char[10];
 
    void SetName(char *SurName, char *FirstName, char *LastName, char *floor)
    {
        strcpy_s(this->SurName, strlen(SurName), SurName);
        strcpy_s(this->FirstName, strlen(FirstName), FirstName);
        strcpy_s(this->LastName, strlen(LastName), LastName);
        strcpy_s(this->floor, strlen(floor), floor);
    }
    void SetName()
    {
        strcpy_s(this->SurName, 11, "No SurName");
        strcpy_s(this->FirstName, 13, "No FirstName");
        strcpy_s(this->LastName, 12, "No LastName");
        strcpy_s(this->floor, 9, "No floor");
    }
};
 
class Person { // Клас студент
 
public:
 
    Name name;
    Date DateOfBirth;
    int tel;
 
    Person();
    Person(const Person&obj);
    Person(char *SurName, char *FirstName, char *LastName, short day, short month, short year, char *floor, int tel);
    void IntPerson();
    void PrintPerson();
    ~Person();
};
 
Person::Person(){
    DateOfBirth = Date();
    this->name.SetName();
    tel = 0;
}
 
Person::~Person(){
    delete[] name.FirstName;
    delete[] name.LastName;
    delete[] name.SurName;
    delete[] name.floor;
}
 
Person::Person(char *SurName, char *FirstName, char *LastName, short day, short month, short year, char *floor, int tel)
{
    this->name.SetName(SurName, FirstName, LastName, floor);
    DateOfBirth = Date(day, month, year);
    this->tel = tel;
}
 
void Person::IntPerson()
{
    cout << "\t\tВведіть Фамілію: ";
    cin >> name.SurName; cout << endl;
    cout << "\t\tВведіть Ім'я: ";
    cin >> name.FirstName; cout << endl;
    cout << "\t\tВведіть Ім'я по-батькові: ";
    cin >> name.LastName; cout << endl;
    cout << "\t\tВведіть день народження: ";
    cin >> DateOfBirth.day; cout << endl;
    cout << "\t\tВведіть місяць народження: ";
    cin >> DateOfBirth.month; cout << endl;
    cout << "\t\tВведіть рік народження: ";
    cin >> DateOfBirth.year; cout << endl;
    cout << "\t\tВведіть стать людини: ";
    cin >> name.floor; cout << endl;
    cout << "\t\tВведіть номер телефона: ";
    cin >> tel; cout << endl;
}
void Person::PrintPerson()
{
    cout << "\t\t________________________________________\n\n";
    cout << "\t\tФІО людини:\n\t\t";
    cout << name.SurName << "\t" << name.FirstName << "\t" << name.LastName << "\n";
    cout << "\t\tДата народження: " << DateOfBirth.day << "." << DateOfBirth.month << "." << DateOfBirth.year << endl;
    cout << "\t\tДата пол: " << name.floor << "\n";
    cout << "\t\tНомер телефона: " << tel << "\n\n";
    cout << "\t\t________________________________________\n\n";
}
 
void main(){
    system("chcp 1251>text");
    
    Person B("Drakon", "Drakon", "Drakon", 8, 2, 1976, "муж", 9879809);
    B.PrintPerson();
    
    system("pause");
}
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
19.05.2017, 06:53 4
использование инициализатора элемента данных не допускается

C++
1
2
3
4
5
struct Name{//Структура для ФІО людини
char *SurName = new char[20];
char *FirstName = new char[20];
char *LastName = new char[20];
char *floor = new char[10];
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2017, 06:53
Помогаю со студенческими работами здесь

Базовый класс PERSON и производный класс STUDENT
Базовый класс: ЧЕЛОВЕК(PERSON) Имя(name) - string Возраст (age) - int Определить методы...

Класс: создать класс "Person"
1,2 #include &lt;iostream&gt; #include &lt;string&gt; class Person { Person() : name(&quot;Alex&quot;),...

Создайте класс person. Создайте тип people, описывающий массив элементов типа person.
Создайте класс person. У него должны быть поля: name: string; sex: (&quot;муж&quot;, &quot;жен&quot;); height:...

Реализовать класс String
Здравствуйте! Что-то не задается у меня ООП. Поэтому прошу помочь с мелкой задачкой. Реализовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru