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

Структуры: вывести фамилии трех лучших учеников данного класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ запуск файла http://www.cyberforum.ru/cpp-beginners/thread153657.html
народ написал вот такую прогу но незнаю как сделать чтоб открывал файл путь к которому я напишу //Это праграмма которая проверяет код и открывает файл #include <iostream> #include <conio.h> using...
C++ _tmain(...) вместо main(...) Почему? только что установил MVS 2010. когда создаю новы фаил, то вместо привычной мне функции main() там функция _tmain(int argc, _TCHAR* argv). что это такое? я переделал имье на main(), и вроде бы всё... http://www.cyberforum.ru/cpp-beginners/thread153652.html
После выполнения программа сразу закрывается и не даёт увидеть результат C++
После выполнения программа сразу закрывается и не даёт увидеть результат если не вставить system("pause"); //Эта программа для сравнения двух целых чисел. #include <iostream> #include <conio.h>...
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д. C++
функции класса раздела private реализуються так же как и раздела public? в смысле виртуальных функций, дружественных функций, и т.д.
C++ Сформировать очеред содержащую весенние даты, упорядоченные только по месяцу и числу. http://www.cyberforum.ru/cpp-beginners/thread153565.html
Здравствуйте. Помогите пожалуйста дорешать задачу: Дан текстовый файл, содержащий даты в формате «день/месяц/год», причем под день месяц отводится по две позиции, а под год – четыре...
C++ Проверка : нажал ли пользователь клавишу Извиняюсь за тупой вопрос. Нужна функция которая проверяет, нажал ли пользователь какую то клавишу или нет. Знаю только наподобие getch() cin.get() cin.peek() но это не то.. если пользователь ничего... подробнее

Показать сообщение отдельно
Qwerty_coder
29 / 29 / 2
Регистрация: 14.12.2009
Сообщений: 79
15.07.2010, 21:13
Держи первое задание... Писал в ms visual 2008, если что...

p.s. единственное, что есть один маленький баг: когда вводишь Ф.И.О., например так, Petrov A.V., то программа зацикливается...
Чтобы этого не было, вводить ФИО нужно слитно, то есть так: Petrov.A.V. без пробелов

Анкета школьника включает в себя Ф.И.О., номер школы, номер класса и оценки по пяти предметам. Вывести фамилии трех лучших учеников данного класса.
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int _getch(void);
 
struct anketa
{
    char FIO[300];
    int num_school, num_class, mark1, mark2, mark3, mark4, mark5, sred;
} a[500], temp;
 
int kod = 0, kol = -1, temp_school = 0, temp_class = 0;
 
int main()
{
    while(true)
    {
        cout << " Add - 1\n Task - 2\n View - 3\n Exit - 0: ";
        scanf("%d", &kod);
        switch(kod)
        {
        case 1:
            //Ввод исходных данных
            kol++;
            cout << "\n\tInput F.I.O.: "; cin >> a[kol].FIO;
            cout << "\tInput school number: "; cin >> a[kol].num_school;
            cout << "\tInput class number: "; cin >> a[kol].num_class;
            cout << "\t--- Input marks ---" << endl;
            cout << "\tInput first mark: "; cin >> a[kol].mark1;
            cout << "\tInput second mark: "; cin >> a[kol].mark2;
            cout << "\tInput third mark: "; cin >> a[kol].mark3;
            cout << "\tInput fourth mark: "; cin >> a[kol].mark4;
            cout << "\tInput fifth mark: "; cin >> a[kol].mark5; cout << endl;
            break;
        case 2:
            cout << "\nInput the school number you like: "; cin >> temp_school;
            cout << "Input the class you like: "; cin >> temp_class;
            cout << "\n--- The best pupils of school N" << temp_school << " class N" << temp_class << "---"<< endl;
            
            //Вычисление среднего балла учеников
            for (int i = 0; i <= kol; i++)
            {
                a[i].sred = (a[i].mark1 + a[i].mark2 + a[i].mark3 + a[i].mark4 + a[i].mark5) / 5;
            }
 
            //Сортировка
            for (int i = 0; i <= kol - 1; i++)
            {
                for (int j = i + 1; j <= kol; j++)
                {
                    if (a[i].sred > a[j].sred)
                    {
                        temp = a[i];
                        a[i] = a[j];
                        a[j] = temp;
                    }
                }
            }
 
            //Вывод задания на экран
            for (int i = kol; i >= kol - 2; i--)
            {
                if (a[i].num_school == temp_school)
                {
                    if (a[i].num_class == temp_class)
                    {
                        cout << "\tF.I.O.: " << a[i].FIO << endl;
                        cout << "\tSchool number: " << a[i].num_school << endl;
                        cout << "\tClass number: " << a[i].num_class << endl;
                        cout << "\tFirst mark: " << a[i].mark1 << endl;
                        cout << "\tSecond mark: " << a[i].mark2 << endl;
                        cout << "\tThird mark: " << a[i].mark3 << endl;
                        cout << "\tFourth mark: " << a[i].mark4 << endl;
                        cout << "\tFifth mark: " << a[i].mark5 << endl;
                        cout << "\tAverage mark: " << a[i].sred << endl; cout << endl;
                    }
                }
            }
            break;
        case 3:
            for (int i = 0; i <= kol; i++)
            {
                a[i].sred = (a[i].mark1 + a[i].mark2 + a[i].mark3 + a[i].mark4 + a[i].mark5) / 5;
            }
            cout << "\n\t--- View ---" << endl;
            for (int i = 0; i <= kol; i++)
            {
                cout << "\tF.I.O.: " << a[i].FIO << endl;
                cout << "\tSchool number: " << a[i].num_school << endl;
                cout << "\tClass number: " << a[i].num_class << endl;
                cout << "\tFirst mark: " << a[i].mark1 << endl;
                cout << "\tSecond mark: " << a[i].mark2 << endl;
                cout << "\tThird mark: " << a[i].mark3 << endl;
                cout << "\tFourth mark: " << a[i].mark4 << endl;
                cout << "\tFifth mark: " << a[i].mark5 << endl;
                cout << "\tAverage mark: " << a[i].sred << endl; cout << endl;
            }
            break;
        case 0:
            //Выход из программы
            char letter = 0;
            cout << endl << "Would you like to leave this programm, input Y / N? "; cin >> letter;
            cout << endl;
            if (letter == 'Y') return 0;
            if (letter == 'N') cout << "Great decision!\n" << endl; 
            break;
        }
    }
 
    _getch();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru