Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/411: Рейтинг темы: голосов - 411, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24

Найти студентов у которых средний балл больше 4

01.07.2016, 13:05. Показов 75252. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать структуру с именем STUDENT, содержащую следующие поля:-фамилия и инициалы;-номер группы;-успеваемость (массив из пяти элементов).Написать программу, выполняющую следующие действия: -ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы; вывод на дисплей фамилии и номеров групп для всех студентов включенных в массив если средний балл студента больше 4; если таких студентов нет вывести соответствующее сообщение.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2016, 13:05
Ответы с готовыми решениями:

Найти студентов имеющих средний балл больше заданного
Доброго времени суток! Необходимо решить задание 2мя способами. С помощью классов и с помощью switch Вывести фамилии, имена, отчества...

Структуры "Студент", выбрать студентов средний балл которых больше заданного
Написать код: Описать структуру с именем STUD, содержащую поля: NAME – фамилия и инициалы; GROUP – группа; SES – оценки по пяти предметам...

7.Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Если средний балл 4 и выше, то указать размер стипендии. Если средний
#include <stdio.h> #include <string.h> #include <clocale> int main() { setlocale(0,"Rus"); static char res; int...

14
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
01.07.2016, 13:33
Гуля0203, обратите внимание на ссылки внизу страницы.
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 13:41
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
#include <iostream>
#include <string>
using namespace std;
int main() {
    setlocale(LC_ALL,"rus");
    struct student {
        string fio;
        int group;
        int scor[5];
    };
    cout<<"Введите количество студентов"<<endl;
    int n;
    cin>>n;
    student *st=new student [n];
    for (int i=0; i!=n; i++) {
        cout<<"Введите ФИО"<<endl;
        cin>>st[i].fio;
        cout<<"Введите номер группы"<<endl;
        cin>>st[i].group;
        cout<<"Успеваемость"<<endl;
        int j=0;
        do {
            cout<<"Оценка"<<endl;
            cin>>st[i].scor[j];
            j++;
        } while(j!=5);
        cout<<endl;
    }
    cout<<endl;
    // сортируем по возрастанию групп
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n - i; i++)
            if (st[j].group > st[j + 1].group)
                swap(st[j].group, st[j + 1].group);
    // выводим студентов по возрастанию групп
    for (int i=0; i!=n; i++) {
 
        cout<<st[i].fio<<endl;
        cout<<st[i].group<<endl;
        for (int j=0; j!=5; j++) {
            cout<<st[i].scor[j]<<" ";
        }
        cout<<endl;
 
    }
    cout<<endl;
    int sum=0;
    int ind;
    int f=0;
    cout<<"Студенты средний бал >4"<<endl;
    for (int i=0; i!=n; i++)
        if (((st[i].scor[0]+st[i].scor[1]+st[i].scor[2]+st[i].scor[3]+st[i].scor[4])/5)>4) {
            f++;
            ind=i;
        }
    if (f>0) {
        cout<<st[ind].fio<<endl;
        cout<<st[ind].group<<endl;
    } else cout<<"Таких нет"<<endl;
 
system("pause");
    return 0;
}
Добавлено через 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
#include <iostream>
#include <string>
using namespace std;
int main() {
    setlocale(LC_ALL,"rus");
    struct student {
        string fio;
        int group;
        int scor[5];
    };
    cout<<"Введите количество студентов"<<endl;
    int n;
    cin>>n;
    student *st=new student [n];
    for (int i=0; i!=n; i++) {
        cout<<"Введите ФИО"<<endl;
        cin>>st[i].fio;
        cout<<"Введите номер группы"<<endl;
        cin>>st[i].group;
        cout<<"Успеваемость"<<endl;
        int j=0;
        do {
            cout<<"Оценка"<<endl;
            cin>>st[i].scor[j];
            j++;
        } while(j!=5);
        cout<<endl;
    }
    cout<<endl;
    // сортируем по возрастанию групп
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n - i; i++)
            if (st[j].group > st[j + 1].group)
                swap(st[j].group, st[j + 1].group);
    // выводим студентов по возрастанию групп
    for (int i=0; i!=n; i++) {
 
        cout<<st[i].fio<<endl;
        cout<<st[i].group<<endl;
        for (int j=0; j!=5; j++) {
            cout<<st[i].scor[j]<<" ";
        }
        cout<<endl;
 
    }
    cout<<endl;
    int sum=0;
    int ind;
    int f=0;
    cout<<"Студенты средний бал >4"<<endl;
    for (int i=0; i!=n; i++){
        if (((st[i].scor[0]+st[i].scor[1]+st[i].scor[2]+st[i].scor[3]+st[i].scor[4])/5)>4) {
            f++;
            ind=i;
        }
    if (f>0) {
        cout<<st[ind].fio<<endl;
        cout<<st[ind].group<<endl;
    } else cout<<"Таких нет"<<endl;}
delete[]st;
system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 13:46  [ТС]
почему то выдает вот так..
Миниатюры
Найти студентов у которых средний балл больше 4  
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 13:47
Гуля0203, может русский язык не видет
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 13:53  [ТС]
сейчас попробую исправить
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 14:02  [ТС]
смотрите что получается... я ввожу данные но вторая часть задания не выполняется
Миниатюры
Найти студентов у которых средний балл больше 4  
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 14:05  [ТС]
записи должны быть упорядочены по возрастанию номера группы; вывод на дисплей фамилии и номеров групп для всех студентов включенных в массив если средний балл студента больше 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
#include <iostream>
#include <string>
using namespace std;
int main() {
    setlocale(LC_ALL,"rus");
    struct student {
        string fio;
        int group;
        int scor[5];
    };
    cout<<"kol-vo studentov"<<endl;
    int n;
    cin>>n;
    student *st=new student [n];
    for (int i=0; i!=n; i++) {
        cout<<"FIO studentov"<<endl;
        cin>>st[i].fio;
        cout<<"nomer gruppy"<<endl;
        cin>>st[i].group;
        cout<<"yspevaemost"<<endl;
        int j=0;
        do {
            cout<<"ocenka"<<endl;
            cin>>st[i].scor[j];
            j++;
        } while(j!=5);
        cout<<endl;
    }
    cout<<endl;
    // сортируем по возрастанию групп
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n - i; i++)
            if (st[j].group > st[j + 1].group)
                swap(st[j].group, st[j + 1].group);
    // выводим студентов по возрастанию групп
    for (int i=0; i!=n; i++) {
 
        cout<<st[i].fio<<endl;
        cout<<st[i].group<<endl;
        for (int j=0; j!=5; j++) {
            cout<<st[i].scor[j]<<" ";
        }
        cout<<endl;
 
    }
    cout<<endl;
    int sum=0;
    int ind;
    int f=0;
    cout<<"studenty sred bal >4"<<endl;
    for (int i=0; i!=n; i++){
        if (((st[i].scor[0]+st[i].scor[1]+st[i].scor[2]+st[i].scor[3]+st[i].scor[4])/5)>4) {
            f++;
            ind=i;
        }
    if (f>0) {
        cout<<st[ind].fio<<endl;
        cout<<st[ind].group<<endl;
    } else cout<<"takih net"<<endl;}
delete[]st;
system("pause");
    return 0;
}
Добавлено через 2 минуты
вернее можно ли вывести это в человеческий вид пожаааалуйста
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 14:07
Гуля0203, сейчас исправлю
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 15:10  [ТС]
Peoples, не пропадай пожалуйста)))
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 15:33
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
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
struct student {
    string fio;
    int group;
    int scor[5];
};
 
 
void Sort(student *studs, int &len) {
    for(int i = 0; i < len - 1; i++) {
        for(int j = i + 1; j < len; j++) {
            if (studs[i].group>studs[j].group) {
                student buf = studs[i];
                studs[i] = studs[j];
                studs[j] = buf;
            }
        }
    }
}
double avg(student st) {
    double sum=0;
    for (int i=0; i<5; i++) {
        sum+=st.scor[i];
    }
    return sum/5;
}
int main() {
    setlocale(LC_ALL,"rus");
    cout<<"Введите количество студентов"<<endl;
    int n;
    cin>>n;
    student *st=new student [n];
    for (int i=0; i!=n; i++) {
        cout<<"Введите ФИО"<<endl;
        cin>>st[i].fio;
        cout<<"Введите номер группы"<<endl;
        cin>>st[i].group;
        cout<<"Успеваемость"<<endl;
        int j=0;
        do {
            cout<<"Оценка"<<endl;
            cin>>st[i].scor[j];
            j++;
        } while(j!=5);
        cout<<endl;
    }
    cout<<endl;
    Sort (st,n);
    // выводим студентов по возрастанию групп
    for (int i=0; i!=n; i++) {
 
        cout<<st[i].fio<<endl;
        cout<<st[i].group<<endl;
        for (int j=0; j!=5; j++) {
            cout<<st[i].scor[j]<<" ";
        }
        cout<<endl;
 
    }
    cout<<endl;
    int sum=0;
    int ind;
    int f=0;
    cout<<"Студенты средний бал >4"<<endl;
    for (int i=0; i!=n; i++)
        if (avg(st[i])>4) {
            f++;
            ind=i;
            cout<<st[ind].fio<<endl;
            cout<<st[ind].group<<endl;
        }
    if (f==0) {
        cout<<"No"<<endl;
    }
    delete[]st;
    system("pause");
    return 0;
}
2
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 15:43  [ТС]
Peoples, Спасибо больщущеееееееемне !!!!!! честное слово неудобно конечно...
это наверное не сможете да?
Задание для самостоятельного выполнения
Составить программу, обеспечивающую формирование данных из задания 5 в виде списка. Реализовать следующие операции работы со списком в виде меню:
Меню:
1.Добавление записи (подменю: 1.1. в начало списка, 1.2.в конец списка, 1.3.после первой записи, удовлетворяющей некоторому условию (придумать самостоятельно))
2.Удаление записи (по значению текстового поля, вводимого с клавиатуры).
3. Поиск записи (подменю: 3.1.По полю1, 3.2. По полю 2 и т.д.)
4.Корректировка сведений (изменить значения любого поля для записей, удовлетворяющих некоторому условию – придумать самостоятельно).
5.Вывод всех данных на экран.
Каждый пункт меню реализовать в виде функции. Выполнить задание на расчет итоговых функций из задачи 5 (подсчет средних значений, количества записей и т.п.).






задание 5

Описать структуру с именем STUDENT, содержащую следующие поля:-фамилия и инициалы;-номер группы;-успеваемость (массив из пяти элементов).Написать программу, выполняющую следующие действия: -ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы; вывод на дисплей фамилии и номеров групп для всех студентов включенных в массив если средний балл студента больше 4; если таких студентов нет вывести соответствующее сообщение.
0
92 / 81 / 57
Регистрация: 19.02.2016
Сообщений: 336
01.07.2016, 16:11
Цитата Сообщение от Гуля0203 Посмотреть сообщение
Задание для самостоятельного выполнения
Вчитайтесь еще раз в эти слова.
1
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 16:15  [ТС]
nstwf, к сожалению это проходили во время моего дикрета..поэтому я не знаю как это делается, если бы я могла то не просила. Спасибо за понимание
0
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40
03.06.2022, 17:42
Цитата Сообщение от Peoples Посмотреть сообщение
ouble avg(student st) {
    double sum=0;
    for (int i=0; i<5; i++) {
        sum+=st.scor[i];
    }
    return sum/5;
Добрый вечер. тема старая понимаю, но для меня актуальна сейчас.

как можно вывести информацию о данном ученике с его оценками, отсортированными в порядке возрастания?

Оценки у меня идут в 100 больной системе. Например, 87, 69, 90, 89
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2022, 17:42
Помогаю со студенческими работами здесь

Вычислить средний балл в каждой группе студентов и определить, какая группа имеет наибольший средний балл
две группы студентов (1-ая -13 человек, 2-ая - 8 человек) сдают экзамен по информатике. Написать программу, вычисляющую, средний балл в...

Посчитать средний бал группы и вывести список студентов, у которых средний балл выше среднего балла группы
Составить список студентов, в который входит 5 человек. Для каждого студента ввести фамилию, год рождения, курс, последние 6 оценок за...

Составить список студентов у которых средний балл меньше 3
Помогите пожалуйста с программой. Нужно составить список студентов у которых средний бал меньше 3. Нужно именно поработать со списками. ...

По логике должен вывести список студентов имеющих средний балл, больше чем 4,5. но не работает
Не работаеть функция считывающие средний балл #include &lt;iomanip&gt; #include &quot;iostream&quot; #include &quot;fstream&quot; ...

Вычислить средний балл группы и распечатать список студентов, имеющих средний балл, равный среднему баллу группы
В задаче используется файл STUDENT.DAT, в котором записана информация о студентах в следующем формате: фамилия (строка до 12 символов), имя...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru