Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AlexandrKurchik
0 / 0 / 0
Регистрация: 27.10.2016
Сообщений: 1
1

Создать класс "Анкета" и производные классы

27.10.2016, 20:42. Просмотров 389. Ответов 0
Метки нет (Все метки)

Друзья, нужна помощь, задача такова: Реализовать класс "Анкета" , который будет включать в себя поля: имя, фамилию, отчество, год рождения и методы, позволяющие изменять/получать значения этих полей, и от них нужно реализовать производные классы:
1) «Преподаватель университета» с полями: должность, ученая степень, специальность, список научных трудов (массив строк);
2) «Член комиссии» с полями: название комиссии, год назначения в комиссию, номер свидетельства, автобиография (массив строк);
3) «Преподаватели – члены комиссии» (производный от 2 и 3). Дополнительное поле – список работ выполненных в комиссии.
Классы должны содержать методы доступа и изменения всех полей.

Все это должно работать через интерфейс:

1) Добавить Анкету
2) Просмотреть Анкеты
3) Очистить Анкеты
4) Вывести на печать
5) Выход

********************************
Выберите кого вы хотите ввести (1, 2 или 3):
1) Преподаватель университета
2) Член комиссии
3) Преподаватели – члены комиссии
4) выход в Меню

********************************
Начало есть, вроде бы и логика адекватная, но как то не складывается...
Прошу помощи.
спасибо!

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
#include "stdafx.h"
#include <string>
#include <iostream>
#include <string.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
 
 
class Anketa
{
public:
    int position;
 
    Anketa (int position)
    {
     cin >> position;
    }
    };
 
 
 
 
class Prepod: public Anketa {
public:
    char name1[20];
    char sername1[20];
    char patronymic1[20];
    int year1;
    int academic_degree1;
    char specialty1[20];
    char list_of_works1[100];
 
 
        Prepod() {
        if (position == 1)
        {
            cout << "name";
            cin >> name1;
            cout << "sername";
            cin >> sername1;
            cout << "patronymic";
            cin >> patronymic1;
            cout << "year";
            cin >> year1;
            cout << "academic_degree";
            cin >> academic_degree1;
            
        }
        
    }~Prepod() { };
    void show() {
        cout<<"***Prepod***********************************"<<endl;
        cout <<"Name:"<< name1 << endl <<"Sername:" << sername1 << endl << "Patronymic:" << patronymic1 << endl <<"Year:" << year1<< endl  << "Academic degree:" << academic_degree1<<endl<<"************************************************"<<endl;
    }
};
 
class Komissiya : public Anketa
{
public:
    char name2[20];
    char sername2[20];
    char patronymic2[20];
    int year2;
    char Commission_name[20];
    int year_appointment;
    int certificate_number;
    char autobiografy[100];
    Komissiya() {
        if (position == 2)
        {
            cout << "name";
            cin >> name2;
            cout << "sername";
            cin >> sername2;
            cout << "patronymic";
            cin >> patronymic2;
            cout << "year";
            cin >> year2;
            cout << "Commission_name";
            cin >> Commission_name;
            cout << "year_appointment";
            cin >> year_appointment;
            cout << "certificate_number";
            cin >> certificate_number;
            cout << "autobiografy";
            cin >> autobiografy;
        }
 
    }
 
    ~Komissiya(){};
    void show(){ 
        cout<<"***Komissiya***********************************"<<endl;
        cout <<"Name:"<< name2 << endl <<"Sername:" << sername2 << endl << "Patronymic:" << patronymic2 << endl <<"Year:" << year2<< endl  << "Commission name:" << Commission_name<<endl<< "Year appointment:" << year_appointment<<endl<<"Certificate number:" << certificate_number <<endl<< "Autobiografy:" << autobiografy <<endl<<"************************************************"<<endl;
    
    }
};
 
class Choose : public Anketa {
    
    void choose (Anketa c, Anketa b) {
 
    
     switch (position)
 
 {
    case 1:
        
        for(int i=0;i<2;i++)
        b[i].Komissiya.show();
 
        break;
 
    case 2:
 
        for(int i=0; i<2; i++)
        c[i].show();
 
        break;
 
    case 3:
        break;
    
    case 4:
        break;
     }
 }
};
//
//class Prepod_Komissiya : public Anketa 
//{
//public:
//  
//
//Prepod_Komissiya()
//  {
//  if (position == 3) 
//  {
//      
//  }
//  }
//
//};
 
 
int main()
{
    //Anketa a;
    Prepod *b;
    Komissiya *c;
    b = new Prepod[2];
    c = new Komissiya[2];
    for(int i=0;i<2;i++)
    b[i].show();
    for(int i=0; i<2; i++)
    c[i].show();
    _getch();
    return 1;
 
 }
Добавлено через 36 минут
Правка в код:

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
// Entername.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <string>
#include <iostream>
#include <string.h>
#include <conio.h>
#include <iomanip>
 
using namespace std;
 
 
class Vibor
{
public:
    int position;
 
    Vibor (int position)
    {
     cin >> position;
    }
 
    };
 
 
class Anketa {
 
public:
    char name[20];
    char sername[20];
    char patronymic[20];
    int year;
 
    Anketa () {
            cout << "name";
            cin >> name;
            cout << "sername";
            cin >> sername;
            cout << "patronymic";
            cin >> patronymic;
            cout << "year";
            cin >> year;
    }
 
};
 
class Prepod: public Anketa {
public:
    int academic_degree1;
    char specialty1[20];
    char list_of_works1[100];
 
 
        Prepod() {
    
        {
            cout << "academic_degree";
            cin >> academic_degree1;    
        }
        
    }~Prepod() { };
    void show() {
        cout<<"***Prepod***********************************"<<endl;
        cout <<"Name:"<< name << endl <<"Sername:" << sername << endl << "Patronymic:" << patronymic << endl <<"Year:" << year<< endl  << "Academic degree:" << academic_degree1<<endl<<"************************************************"<<endl;
    }
};
 
class Komissiya : public Anketa
{
public:
    char Commission_name[20];
    int year_appointment;
    int certificate_number;
    char autobiografy[100];
 
    Komissiya (){
            cout << "Commission_name";
            cin >> Commission_name;
            cout << "year_appointment";
            cin >> year_appointment;
            cout << "certificate_number";
            cin >> certificate_number;
            cout << "autobiografy";
            cin >> autobiografy;
        }
 
    
 
    ~Komissiya(){};
    void show(){ 
        cout<<"***Komissiya***********************************"<<endl;
        cout <<"Name:"<< name << endl <<"Sername:" << sername << endl << "Patronymic:" << patronymic << endl <<"Year:" << year<< endl  << "Commission name:" << Commission_name<<endl<< "Year appointment:" << year_appointment<<endl<<"Certificate number:" << certificate_number <<endl<< "Autobiografy:" << autobiografy <<endl<<"************************************************"<<endl;
    
    }
};
 
class Choose : public Vibor {
    
    void choose (Komissiya c, Prepod b) {
 
    
     switch (position)
 
 {
    case 1:
        
        for(int i=0;i<2;i++)
        b[i].Prepod.show();
 
        break;
 
    case 2:
 
        for(int i=0; i<2; i++)
        c[i].Komissiya.show();
 
        break;
 
    case 3:
        break;
    
    case 4:
        break;
     }
 }
};
//
//class Prepod_Komissiya : public Anketa 
//{
//public:
//  
//
//Prepod_Komissiya()
//  {
//  if (position == 3) 
//  {
//      
//  }
//  }
//
//};
 
 
int main()
{
    //Anketa a;
    /*Prepod *b;
    Komissiya *c;*/
    //b = new Prepod[2];
    //c = new Komissiya[2];
    //for(int i=0;i<2;i++)
    //b[i].show();
    //for(int i=0; i<2; i++)
    //c[i].show();
    _getch();
    return 1;
 
 }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2016, 20:42
Ответы с готовыми решениями:

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об...

Базовый класс "Изделие" и производные классы "Мышь", "Клавиатура", "Монитор"
/*Создать класс изделие, с полями себестоимость, цена, время выполнения, стоимость нормочаса и...

Базовый класс "Источник напряжения", производные классы "Цепь" и "Аккумулятор"
Дали задачу по программированию: составить класс &quot;Источник напряжения&quot;, для которого нужно...

Базовый класс "многоугольник" и производные классы "треугольник" и "прямоугольник"
Не могу понять как реализовать данное задание. Создать 1 базовый класс и несколько...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2016, 20:42

Базовый класс "Летательный аппарат" и производные классы Ракета и Самолет
Определить абстрактный базовый класс &quot;Летательный аппарат&quot; содержащий данные, описывающие...

Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат"
Реализовать класс Графический объект от которого будут наследоваться классы &quot;круг&quot; и &quot;квадрат&quot;....

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.)
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.