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

Класс "Студенческая группа"

28.10.2018, 17:03. Показов 1091. Ответов 0

Ребят,помогите пожалуйста исправить ошибки в задаче!!!
Работаю в си++ совсем недавно,еще мало чего понимаю,очень нужна ваша помощь!
Пожалуйста,отзовитесь на помощь!
ЗАДАЧА:
Описать класс "студенческая группа".Предусмотреть возможность работы с переменным числом студентов,поиска студента по какому-либо признаку(например,по фамилии,дате рождения или номеру телефона),добавление и удаление записей,сортировки по различным полям.
Написать программу , демонстрирующую работу с этим классом.Программа должна содержать меню,позволяющее осуществить проверку всех методов класса.
students.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "string"
using namespace std;
class students 
{
private :
    string surname;
    string name;
    string number;
    string data;
public :
    ~students();
    students();
    students(string surname , string name , string number , string data);
    void static prosmotr (int ,students[]);
    void static search_surname(string,students[],int);
    void static search_number(string,students[],int);
    void static sort_surname(students[],int);
    void static sort_name (students[],int);
};
students.cpp:
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
#include "stdafx.h"
#include "students.h"
#include "iostream"
#include "string"
using namespace std;
students :: students (string surname1 ,string  name1 ,string number1 , string data1)
{
    surname=surname1;
    name=name1;
    number=number1;
    data=data1;
}
 void  students:: prosmotr(int n, students a[])
{
    if(n!=0)
    {
        for(int i=0;i<n;i++)
        {
            cout << i+1 << ". " << a[i].surname << " " << a[i].name << " " << a[i].number << " " << a[i].data << endl;
        }
    }
    else cout << "Студенческая группа пуста"<< endl;
}
void students :: search_surname(string surname,students a[],int n)
{
    if (n!=0)
    {
    for(int i=0;i<n;i++)
    {
    if (a[i].surname==surname) 
        cout <<"Запись "<< i+1<<endl;
    }
    }
    else cout <<"Студенческая группа пуста"<<endl;
}
void students :: search_number(string number , students a[] , int n)
{
    if (n!=0)
    {
    for(int i=0;i<n;i++)
    {
    if (a[i].number==number) 
        cout <<"Запись "<< i+1<<endl;
    }
    }
    else cout << "Студенческая группа пуста"<<endl;
}void students :: sort_surname(students a[],int n)
{
if (n!=0)
{
    for(int i=0;i<n;i++)
        for(int j=0;j<n-i-1;j++)
        {
            if (a[j].surname>a[j+1].surname)
            {
                string temp=a[j].surname;
                a[j].surname=a[j+1].surname;
                a[j+1].surname=temp;
            }
        }
        for(int i=0;i<n;i++)
    cout<< "i+1. "<< a[i].surname<<" "<<a[i].name<<" "<<a[i].number<<" " << a[i].data<<endl;
}
else cout <<"Студенческая группа пуста"<<endl;
 
}
void students :: sort_name(students a[],int n)
{
if (n!=0)
{
    for(int i=0;i<n;i++)
        for(int j=0;j<n-i-1;j++)
        {
            if (a[j].name>a[j+1].name)
            {
                string temp=a[j].name;
                a[j].name=a[j+1].name;
                a[j+1].name=temp;
            }
        }
        for(int i=0;i<n;i++)
    cout<< "i+1. "<< a[i].surname<< " "<<a[i].name<< " " <<a[i].number << " " << a[i].data<<endl;
}
else cout <<"Студенческая группа пуста"<<endl;
 
}
main.cpp:
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
#include "stdafx.h"
#include "iostream"
#include "students.h"
#include "string"
#include "locale.h"
using namespace std;
int menu()
{
 
    int k;
    do
    {
        cout << "1.Показать студенческую группу" << endl;
    cout << "2.Поиск студента по фамилии"<<endl;
    cout << "3.Поиск студента по номеру телефона" << endl;
    cout << "4.Добавить студента" << endl;
    cout << "5.Удаление студента" << endl;
    cout << "6.Сортировка по фамилии" << endl;
    cout << "7.Сорировка по имени" << endl;
    cout << "8.Закрыть" << endl;
    cin >> k ;
    cout << endl;
    } while (!((k>=1) & (k<=8)));
    return (k);
}
void main()
{
        setlocale(LC_ALL, "Russian");
int choice;
int n;
cout << "Введите кол-во студентов в группе: "<<endl;
cin >> n;
string *surname = new string[n];
string *name=new string[n];
string *number=new string[n];
string *data=new string[n];
students *a=new students[n];
for(int i=0;i<n;i++)
{
    cout << "Введите фамилию " << i+1 << "студента"<<endl;
    cin >> surname[i];
    cout << endl;
    cout << "Введите имя " << i+1 << "студента" << endl;
    cin >> name[i];
    cout << endl;
    cout << "Введите номер " << i+1 << "студента" << endl;
    cin >> number[i];
    cout << endl;
    cout << "Введите дату рождения " << i+1 << "студента" << endl;
    cin >> data[i];
    cout << endl;
    a[i] = new students (surname[i],name[i],number[i],data[i]);
}
for (;;)
        {
            choice = menu();
            switch (choice)
            {
            case 1:
                students.prosmotr(n,a);
                break;
            case 2:
                {
                string temp;
                cout<<"Введите фамилию для поиска"<<endl;
                cin >> temp;
                cout<<endl;
                students.search_surname(temp,a,n);
                }
                break;
            case 3:
                {
                string temp;
                cout<<"Введите номер телефона для поиска"<<endl;
                cin >> temp;
                cout << endl;
                students.search_number(temp,a,n);
                }
                ;
                break;
            case 4:
                {
                    n=n+1;
                    students *new_a= new students[n];
                    for(int i=0;i<n-1;i++)
                    new_a[i]=a[i];
                    cout << "Введите фамилию " << n << "студента"<<endl;
    cin >> surname[n-1];
    cout << endl;
    cout << "Введите имя " << n << "студента" << endl;
    cin >> name[n-1];
    cout << endl;
    cout << "Введите номер " << n << "студента" << endl;
    cin >> number[n-1];
    cout << endl;
    cout << "Введите дату рождения " << n << "студента" << endl;
    cin >> data[n-1];
    cout << endl;
                    new_a[n-1]=new students(surname[n-1],name[n-1],number[n-1],data[n-1]);
                    delete[] a;
                    students *a=new students[n];
                    for(int i=0;i<n;i++)
                        a[i]=new_a[i];
                    delete[] new_a;
                }
                break;
            case 5:
                {
                {if(n!=0)
                {
                    int k;
                    cout <<"Введите номер студента,которого нужно исключить "<< endl;
                    cin >> k;
                    cout << endl;
                    delete a[k-1];
                    for(int i=k;i<n-1;i++)
            a[i]=a[i+1];
n=n-1;
                    students *new_a= new students[n];
                    for(int i=0;i<n-1;i++)
                    new_a[i]=a[i];
                    delete[] a;
                    students *a=new students[n];
                    for(int i=0;i<n;i++)
                        a[i]=new_a[i];
                    delete[] new_a;
                }
    else cout<<"Студенческая группа пуста"<<endl;
                }
                }
                break;
            case 6:
                students.sort_surname(a,n);
                break;
            case 7:
                students.sort_name(a,n);
                break;
            case 8:
                exit(1);
            }
}
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2018, 17:03
Ответы с готовыми решениями:

Разработать класс "студенческая группа". Предусмотреть возможность работы с переменным числом студентов
Помогите доделать, пожалуйста. #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;process.h&gt;...

Описать класс "студенческая группа"
Описать класс &quot;студенческая группа&quot;. Предусмотреть возможность работы с переменным числом...

Описание класса "Студенческая группа"
Добрый вечер! Нужна помощь в составлении программы. Условие: Описать класс &quot;студенческая группа&quot;....

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2018, 17:03
Помогаю со студенческими работами здесь

Наследование: "БГТУ", "Факультет", "Группа", "Подгруппа"
Определить иерархию классов (в соответствии с вариантом – выделить базовый и производные)....

Создать класс "Группа студентов"
Привет.Написал класс Студент, в котором можно создавать студента(имя, фамилия, оценки и т.п ), ну и...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько...

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


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

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

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