2 / 1 / 1
Регистрация: 01.12.2021
Сообщений: 27
1

Изменить данные в массиве структур

25.03.2022, 19:04. Показов 192. Ответов 0

всем привет. стоолкнулся с проблемой, не могу понять, как через switch можно изменить массив струкутр.
В задаче нужно вывести студентов которым нужна общага. вывести всех студентов отсортировав их по группам и факультетам.(эти два пункта сделаны и нормально работают)
и вот последний пункт задачит не могу понять как сделать:
последний пункт задачи говорит, что нужно позволить пользователю редактировать одного из учащихся университета, вызывая его данные по ФИО и номеру группы.
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
#include <iostream>
#include <windows.h>
#include <map>
#include <string>
#include <algorithm>
using namespace std;
 
struct Stud
{
    char name[200];
    string faculty;
    int group;
    int year_of_birth;
    char language[50];
    char dormitory[50];
};
// сортировка пузырьком 
void Sort(Stud** q, int n)
{
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n - i - 1; j++)
            if (q[j]->group > q[j + 1]->group)
            {
                Stud* temp = q[j];
                q[j] = q[j + 1];
                q[j + 1] = temp;
            }
 
}
 
int main()
{
    SetConsoleCP(1251);// восприятие русс яз в консоли
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "rus");
    int n;
    cout << "entr n" << endl;
    cin >> n;
    Stud* p = new Stud[n];
    for (int i = 0; i < n; i++)
    {
        cout << "name" << endl;
        cin >> p[i].name;
        cout << "faculty " << endl;
        cin >> p[i].faculty;
        cout << "group" << endl;
        cin >> p[i].group;
        cout << "years" << endl;
        cin >> p[i].year_of_birth;
        cout << "lenguage" << endl;
        cin >> p[i].language;
        cout << "dormitory" << endl;
        cin >> p[i].dormitory;
 
    }
    // данные по общаге 
    char b[50] = "да";
    for (int j = 0; j < n; j++)
    {
        if (strcmp(b, p[j].dormitory) == 0) {
            for (int i = 0; i < strlen(p[j].name); i++)
                cout << p[j].name[i];
            cout << " " << "общага нужна " << endl;
        }
        else {
            cout << " " << endl;
        }
 
    }
 
    Stud** q = new Stud * [n];
    for (int i = 0; i < n; i++)
 
        q[i] = &p[i];
 
    // сортировка по группам и факультетам 
    Sort(q, n);
    for (int i = 0; i < n; i++)
    {
        cout << q[i]->name << " " << q[i]->faculty << " " << q[i]->group << endl;
    }
 
    map <int, int> mp;
    for (int i = 0; i < n; i++)
    {
        mp[q[i]->group]++;
    }
    for (auto x : mp)
        cout << x.first << " -> " << x.second << endl;
 
 
    // изменение данных структуры 
    int m;
    cout << "1 - не менять данные студентов   " << '\n' << "2 - изменить данные студента" << endl;
    cin >> m;
    switch (m)
    {
    case 1:
    {
        cout << "работа закончена, спасибо за труды " << endl;
        break;
    }
 
    case 2:
    {
 
 
    }
 
 
 
 
 
    default:
        break;
    }
 
 
 
 
 
 
    delete[] p;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2022, 19:04
Ответы с готовыми решениями:

Изменить данные в массиве
Пример: const CASE = 10; char = {'Andrey', 'Bohdan', 'Anna'} Как перезаписать уже...

Оптимально изменить данные в массиве
Здравствуйте! Есть bool заполненный данными. Мне нужно, его проверить и если все ячейки в нем true,...

Создать структуру в одномерном массиве. После изменить данные и вывести на экран
В одномерном массиве, элементами которого являются записи со следующей структурой: Фамилия, имя,...

Создать структуру в одномерном массиве, изменить данные и вывести на экран. Исправить ошибку в коде
В общем, задание следующее: &quot;В одномерном массиве, элементами которого являются записи со следующей...

Динамический массив структур в другом массиве структур
Можно ли реализовать динамический (или статический) массив структур в другом массиве структур?...

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

Массив структур в массиве структур
Всем добрый день. Делаю менюшку для управления и терзаю Arduino IDE слегка подвис со следующей...

Ввести данные в файл, и записать данные с файла в массив структур
Ввести все данные в файл, и записать данные с файла в структуру. Помогите ввести и вывести...

Составить массив структур состоящий из имени и цены,по введенному имени изменить цену,вывести обновленный массив структур
составить массив структур состоящий из имени и цены,по введенному имени изменить цену,вывести...

Значения, которые есть в первом массиве структур, и которых нет во втором массиве, скопировать в третий массив
Объявить тип структуры, содержащий сведения о фамилии и адреса людей. Ввести два массива таких...

Найти среднее в массиве, который в массиве структур
Всем привет. Нужно посчитать среднее для каждого студента, только почему-то в итоге у всех одно и...


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

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

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