Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Синубер
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 10
#1

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

05.05.2014, 22:56. Просмотров 785. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель (C++):

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

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

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

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

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

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

4
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;
 }
1
Синубер
0 / 0 / 0
Регистрация: 05.05.2014
Сообщений: 10
05.05.2014, 23:55  [ТС] #3
После выбора команды и ввода данных , команда выводящая на экран нужную информацию ничего не печатает...т.е как будто не запоминает вводимых с клавиатуры данных, или цикл задан неправильно
0
Миниатюры
Классы: Кафедра, Студент, Персона, Группа, Подразделение, Преподаватель  
deadlinishe
7 / 7 / 1
Регистрация: 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
Привет! Вот еще темы с ответами:

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

Класс "Студент", реализовать динамический список "Группа студентов" - C++
реализовать динамический список &quot; группа студентов&quot;. Узел: -группа -фамилия Функции списка: -добавление по алфавиту ...

Реализовать класс Person (персона) - C++
в общем, утопающий студент просит о помощи, потому как сам уже себя не успеет спасти. нужно к понедельнику сдать 5 лабораторных на с++ ...

Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах - C++
Создайте файл Студент. Занесите в отдельный файл записи из файла Студент, добавив сведения о новых студентах Вид файла студент: ...


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

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

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