Форум программистов, компьютерный форум CyberForum.ru

Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код - C++

Восстановить пароль Регистрация
 
NotBeginner
146 / 146 / 19
Регистрация: 22.02.2013
Сообщений: 2,630
Записей в блоге: 2
27.03.2014, 23:08     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код #1
есть задание -
Ввести несколько структур типа «Зачетка студента» с полями
{Фамилия студента
Номер зачетки
Массив из 4 оценок
}
Написать программу, выполняющую следующие действия:
Сортировка структур по фамилии или среднему баллу
Удаление всех зачеток троечников
написал код но нет возможности проверить
C++ (Qt)
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
#include <string>
#include <iostream>
#include <vector>
 
const int max_number_of_students=2;
const int grades_count = 3;
struct RecordBook // да, так будет зачетка
{   
    std::string last_name;
    int no;
    int grades[grades_count]; // раньше это называлось "ocenka"
};
 
int main()
{
    /*
        Фамилия студента
        Номер зачетки
        Массив из 4 оценок
        *   Сортировка структур по фамилии или среднему баллу
        *   Удаление всех зачеток троечников
    */
 
    std::vector<RecordBook> box;
    RecordBook t;
 
    for(int i = 0; i < max_number_of_students; i++)
    {
        std::cout << "Enter Last Name:" << std::endl;
        getline(std::cin, t.last_name);
 
        std::cout << "Enter Nomer:" << std::endl;
        std::cin >> t.no;
        std::cout << "Enter grades (count:"<< grades_count <<")" << std::endl;
        for (int j = 0; j < grades_count; j++)
            std::cin >> t.grades[j];
     
        std::cin.ignore(50, '\n'); 
        box.push_back(t);
    }
 
    //- Cортировка по фамилии
    // Здесь хорошо бы применить стандартный алгоритм сортировки, но боюсь это будет перебор.
    for(size_t i=box.size()-1; i>0 ; i--)
        for(size_t j=0; j<i ; j++)
            if(box[ j ].last_name > box[ j+1 ].last_name)
            {   
               std::swap(box[j], box[j+1]);
               // три строки ниже - олд-скул вариант.
               //RecordBook t = box[j];
               //box[j] = box[j+1];
               //box[j+1] = t;
            }
 
    for(size_t i=0; i<box.size(); i++)
    {
        bool is_find = false;
        for (int j = 0; j < grades_count; j++) {
           if (box[i].grades[j] == 3) {
             is_find = true;
             break;
           }
        }
        if (is_find)
           continue;
        std::cout << box[i].last_name << std::endl << box[i].no << std::endl;
 
        for(int j=0; j<grades_count; j++)
            std::cout << box[i].grades[j] << " ";
        std::cout << std::endl;
    }
 
    return 0;
}
помогите кто нибудь - проверьте работает или нет

Добавлено через 1 час 2 минуты
up!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 23:08     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код
Посмотрите здесь:

Описать структуру с именем NOTE, с полями: фамилия, номер телефона, год рождения. Ввести несколько структур. C++
C++ описать структуру, создать класс, в котором описать 3 поля: два простых типа и массив структур. Создать в классе 4 функции работы с массивом структур
C++ массив структур с полями
C++ Массив из структур с двумя целочисленными полями
Ввести несколько структур типа «Зачетка студента» C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.03.2014, 23:20     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код #2
NotBeginner, а в чем проблема проверить самому? Если нет компилятора под рукой, всегда есть варианты в онлайне. Например, ideone.com
NotBeginner
146 / 146 / 19
Регистрация: 22.02.2013
Сообщений: 2,630
Записей в блоге: 2
27.03.2014, 23:27  [ТС]     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код #3
Tulosba, не компилится( не могу понять почему
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.03.2014, 23:34     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код #4
NotBeginner, все компилируется http://ideone.com/tURHzn
NotBeginner
146 / 146 / 19
Регистрация: 22.02.2013
Сообщений: 2,630
Записей в блоге: 2
27.03.2014, 23:43  [ТС]     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код #5
а я язык не сменил)) спасибо)
Yandex
Объявления
27.03.2014, 23:43     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код
Ответ Создать тему
Опции темы

Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru