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

Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель

05.05.2014, 22:56. Показов 3311. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель
Запросы:
• перечень студентов в указанной группе;
• перечень студентов в указанной кафедре;
• перечень преподавателей в указанной кафедре;
• перечень студентов, обучающихся в указанной кафедре, сдавших сессию на отлично

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
#include "klasy.h"
const int kolvo=3;
groap *groapm[kolvo];
int number=0;
kafedra *kafedram[kolvo];
int numberk=0;
 
void addgroap()
{
    string nomer, namestudenta, familiyastudenta;
    
    for (number=0;number<3;number++ )
    {
    cout<<"vvedite nomer gryppi: ";
    cin>>nomer;
    cout<<"name of student: ";
    cin>>namestudenta;
    cout<<"familiya studenta: ";
    cin>>familiyastudenta;
    
    groap *s=new groap;
    s->setnomer(nomer);
    s->std.set(namestudenta,familiyastudenta);
    
    groapm[number]=s;
    }
}
void addkafedra()
{string nazvanie, namestudenta, familiyastudenta,nameprepodavatelya,familiyaprepodavatelya;
int marks;
for (numberk=0;numberk<3;numberk++ )
{
    cout<<"Vvedite nazvanie kafedri: ";
    cin>>nazvanie;
    cout<<"name of student: ";
    cin>>namestudenta;
    cout<<"familiya studenta: ";
    cin>>familiyastudenta;
    cout<<"name of prepod: ";
    cin>>nameprepodavatelya;
    cout<<"familiya prepoda: ";
    cin>>familiyaprepodavatelya;
    cout<<"vvedite yspevaemost: ";
    cin>>marks;
    kafedra *k=new kafedra;
    k->setnazvanie(nazvanie);
    k->std.set(namestudenta,familiyastudenta);
    k->pre.set(nameprepodavatelya,familiyastudenta);
    kafedram[numberk]=k;
    k->pre.setmark(marks);}
    }
 
void dellkafedra()
 {
    int n;
    for (int i=0;i<numberk;i++)
    {
        cout<<i+1<<"-ya kafedra ";
        kafedram[i]->getnazvanie(); cout<<"\n";
    }
    cout<<"vvedite kafedri kotoryu hotite ydalit: ";
    cin>>n;
    n--;
    delete kafedram[n];
    for (int i=n;i<numberk-1;i++)
        kafedram[i]=kafedram[i+1];
    numberk--;
}
void dellgruppa()
{
    int n;
    for (int i=0;i<numberk;i++)
    {
        cout<<i+1<<"-ya gruppa ";
        groapm[i]->getnomer(); cout<<"\n";
    }
    cout<<"vvedite gruppy kotoryu hotite ydalit: ";
    cin>>n;
    n--;
    delete groapm[n];
    for (int i=n;i<number-1;i++)
        groapm[i]=groapm[i+1];
    number--;}
 
void studkafedr()
{
    string nazvanie;
    cout<<"vvedite nazvanie kafedri ";
    cin>>nazvanie;
    for (int i=0;i<numberk;i++)
    {
        if(kafedram[i]->nazvanie==nazvanie)
        {kafedram[i]->std.get(); cout<<"\n";}
        
    }
    _getch();
}
void studgroap()
{
    string nomer;
    cout<<"VVedite nomer gruppi ";
    cin>>nomer;
    for (int i=0;i<number;i++)
    {
        if(groapm[i]->nomer==nomer)
        {kafedram[i]->std.get(); cout<<"\n";}
        else;
    }
    _getch();
}
void prepodkafedr()
{
    string nazvanie;
    cout<<"vvedite nazvanie kafedri ";
    cin>>nazvanie;
    for (int i=0;i<numberk;i++)
    {
        if(kafedram[i]->nazvanie==nazvanie)
        {kafedram[i]->pre.get(); cout<<"\n";}
        else;
    }
    _getch();
}
 
 
 
void otlichniki()
{
    string nazvanie;
    if (number!=0)
    {
    cout<<"perechen studentov otlichnikov: \n\n";
    cout<<"vvedite nazvanie kafedri ";
    cin>>nazvanie;
    
    for (int i=0;i<numberk;i++)
        if((kafedram[i]->nazvanie==nazvanie)&&(kafedram[i]->pre.mark==5))
            cout<<" "<<kafedram[i]->std.name<<"\n ";
        else;
    _getch();
    }
    else
    {
        cout<<"nety nakih studentov!";
        return;
    }
}
Кажется, что в строках 92,105,118, 137 неправильное обращение к объектам.
Вложения
Тип файла: rar klasy.h.rar (145.3 Кб, 29 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2014, 22:56
Ответы с готовыми решениями:

Построить иерархию классов: студент, преподаватель, персона, заведующий кафедрой
Помогите построить иерархию классов: студент, преподаватель,персона, заведующий кафедрой,...

Иерархия классов "Студент, преподаватель, персона, завкафедрой"
Помогите создать иерархию классов ; Студент,преподаватель,персона,завкафедрой; на языке C++

Создать классы студент, преподаватель, персона, завкафедрой, используя наследование
Создать указанные классы используя наследование. Перечень классов:студент, преподаватель, персона,...

Построить иерархию классов: студент, преподаватель, персона, заведующий кафедрой
Помогите построить иерархию классов: студент, преподаватель,персона, заведующий кафедрой.

4
8 / 8 / 5
Регистрация: 03.05.2014
Сообщений: 143
05.05.2014, 23:28 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
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
#include <iostream.h>
#include <string>
#include <conio.h>
 
struct Student {
        std::string name;
        unsigned group;
        unsigned progress[5];
};
 
void input (Student& s)
{
        using namespace std;
        cout << "Enter name: ";
        ws(cin);
        char name[50];
        cin.getline(name, 50, '\n');
        s.name = name;
        cout << "Enter group: ";
        cin >> s.group;
        cout << "Enter progress (five numbers): ";
        for (size_t i=0; i < 5; ++i)
                cin >> s.progress[i];
 }
 
 void insertSort (Student students[], size_t n)
 {
        for (int i=0; i < n; ++i)
        {
                Student s = students[i];
                int j;
                for (j=i-1; j >= 0 && students[j].group > s.group; --j)
                        students[j+1] = students[j];
                students[j+1] = s;
        }
 }
 
 int averageProgress (const Student& s)
 {
        int temp;
        for (int i=0; i < 5; ++i) {
                if(s.progress [i]==4)
                {
                 temp=1;
                }
        }
        if(temp==1)
        {
        for (int i=0; i < 5; ++i) {
                if(s.progress [i]==5)
                {
                 return 1;
                }
        }
        }
 
 }
 
 void print (Student& s)
 {
        using namespace std;
        cout << "name: " << s.name << endl;
        cout << "group: " << s.group << endl;
 }
 
 int main ()
 {
        const size_t N=10;
        Student students[N];
 
        for (int i=0; i < N; ++i)
                input (students[i]);
 
        insertSort (students, N);
 
        cout << "otsenki 4 and 5:\n";
        bool found = false;
        for (int i=0; i < N; ++i)
        {
                if (averageProgress(students[i])==1)
                {
                        print (students[i]);
                        found = true;
                }
        }
 
        if (!found)
                cout << "There is no good students \n";
 
        getch();
        return 0;
 }
1
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 10
05.05.2014, 23:55  [ТС] 3
После выбора команды и ввода данных , команда выводящая на экран нужную информацию ничего не печатает...т.е как будто не запоминает вводимых с клавиатуры данных, или цикл задан неправильно
Миниатюры
Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель  
0
8 / 8 / 5
Регистрация: 03.05.2014
Сообщений: 143
06.05.2014, 00:02 4
Я ж не телепат=)Ты мой код переделывал или свой допиливал?
1
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 10
06.05.2014, 00:39  [ТС] 5
Свой допиливал, завтра с вашим буду разбираться)

Добавлено через 9 минут
А Вы могли бы пояснить, что означают следующие строки:
C++
1
 ws(cin);
C++
1
std::string name;
C++
1
 cin.getline(name, 50, '\n');
C++
1
  bool found = false;
Добавлено через 5 минут
deadlinishe,
Цитата Сообщение от Синубер Посмотреть сообщение
А Вы могли бы пояснить, что означают следующие строки:
Код C++
1
ws(cin);
Код C++
1
std::string name;
Код C++
1
cin.getline(name, 50, '\n');
Код C++
1
bool found = false;
Поясните, если несложно)
0
06.05.2014, 00:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2014, 00:39
Помогаю со студенческими работами здесь

Создать абстрактный класс Stud и производные классы Студент и Преподаватель
Вот что сделал, помогите с определением возраста на момент текущей даты. Создать абстрактный класс...

Построить иерархию классов "Студент", "преподаватель", "персона", "заведующий кафедрой"
Построить иерархию классов: Студент, преподаватель, персона, заведующий кафедрой 1) Разработать...

Классы "Студент" ,"Группа" - не работает метод ввода и вывода
Тема: Классы языка С ++: группа и студент Задание 1. Создайте класс «Группа». - Данные класса...

Опишите структуры «Преподаватель» и «Студент»
Убедительно прошу помочь с решением задач: 1.Опишите структуру «Преподаватель». Поля: ФИО, стаж,...

Создание иерархии классов: студент, преподаватель, декан
Помогите пожалуйста, понять как сделать. Есть задание: создать классы, описывающие студента,...

Создать иерархию объектных типов (человек, студент, преподаватель) с методами init, show
Написать программу на языке Паскаль,которая,используя методику ООП,создает иерархию объектных...


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

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

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