Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Синубер
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 10
05.05.2014, 22:56     Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель #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
#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 Кб, 12 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 22:56     Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель
Посмотрите здесь:

[C++] Создать класс студент и классы бюджетный студент и коммерческий студент. C++
C++ Написать программу ввода информации по сотруднику (Ф.И.О.,возраст,должность, кафедра)
C++ Задача (язык С + +). Описать тип данных «Студент», содержащий поля «Фамилия», «Группа», «Количество прогулов». Вывести фамилии всех прогульщиков второ
C++ Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах
Реализовать класс Person (персона) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
deadlinishe
 Аватар для deadlinishe
7 / 7 / 1
Регистрация: 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;
 }
Синубер
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 10
05.05.2014, 23:55  [ТС]     Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель #3
После выбора команды и ввода данных , команда выводящая на экран нужную информацию ничего не печатает...т.е как будто не запоминает вводимых с клавиатуры данных, или цикл задан неправильно
Миниатюры
Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель  
deadlinishe
 Аватар для deadlinishe
7 / 7 / 1
Регистрация: 03.05.2014
Сообщений: 143
06.05.2014, 00:02     Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель #4
Я ж не телепат=)Ты мой код переделывал или свой допиливал?
Синубер
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;
Поясните, если несложно)
Yandex
Объявления
06.05.2014, 00:39     Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель
Ответ Создать тему
Опции темы

Текущее время: 00:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru