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

Сформировать стек из N студентов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти матрицу С http://www.cyberforum.ru/cpp-beginners/thread1065917.html
Помогите выполнить данное задание. Нигде не могу найти теорию и даже не представляю как его решать.
C++ Написать подпрограмму вычисления площади по герону как правильно записать подпрограмму вычисления площади по герона. У меня результат показывает -1.#ІND00. Где ошибка? помогите пожалуйста:cry::cry::cry:#include <stdio.h> #include <math.h> ... http://www.cyberforum.ru/cpp-beginners/thread1065896.html
C++ Расположить элементы матрицы так, чтобы на побочной диагонали были бы максимальные элементы строк
Доброго времени суток. помогите пожалуйста с задачей последняя осталась) Расположить элементы матрицы M, так чтобы на побочной диагонали были бы максимальные элементы строк.
Почему в MSVC++ 2008 компилируется, а в MSVC++ 2010 вылезает много ошибок? C++
Кстати, перед запуском в 2010 предлагает конвертировать код. Ну а чем эти две студии отличаются, что вызывает большое количество ошибок?
C++ Стоит ли использовать "Вихрь Мерсенна" (std::mt19937)? http://www.cyberforum.ru/cpp-beginners/thread1065878.html
Чем он отличается от "обычного" stdlib'ного ГПСЧ? Генерирует ли он более... качественные ПСЧ? И зачем он вообще нужен?
C++ Ошибка при заполнении массива структур Доброго времени суток и Всех с Новогодними праздниками! В моем задании нужно ввести массив строк символов про успеваемость студентов: фамилия, №зачетки и оценки с 5 предметов. Переписать массив... подробнее

Показать сообщение отдельно
Twinlamb
0 / 0 / 0
Регистрация: 09.01.2013
Сообщений: 7

Сформировать стек из N студентов - C++

08.01.2014, 19:05. Просмотров 376. Ответов 3
Метки (Все метки)

Класс "Успеваемость": ФИО, оценки по 4 предметам. Сформировать стек из N (вводится с клавиатуры) студентов. Распечатать список всех студентов, которые имеют средний балл >=4. Сформировать множество из тех студентов, которые не вошли в список. Для решения использовать стандартные функции библиотеки STL.
Решил, что через if буду сразу заносить фамилии с средней оценкой >=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
64
65
66
67
68
69
70
#include <iostream>
#include <set>
#include <string.h>
#include <stack>
using namespace std;
struct progress
{
    char* fio;
    int mark1;
    int mark2;
    int mark3;
    int mark4;
public:
    progress(char*, int, int, int, int);
};
progress::progress(char* f, int m1, int m2, int m3, int m4)
{
    fio = f;
    mark1 = m1;
    mark2 = m2;
    mark3 = m3;
    mark4 = m4;
}
bool operator <(const progress s1, const progress s2)
{
    if (strcmp(s1.fio,s2.fio)<0)
        return true;
    return false;
}
void main()
{
    int N;
    int mean;
    set <progress> s1;
    stack <progress> s2;
    progress pr(" ", 2, 2, 2, 2);
    cout<<"Enter the number of students: ";
    cin>>N;
    cout<<endl;
    for (int i=0; i<N; i++)
    {
        cout<<"Enter "<<i+1<<" student: ";
        cin>>pr.fio;
        cout<<"Enter "<<i+1<<" student mark from maths: ";
        cin>>pr.mark1;
        if (pr.mark1<1||pr.mark1>5)
            pr.mark1=2;
        cout<<"Enter "<< i+1<<" student mark from English: ";
        cin>>pr.mark2;
        if (pr.mark2<1||pr.mark2>5)
            pr.mark2=2;
        cout<<"Enter "<< i+1<<" student mark from informatics: ";
        cin>>pr.mark3;
        if (pr.mark3<1||pr.mark3>5)
            pr.mark3=2;
        cout<<"Enter "<< i+1<<" student mark from history: ";
        cin>>pr.mark4;
        if (pr.mark4<1||pr.mark4>5)
            pr.mark4=2;
        mean = (pr.mark1+pr.mark2+pr.mark3+pr.mark4)/4;
        if (mean>=4)
            s2.push(pr);
        else
            s1.insert(pr);
    }
    cout<<endl<<"Less than four:"<<endl;
    set <progress>::iterator it;
    for (it = s1.begin(); it != s1.end(); it++)
        cout<< (*it).fio<<endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.