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

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

05.05.2014, 22:56. Просмотров 884. Ответов 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
#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 неправильное обращение к объектам.
0
Вложения
Тип файла: rar klasy.h.rar (145.3 Кб, 14 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 22:56
Ответы с готовыми решениями:

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

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

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

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

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

4
deadlinishe
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
Миниатюры
Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель  
deadlinishe
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2014, 00:39

Задача (язык С + +). Описать тип данных «Студент», содержащий поля «Фамилия», «Группа», «Количество прогулов». Вывести фамилии всех прогульщиков второ
Приветик))) Если не трудно, помогите плиз решыть несколько задач по С++, а то...

Создать структуру "Студент": Ф.И.О. домашний адрес, группа, рейтинг. Организовать ввод, вывод, поиск
Помогите, пожалуйста) На турбо С++. совсем не разбираюсь:help:

Создать базовый класс «Учащийся» и производные классы «Школьник» и «Студент»
Создать базовый класс «Учащийся» и производные классы «Школьник» и «Студент»....


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

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

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