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

Использование структур для поиск студентов,с определёнными оценками

13.11.2018, 18:20. Показов 5498. Ответов 8

Author24 — интернет-сервис помощи студентам
Имеется информация по итогам экзаменов в институте всего в
списке N человек. По каждому из студентов имеются следующие
сведения: фамилия, оценка по математике, оценка по информатике и
оценка по физике. Ввести информацию об экзаменах и напечатать
количество и фамилии студентов, которые получили на экзамене две
пятерки и одну четверку.

Написать программу на c++.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2018, 18:20
Ответы с готовыми решениями:

Считать из файла список студентов с определенными оценками
У меня есть файл где написаны Ф.И.О студентов и оценка за екзамен, мне нужно что бы выводило...

Список студентов,с оценками
Здравствуйте многоуважаемые смотрители данного форума и этой просьбы в частноти. Прошу помочь в...

Коллекция студентов с предметами и оценками
Здравствуйте, просьба помочь в решении задачи имеется класс студентов с массивами предметов и...

Запрос, выбор студентов с определенным оценками
Помогите сделать запрос, что бы вывести всех студентов у которых все экзамены/зачеты выше 60...

8
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
13.11.2018, 19:22 2
kuborga, уточните, пожалуйста, могут ли фамилии повторяться.
1
0 / 0 / 0
Регистрация: 08.11.2018
Сообщений: 52
13.11.2018, 19:26  [ТС] 3
Нет,фамилии все разные
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
13.11.2018, 19:44 4
Лучший ответ Сообщение было отмечено kuborga как решение

Решение

kuborga, вот:

Пример входных данных (файл input.txt):

C++
1
2
3
4
5
6
7
8
Суворов 2 5 3
Кравченко 5 5 4
Савельев 4 4 4
Трясило 5 4 5
Скляренко 3 4 4
Лукашенко 5 5 5
Кузьмин 3 4 4
Шарапов 4 5 5
Код программы:

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
#include <iostream>
#include <string> 
#include <fstream> 
#include <windows.h>
 
    using namespace std;
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    ifstream fin("input.txt");
    int n, count;
    struct Student {
        char name[20];
        int mark[3]; //Число оценок студента (= размеру массива)
    };
    if (fin) {
        cout << "Enter the number of students in the list:\n\n";
        cout << "n = ";
        cin >> n;
        Student* obj = new Student[n];
        cout << "\nOutput of the program:\n\n";
        for (int i = 0; i < n; i++) {
            fin >> obj[i].name //Считываем данные структуры
                >> obj[i].mark[0] 
                >> obj[i].mark[1] 
                >> obj[i].mark[2];
            if ((obj[i].mark[0] == 5 && obj[i].mark[1] == 5 && obj[i].mark[2] == 4) ||
                (obj[i].mark[0] == 4 && obj[i].mark[1] == 5 && obj[i].mark[2] == 5) ||
                (obj[i].mark[0] == 5 && obj[i].mark[1] == 4 && obj[i].mark[2] == 5)) {
                count++;
                cout << count << ". " << obj[i].name << "\n";
            }
        }
        delete [] obj;
        fin.close();
    } else {
        cout << "File input.txt was not found!\n";
    }
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 08.11.2018
Сообщений: 52
13.11.2018, 19:48  [ТС] 5
А как сделать так чтобы ввод фамилий студентов и и оценок был возможен только с клавиатуры?
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
13.11.2018, 20:00 6
Лучший ответ Сообщение было отмечено kuborga как решение

Решение

Цитата Сообщение от kuborga Посмотреть сообщение
А как сделать так чтобы ввод фамилий студентов и и оценок был возможен только с клавиатуры?
Тогда будет так:

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
#include <iostream> 
#include <string> 
#include <windows.h>
 
    using namespace std;
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int n, count = 0;
    struct Student {
        char name[20];
        int mark[3]; //Число оценок студента (= размеру массива)
    };
    cout << "Enter the number of students in the list:\n\n";
    cout << "n = ";
    cin >> n;
    Student* obj = new Student[n];
    cout << "\nEnter some data:\n\n";
    for (int i = 0; i < n; i++) {
        cout << i + 1 << ": ";
        cin >> obj[i].name 
            >> obj[i].mark[0] 
            >> obj[i].mark[1] 
            >> obj[i].mark[2];
    }
    cout << "\nOutput of the program:\n\n";
    for (int i = 0; i < n; i++) {
        if ((obj[i].mark[0] == 5 && obj[i].mark[1] == 5 && obj[i].mark[2] == 4) ||
            (obj[i].mark[0] == 4 && obj[i].mark[1] == 5 && obj[i].mark[2] == 5) ||
            (obj[i].mark[0] == 5 && obj[i].mark[1] == 4 && obj[i].mark[2] == 5)) {
            count++;
            cout << count << ". " << obj[i].name << "\n";
        }
    }
    delete [] obj;
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 08.11.2018
Сообщений: 52
13.11.2018, 20:10  [ТС] 7
Вау,а так быстро писать проги,это вообще законно)?
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
13.11.2018, 20:21 8
kuborga, я о таком законе ничего не знаю. По крайней мере, в правилах данного форума об этом ничего не сказано.
0
0 / 0 / 0
Регистрация: 05.12.2021
Сообщений: 30
06.06.2022, 15:56 9
Можете пожалуйста помочь с следующим заданием?
Есть информация по итогам экзаменов в институте всего в списке N человек. По каждому из студентов есть сведения: фамилия, оценка по математике, оценка по информатике и оценка по физике. Ввести информацию об экзаменах, вычислить и распечатать средний балл по каждой дисциплине.
0
06.06.2022, 15:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2022, 15:56
Помогаю со студенческими работами здесь

Дана запись, состоящая из ведомости 3-х студентов с их оценками
Дана запись, состоящая из ведомости 3-х студентов с их оценками (порядковый номер, Ф.И.О. и три...

Отсортировать по фамилиям список группы студентов с 4 оценками
И снова доброго времени суток, товарищи форумчане! Прошу вашей скорейшей помощи с выполнением...

Обработка файла с оценками студентов, нужны окмментарии к программе
Нужно описать каждую строку программы, пошагово. Type ...

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


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

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