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

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

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

Студворк — интернет-сервис помощи студентам
Описать структуру с именем STUDENT, содержащую следующие поля:-фамилия и инициалы;-номер группы;-успеваемость (массив из пяти элементов).Написать программу, выполняющую следующие действия: -ввод с клавиатуры данных в массив, состоящий из 10 структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы; вывод на дисплей фамилии и номеров групп для всех студентов включенных в массив если средний балл студента больше 4; если таких студентов нет вывести соответствующее сообщение.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2016, 13:05
Ответы с готовыми решениями:

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

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

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

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

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

14
27 / 27 / 16
Регистрация: 18.05.2016
Сообщений: 128
01.07.2016, 13:33 2
Гуля0203, обратите внимание на ссылки внизу страницы.
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 13:41 3
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
почему то выдает вот так..
Миниатюры
Найти студентов у которых средний балл больше 4  
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 13:47 5
Гуля0203, может русский язык не видет
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 13:53  [ТС] 6
сейчас попробую исправить
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 14:02  [ТС] 7
смотрите что получается... я ввожу данные но вторая часть задания не выполняется
Миниатюры
Найти студентов у которых средний балл больше 4  
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 14:05  [ТС] 8
записи должны быть упорядочены по возрастанию номера группы; вывод на дисплей фамилии и номеров групп для всех студентов включенных в массив если средний балл студента больше 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 9
Гуля0203, сейчас исправлю
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 15:10  [ТС] 10
Peoples, не пропадай пожалуйста)))
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
01.07.2016, 15:33 11
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  [ТС] 12
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 13
Цитата Сообщение от Гуля0203 Посмотреть сообщение
Задание для самостоятельного выполнения
Вчитайтесь еще раз в эти слова.
1
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 24
01.07.2016, 16:15  [ТС] 14
nstwf, к сожалению это проходили во время моего дикрета..поэтому я не знаю как это делается, если бы я могла то не просила. Спасибо за понимание
0
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40
03.06.2022, 17:42 15
Цитата Сообщение от 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
03.06.2022, 17:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2022, 17:42
Помогаю со студенческими работами здесь

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

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

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

Определить количество студентов, у которых средний балл превышает заданное пользователем значение
Составить программу, выводящую на экран студенческую ведомость (Ф. И. О., оценки за три экзамена,...

Вывести сведения про всех студентов, у которых средний балл ниже 70 баллов
«Студент»: фамилия; имя; отчество; пол; дата рождения (год, месяц число); номер телефона; курс;...


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

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

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