С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rostik123
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 22
#1

Определить двух студентов с наивысшим средним баллом. - C++

26.11.2011, 18:21. Просмотров 600. Ответов 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
#include    <iostream>
#include    <fstream>
#include    <conio.h>
#include    <string.h>
#include    <stdio.h>
using   namespace std;
ifstream file1("student.txt");
    char str[200];
 
int main ()
{
 
    const   int N = 5;
struct student{
 
    char surname[50];
    char name[50];
    int mark;
};
 
student PI1[N];
 
while (!file1.eof())
{  
 
    file1.getline(str,  sizeof(str));   
    cout<<str<<endl;
 
    }
 
    int max = 0, indexOfMax = -1;
for(int i = 0; i < N; i++){
    if(PI1[i].mark > max) { 
        
        max = PI1[i].mark; 
        indexOfMax = i;
 
        }
    }
cout << "A sudent with the highest mark " << PI1[indexOfMax].mark;  
    _getch();
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 18:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить двух студентов с наивысшим средним баллом. (C++):

В группе студентов определи средний балл каждого за последнюю сессию, распечатать Ф.И.О. студентов со средним баллом не меньше 4, остальных рассор - C++
Пожалуйста помогите с программой ,очень необходима! С обязательным применением функций, исходные данные или результат или и то и другое...

Структуры в С++ и вывод студентов со средним баллом больше 7. Исправить код - C++
Помогите с заданием, кто понимает. Составить программу формирования файла, содержащего Ведомость студентов, сдававших сессию, содержит...

Классы. Найти студентов академической группы со средним баллом более 75 баллов - C++
Всем привет! Маю вот такую задачу. Создать класс TStudent в котором предусмотреть: атрибуты имя , фамилия , группа , массив оценок за...

Вывести список студентов с их оценками за разные предметы, со средним баллом студента - C++
ПОМОГИТЕ!! СРОЧНО! нужно написать список студентов с их оценками за разные предметы, со средним баллом студента! используя map и...

Распечатать список студентов со средним баллом выше общего среднего балла - C++
Вычислить общий средний балл всех студентов и распечатать список студентов со средним баллом выше общего среднего балла.

Класс "Студент", найти студентов со средним баллом больше заданного - C++
Вводится база из 7 студентов(Ф И О, средний бал аттестата) – выводится на экран ср. бал больше 4. помогите с решением, все, на что...

4
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
26.11.2011, 18:56 #2
давай сделаем так, я написал программу в которой ты сперва должен ввести число студентов, затем ввести имя, фамилия и оценку, затем это программа тебе выводить имя, фамилия и оценку двух лучших студентов.

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
#include <iostream>
#include <string>
using namespace std;
 
struct Student{
    string name;
    string surn;
    double grade;
};
 
int main()
{
    int n;
    cin >> n;
 
    Student *student = new Student[n];
 
    for (int i=0; i<n; i++)
    {
        cin >> student[i].name >> student[i].surn >> student[i].grade;
    }
 
    for (int i=0; i<n-1; i++)
    {
        for (int j=i+1; j<n; j++)
        {
            if (student[i].grade < student[j].grade)
            {
                swap(student[i].grade, student[j].grade);
                swap(student[i].name, student[j].name);
                swap(student[i].surn, student[j].surn);
            }
        }
    }
 
    for (int i=0; i<2; i++)
    {
        cout << student[i].name << " " << student[i].surn << " " << student[i].grade << endl;
    }
}
1
rostik123
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 22
26.11.2011, 19:23  [ТС] #3
спасибо, я так знаю делать, но мне нужно с текстового файла считать ...
0
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
26.11.2011, 19:43 #4
а имя, фамилия и оценки должны быть в одном текстовом файле, или можно их разбить на 3?
0
rostik123
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 22
26.11.2011, 22:11  [ТС] #5
они должны быть в одном текстовом файле ...

Добавлено через 2 часа 4 минуты
можете показать и разбитую на 3, а я уже переделаю ....
0
26.11.2011, 22:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2011, 22:11
Привет! Вот еще темы с ответами:

Структура "Студент". Вычислить средний балл группы и распечатать список студентов с низким средним баллом - C++
Ввести сведения о 8 студентах:фамилия, год рождения, рейтинг по предметам:алгоритмизация, история, дискретный анализ. Вычислить средний...

Удаление элементов списка со средним баллом студента, меньше заданного числа - C++
Реализовать односвязный список для хранения данных вида: ФИО, группа, средний балл. Обеспечить выполнение операций: добавление...

Вывести абитуриентов, проживающих в г.Минске и сдавших экзамены со средним баллом не ниже 8. - C++
Задание такое 10. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит Ф.И.О., адрес, оценки. Вывести...

Задание: Считать и вывести информацию об учениках со средним баллом выше данного значения - C++
Доброго времени суток! Новичок в C++, нужна помощь. Необходимо решить задачу. Имеется список учеников из 10 человек (файл &quot;kids.txt&quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.