Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
3 / 3 / 0
Регистрация: 18.01.2016
Сообщений: 198

Реализовать класс Student

10.07.2016, 21:52. Показов 8574. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть класс
нужно создать 3 динамических массива одномерных
что бы элементы каждого из массивов вводились в мейне
все начальные данные описаны и созданы в коде
помогите правильно создать хотя бы 1 массив

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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
//1.    Реализовать класс Student, который содержит поля для хранения фамилии,
//имени, отчества, даты рождения, домашнего адреса, телефонного номера.
//Также за каждым студентом закреплены 3 динамических массива оценок – 
//зачёты, курсовые работы, экзамены.Обязательные методы : 2 - 3 версии
//конструктора с параметрами, геттеры и сеттеры для всех полей, показ всех данных о студенте.
 
 
#include <time.h>
#include <iostream>
using namespace std;
 
 
class Date
{
public:
    int day;
    int month;
    int year;
};
class PHONE
{
public:
    int mob;
    int home;
    int work;
};
 
class Student
{
    char* surname = nullptr;//фамилия
    char* name = nullptr;//имья
    char* patronymic = nullptr;//отчество
    Date birthday;//дата рождения
    char* adress = nullptr;//домашнего адреса
    PHONE phone;//телефонного номера
 
    int*mas1;
    
    int*mas2;
     
    int*mas3;
    
public:
 
    //сеттеры:
 
 
 
    void SetSurame(char* surname)
    {
        if (!surname || strlen(surname) == 0)
            return;
 
        if (this->surname != nullptr)
        {
            delete[]this->surname;
        }
 
        this->surname = new char[strlen(surname) + 1];
        strcpy_s(this->surname, strlen(surname) + 1, surname);
    }
 
    void SetName(char* name)
    {
        if (!name || strlen(name) == 0)
            return;
 
        if (this->name != nullptr)
        {
            delete[]this->name;
        }
 
        this->name = new char[strlen(name) + 1];
        strcpy_s(this->name, strlen(name) + 1, name);
    }
 
 
    void SetPatronymic(char* patronymic)
    {
        if (!patronymic || strlen(patronymic) == 0)
            return;
 
        if (this->patronymic != nullptr)
        {
            delete[]this->patronymic;
        }
 
        this->patronymic = new char[strlen(patronymic) + 1];
        strcpy_s(this->patronymic, strlen(patronymic) + 1, patronymic);
    }
 
 
    void SetBirthday(int day, int month, int year)
    {
        birthday.day = day;
        birthday.month = month;
        birthday.year = year;
    }
 
    void SetAdress(char* adress)
    {
        if (!adress || strlen(adress) == 0)
            return;
 
        if (this->adress != nullptr)
        {
            delete[]this->adress;
        }
 
        this->adress = new char[strlen(adress) + 1];
        strcpy_s(this->adress, strlen(adress) + 1, adress);
    }
 
    void SetPhone(int mob, int home, int work)
    {
        if (mob >= 0 && home >= 0 && work >= 0)
            this->phone.mob = mob;
        this->phone.home = home;
        this->phone.work = work;
    }
 
 
    //геттеры 
 
 
 
 
    const char* const GetSurname() const
    {
        return surname;
    }
 
    const char* const GetName() const
    {
        return name;
    }
 
    const char* const GetPatronymic() const
    {
        return patronymic;
    }
 
    Date GetBirthday() const
    {
        return birthday;
    }
 
 
    const char* const GetAdress() const
    {
 
        return  adress;
    }
 
    PHONE GetPhone() const
    {
        return phone;
    }
 
 
    //показ всех данных о студенте
    void About()
    {
        cout << "фамилия: " << surname << "\n";
        cout << "имья: " << name << "\n";
        cout << "отчество: " << patronymic << "\n";
        cout << "дата рождения: " << birthday.day << "." << birthday.month << "." << birthday.year << "\n";
        cout << "домашный адресс: " << "ул. " << adress << "\n";
        cout << "телефонный номер:\n"
            << "моб. номер: " << phone.mob << "\n"
            << "дом. номер: " << phone.home << "\n"
            << "роб. номер: " << phone.work << "\n";
             
 
 
        cout << "\n";
    }
 
    //конструктор по умолчанию
    Student()
    {
    }
    //2 - 3 версии конструктора с параметрами
    Student(char* Surname, char* Name, char* Patronymic, Date Birthday) :
        Student(Surname, Name, Patronymic, Birthday, "Посмитного 33", { 111111111, 4444444, 42323 })
    {
 
    }
 
    Student(char* Surname, char* Name, char* Patronymic, Date Birthday, PHONE Phone) :
        Student(Surname, Name, Patronymic, Birthday, "Посмитного 33", Phone )
    {
 
    }
 
    //главный конструктор 
    Student(char* Surname, char* Name, char* Patronymic, Date Birthday, char* Adress, PHONE Phone)
    {
        this->surname = Surname;
        this->name = Name;
        this->patronymic = Patronymic;
        this->birthday = Birthday;
        this->adress = Adress;
        this->phone = Phone;
     
    }
     
 
    //деструктор
    ~Student()
    {
        /*delete[]mas1;
        delete[]mas2;
        delete[]mas3;*/
    }
 
  
};
 
 
void main()
{
    setlocale(0, "RU");
 
    Student a("Рубик", "Иван", "Петрович", { 11, 12, 1887 }, "Посмитного 33", { 111111111, 4444444, 42323 });
    a.About();
     Student b("Романов", "Жора", "Валентинович", { 3, 13, 1877 }, "Поскотного 1", { 2221, 23232, 124142 });
     b.About();
     
      
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.07.2016, 21:52
Ответы с готовыми решениями:

Создать класс student, который использует файл student.txt
Доброе время суток. Тащемта задача такова: Нужно создать класс student, который использует файл student.txt(содержит в себе список...

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

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

5
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306
11.07.2016, 01:06
Надеюсь понятно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
class Student
{
public:
    int* mass;
};
 
int main()
{
    Student s;
    s.mass = new int[2];
    for(int i = 0; i < 2; i++)
        std::cin >> s.mass[i];
}
0
3 / 3 / 0
Регистрация: 18.01.2016
Сообщений: 198
12.07.2016, 07:05  [ТС]
DUMP,
понятно то все но инициализация массива нужна приватная
0
 Аватар для Martein
704 / 109 / 21
Регистрация: 22.06.2014
Сообщений: 241
12.07.2016, 09:24
Цитата Сообщение от Zigoga Посмотреть сообщение
понятно то все но инициализация массива нужна приватная
Инициализируете, значит, в конструкторе.
0
1 / 1 / 1
Регистрация: 25.06.2016
Сообщений: 18
12.07.2016, 20:40
Лучший ответ Сообщение было отмечено Zigoga как решение

Решение

C форматировкой кода почему то беда, но суть думаю поймешь.


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
#include <iostream>
using namespace std;
class Student
{
     int n;
     int* mass;
 
public:
      Student();
     ~Student();
     void show(); // функция вывода на экран
};
 
Student::Student()
{
     cin >> n;
     mass = new int[n];
     for(int i = 0; i < n; i++)
           cin >> mass[i];
}
 
Student::~Student()
{
     delete mass;
}
 
void Student::show()
{
      for(int i = 0; i < n; i++)
             cout << mass[i] << " ";
}
 
 
int main()
{
     Student s;
     s.show();
     return 0;
}
1
3 / 3 / 0
Регистрация: 18.01.2016
Сообщений: 198
13.07.2016, 14:28  [ТС]
GreenStudent,
большое спасибо будем применять к своему коду
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.07.2016, 14:28
Помогаю со студенческими работами здесь

Базовый класс Student и производный класс Aspirant
Задача была такова: Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования,...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Реализовать структуру Student
HELP GUYS :help: Следующие задания требуется решить с использованием классов.При этом обязательно оформить методы для выполнения...

Класс STUDENT
Создать класс STUDENT, имеющий имя, курс и идентификационный номер. Определить конструктор, деструктор и функцию печати. Создать...

Класс Student
Добрый вечер, программисты. Есть задание: Не могу понять этот пункт задания: Напишите методы, которые смогут изменять эти поля данных...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru