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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Задана матрица F(2n, m). Попарно поменять местами её строчки. Первую с второй, третью с четвёртой, и т. д http://www.cyberforum.ru/cpp-beginners/thread1131696.html
Задана матрица F(2n, m). Попарно поменять местами её строчки. Первую с второй, третью с четвёртой, и т. д.
C++ В данном словаре найти все пари слов (анаграммы) В данном словаре найти все пари слов(анаграммы), при чтении каждого из них в обратном порядке образуется другое слово пары. 3,4 3,5 Дублирование тем запрещено http://www.cyberforum.ru/cpp-beginners/thread1131694.html
Запоминание в рекурсии C++
Есть рекурсия ll build(int* a, int len){ ll n=0; for (int i = 0; i < len; i++) n = n * 10 + a; return n; } ll ans(int pos, ll sum){
Нелинейные уравнения методом хорд C++
помогите пожалуйста запрограммировать, завтра сдавать надо, а я не могу сделать, \ln 8x=9x-3.1 методом хорд, очень прошу помочь
C++ Вычисление сумм http://www.cyberforum.ru/cpp-beginners/thread1131670.html
Допоможіть зробити таку задачу, Обчислити суми \sum_{k=1}^{n}*\frac{1}{\sqrt{k}} та \sum_{k=n}^{1}*\frac{1}{\sqrt{k}} скаласти таблицю результатів для N={10}^{i} , i=3,4,5,6 . Тобто вона має видавати мені 4 відповіді із різними значеннями N. Перевожу (но в последний раз): ВЫчислить суммы \sum_{k=1}^{n}*\frac{1}{\sqrt{k}} и \sum_{k=n}^{1}*\frac{1}{\sqrt{k}} составить таблицу...
C++ Переписать код, чтобы выводило студентов имеющих оценку 2 #include <iostream> #include <string> using namespace std; struct STUDENT // структура STUDENT { string name; int group; float ses; }; подробнее

Показать сообщение отдельно
NotBeginner
146 / 146 / 19
Регистрация: 22.02.2013
Сообщений: 2,630
Записей в блоге: 2
27.03.2014, 23:08     Ввести несколько структур типа «Зачетка студента» с полями. Скомпилировать код
есть задание -
Ввести несколько структур типа «Зачетка студента» с полями
{Фамилия студента
Номер зачетки
Массив из 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!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru