Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 24.01.2020
Сообщений: 5
1

Описать класс «студенческая группа»

25.01.2020, 23:20. Показов 3313. Ответов 2

Author24 — интернет-сервис помощи студентам
Описать класс «студенческая группа».
Предусмотреть возможность работы с переменным числом студентов, поиска студента по какому-либо признаку (например,по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям.
Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
Мудрые дяденьки, посмотрите пжлт, ваши предложения и замечания ?PS. программа работает. но я не уверен что сделал по феншую, дабы начинающий заочник((

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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
#include <iostream>
//#include <stdafx.h>
#include <conio.h>
#include <stdlib.h>
#include <string>
#include <iomanip>
 
using namespace std;
 
class node
{
    string name;//имя
    string surname;//фамилия
    string date;//дата рождения
    unsigned long long num;//номер телефона
    node*next;
 
 
public:
    node()
    {
        node*head;
    }
 
 
    bool isEmpty(node *head)
    {
        if (head == NULL)
            return true;
        else
            return false;
    }
    void insertAsFirstElement(node *&head, node *&last, string surname, string name, string date, unsigned long long num)
    {
        node *temp = new node;
        temp -> name = surname;
        temp -> surname = name;
        temp -> date = date;
        temp -> num = num;
        temp -> next = NULL;
        head = temp;
        last = temp;
    }
    void insert(node *&head, node *&last, string surname,string name, string date, unsigned long long num)//функция добавлениия
    {
        if(isEmpty(head))
            insertAsFirstElement(head, last, surname, name, date, num);
        else
        {
            node*temp = new node;
            temp ->name = surname;
            temp -> surname = name;
            temp ->date = date;
            temp ->num = num;
            temp ->next = NULL;
            last ->next = temp;
            last = temp;
        }
    }
 
    void showList(node*current)//функция отображения
    {
        if (isEmpty(current))
            cout <<"The list is empty.\n";
        else
        {
            cout << left << setw(20) << "Surname";
            cout << left << setw(20) << "Forename";
            cout << right << setw(20) << "Date of Birth";
            cout << right << setw(20) << "Phone Number";
            cout <<"\n\n";
 
            while(current != NULL)
            {
                cout << left << setw(20) << current ->surname <<left << setw(20)<< current -> name << right << setw(20) << current -> date << right << setw(20)<< current ->num<<endl;
                current = current ->next;
            }
            cout <<"\n\n";
        }
    }
 
    void remove(node *&head, node *&last)//функция удаления
    {
        if (isEmpty(head))
            cout <<"The list is empty. \n";
        else if(head == last)
        {
            delete head;
            head = NULL;
            last = NULL;
        }
        else
        {
            node*temp = head;
            head = head ->next;
            delete temp;
        }
    }
 
    void sortList(node*head)//функция сортировки
    {
        node*temp2;
        node*temp3;
        string tmp, tmp1, tmp2;
        unsigned long long tmp3;
        unsigned long long num;
 
        for(temp2= head; temp2 != NULL; temp2 = temp2->next)
        {
            for(temp3 = temp2-> next; temp3 != NULL; temp3 = temp3 ->next)
            {
                if(temp2 ->surname > temp3 ->surname)
                {
                    tmp  = temp2 ->surname;
                    tmp1 = temp2 ->name;
                    tmp2 = temp2 ->date;
                    tmp3 = temp2 ->num;
                    temp2 ->surname = temp3 ->surname;
                    temp2 ->name = temp3 ->name;
                    temp2 ->date = temp3 -> date;
                    temp2 ->num  = temp3 -> num;
                    temp3 ->surname = tmp;
                    temp3 ->name = tmp1;
                    temp3 ->date = tmp2;
                    temp3 ->num  = tmp3;
                }
            }
        }
    }
 
    void searchList(node *head, string &findValue)//функция поиска
    {
        if(isEmpty(head))
            cout <<"\""<< findValue<<"\""<< " not fonud! \n\n";
        else if ((head -> surname == findValue)||(head -> name == findValue)||(head ->date == findValue))
        {
            cout <<setw(40)<<" Results for "<<"\""<< findValue<<"\""<<endl;
            cout <<"\n";
            cout << left << setw(20) << head ->surname << left << setw(20)<< head -> name <<right << setw(20) << head -> date << right << setw(20)<< head ->num<<endl;
            cout <<"\n\n";
        }
 
        else
            searchList(head ->next, findValue);
    }
 
    char menu()//Меню
    {
        char choice;
        cout <<setw(2)<<"Menu\n";
        cout <<"1. Add contact\n";
        cout <<"2. Remove an item\n";
        cout <<"3. Dispaly list\n";
        cout <<"4. Sort the list\n";
        cout <<"5. To search the list\n";
        cout <<"6. Exit\n";
 
        cin >> choice;
        return choice;
    }
};
 
int main()
{
    setlocale(LC_ALL,"Rus");
    node cCall;
    node*head = NULL;
    node*last = NULL;
 
    const int LENGTH = 12;
    char choice;
    string surname, name, poisk;
    unsigned long long num;
    string date;
 
    while(1)
    {
        choice = cCall.menu();
        switch(choice)
        {
        case'1': cout <<"\n\n";
            cout <<"Surname: ";
            cin.ignore();
            getline(cin, name);
 
            cout <<"Firstname: ";
            getline(cin, surname);
 
            cout << "Date of Birth: ";
            cin >> date;
 
            cout << "Phone Number: ";
            cin >> num;
            cout <<"\n";
            cCall.insert(head, last, surname, name, date, num);
            break;
 
        case'2': cout <<"\n\n";
            cCall.remove(head, last);
            break;
 
        case'3': cout <<"\n\n";
            cCall.showList(head);
            break;
 
        case'4': cout <<"\n\n";
            cCall.sortList(head);
            break;
 
        case'5': cout <<"\n\n";
            cout <<"Search Name: ";
            cin >> poisk;
            cout <<"\n";
            cCall.searchList(head, poisk);
            break;
        case'6': exit(0);
            break;
        }
    }
 
    _getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2020, 23:20
Ответы с готовыми решениями:

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

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

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

Класс не создается группа студентов
Всем привет! падает программа что я не так сделал? два класса группа студентов и сам студент я...

2
428 / 240 / 142
Регистрация: 21.02.2011
Сообщений: 4,664
26.01.2020, 14:40 2
Цитата Сообщение от Herr_Deutsch Посмотреть сообщение
Описать класс «студенческая группа»
а что мешает просто погуглить? на этом форуме данная задача решалась не один раз.
0
1 / 1 / 0
Регистрация: 24.01.2020
Сообщений: 5
26.01.2020, 17:34  [ТС] 3
Цитата Сообщение от andreyfreelans Посмотреть сообщение
а что мешает просто погуглить? на этом форуме данная задача решалась не один раз.
то что все темы на этом форуме не решают полноценно мою задачи да и половина не работает!
1
26.01.2020, 17:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2020, 17:34
Помогаю со студенческими работами здесь

Создать класс “Специальность ”, состоящей из класса ” Группа”
Создать класс “Специальность ”, состоящей из класса ” Группа”. Класс “Специальность”: название...

Дискретная математика. Класс-Группа:множество+бинарная операция
Здравствуйте, помогите пожалуйста. Начали изучать дискретку и как-то тяжело в начале это понять....

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.


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

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