Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
krutyak
1

Список учеников имеет следующую структуру: фамилия – класс - оценка по алгебре - оценка по физике - средний балл

22.05.2013, 09:55. Просмотров 4119. Ответов 2
Метки нет (Все метки)

Задание такое

Список учеников имеет следующую структуру: фамилия – класс - оценка по алгебре - оценка по физике - средний балл. При вводе оценок рассчитайте средний балл и выведите информацию об учениках в виде таблицы.
1) Вывести фамилии учеников, не имеющих «двоек».
2) Вывести информацию об учениках заданной фамилии (фамилию ввести с клавиатуры).
3) Выполнить сортировку списка по среднему баллу, вывести отсортированный список
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2013, 09:55
Ответы с готовыми решениями:

Обработка записей (список учеников имеет следующую структуру: фамилия – номер школы – число баллов по ЕГЭ – оценка)
Разработать и отладить программу обработки записей. Предусмотреть: - ввод данных - вывод...

Известны данные о 30-ти учениках: фамилия, класс и оценка по информатике. Определить фамилию учеников 9-х классов, имеющих оценку «5»
помогите доработать программу в Делфи....я впринципе её сделал, но мне нужно через записи ее...

Вычислить средний балл учеников вашего класса по физике
// Вычислить средний балл учеников вашего класса по физике var i, Ball, N, S: real;// бал,...

Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике,...

2
37 / 37 / 22
Регистрация: 16.04.2013
Сообщений: 321
Записей в блоге: 1
22.05.2013, 14:46 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
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
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
 
 class pupil
   { 
   public:
       void set_name(string x_name){name=x_name;}
       void set_last_name(string x_last_name){last_name=x_last_name;}
       void set_eval_algebra(int ocenka){eval_algebra=ocenka;}
       void set_eval_fizika(int ocenka){eval_fizika=ocenka;}
       double get_srednyaya(){double val=(double)(eval_algebra+eval_fizika)/2;return val ;}
       int min_eval(){return min(eval_fizika,eval_algebra);}
       string get_last_name(){return last_name;}
       string get_name(){return name;}
       int get_eval_algebra(){return eval_algebra;}
       int get_eval_fizika(){return eval_fizika;}
 
       
   private:
       int eval_fizika;
       int eval_algebra;
       string name;
       string last_name;
 
   } 
  picture;
 
 
 
void main(void)
 
{ 
      setlocale(LC_ALL,"RUSSIAN");
    int n;
    cout << "Количество учеников: ";
    cin >> n;
    pupil *pup=new pupil[n];
    for(int i=0;i<n;i++)
    {
        string name,last_name;
        int eval_algebra,eval_fizika;
        cout << "Имя ученика: ";
        cin >> name;
        pup[i].set_name(name);
        cout << "Фамилия ученика: ";
        cin >> last_name;
        pup[i].set_last_name(last_name);
        
        cout << "Оценка по физике: ";
        cin >> eval_fizika;
        pup[i].set_eval_fizika(eval_fizika);
        cout << "Оценка по алгебре: ";
        cin >> eval_algebra;
        pup[i].set_eval_algebra(eval_algebra);
        cout << "Средняя оценка ученика: " << pup[i].get_srednyaya() << endl;
        
    }
    cout << endl << "Ученики не имеющие двоек: " << endl;
    for(int i=0;i<n;i++)
    {
        if(pup[i].min_eval()>2)
            cout <<'\t'<< pup[i].get_last_name() << endl;
            
    }
    string again;
    do
    for(int i=0;i<n;i++)
    {
        string last_name;
        cout <<endl<< "Введите фамилию и узнаете все данные об ученике: ";
        cin >> last_name;
        if(pup[i].get_last_name()==last_name)
        {
        cout << "Имя ученика: " << pup[i].get_name() << endl
            << "Оценка по физике: " << pup[i].get_eval_fizika() << endl
            << "Оценка по алгебре: " << pup[i].get_eval_algebra() << endl
            << "Cредний бал: " << pup[i].get_srednyaya() << endl
            << "Минимальный бал: " << pup[i].min_eval() << endl;
        }
        else
            cout << "Ученика с такой фамилией нет"<<endl;
            
    
    cout << "Если хотите еще раз введите true" << endl;
    cin >>again;
    }
    while(again=="true");
    system("pause");
}
3ье доделаю сегодня. сейчас занят

Добавлено через 1 час 38 минут
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
#include <iostream>
#include <string>
#include <algorithm>
#include <windows.h>
using namespace std;
 
 class pupil
   { 
   public:
       void set_name(string x_name){name=x_name;}
       void set_last_name(string x_last_name){last_name=x_last_name;}
       void set_eval_algebra(int ocenka){eval_algebra=ocenka;}
       void set_eval_fizika(int ocenka){eval_fizika=ocenka;}
       double get_srednyaya(){double val=(double)(eval_algebra+eval_fizika)/2;return val ;}
       int min_eval(){return min(eval_fizika,eval_algebra);}
       string get_last_name(){return last_name;}
       string get_name(){return name;}
       int get_eval_algebra(){return eval_algebra;}
       int get_eval_fizika(){return eval_fizika;}
        
   private:
       int eval_fizika;
       int eval_algebra;
       string name;
       string last_name;
    };
 
int main()
 { 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int n;
    cout << "Количество учеников: ";
    cin >> n;
    pupil *pup=new pupil[n];
    for(int i=0;i<n;i++)
    {
        string name,last_name;
        int eval_algebra,eval_fizika;
        cout << "Имя ученика: ";
        cin >> name;
        pup[i].set_name(name);
        cout << "Фамилия ученика: ";
        cin >> last_name;
        pup[i].set_last_name(last_name);
        cout << "Оценка по физике: ";
        cin >> eval_fizika;
        pup[i].set_eval_fizika(eval_fizika);
        cout << "Оценка по алгебре: ";
        cin >> eval_algebra;
        pup[i].set_eval_algebra(eval_algebra);
        cout << "Средняя оценка ученика: " << pup[i].get_srednyaya() << endl << endl;
    }
    cout << "Ученики не имеющие двоек: " << endl;
    for(int i=0;i<n;i++)
    {
        if(pup[i].min_eval()>2)
            cout <<'\t'<< pup[i].get_last_name() << endl;
            
    }
    string last_name,again;
    bool val;
    cout << endl<<"Хотите узнать оценки ученика? ДА - true"<<endl;
    cin >> again;
    while(again=="true")
    {
    val=false;
    cout << endl<< "Введите фамилию и узнаете все данные об ученике: ";
    cin >> last_name;
        for(int i=0;i<n;i++)
        {
            if(pup[i].get_last_name()==last_name)
                {
                cout << "Имя ученика: " << pup[i].get_name() << endl
                << "Оценка по физике: " << pup[i].get_eval_fizika() << endl
                << "Оценка по алгебре: " << pup[i].get_eval_algebra() << endl
                << "Cредний бал: " << pup[i].get_srednyaya() << endl
                << "Минимальный бал: " << pup[i].min_eval() << endl;
                val=true;
                }
            
        }
        if(!val)
            cout<<"Ученика с такой фамилией нет"<<endl;
    cout << "Если хотите еще раз введите true" << endl;
    cin >> again;
    }
    for(int i=0;i<n-1;i++)
        for(int i=0;i<n-1;i++)
        {
            if(pup[i].get_srednyaya()>pup[i+1].get_srednyaya())
                {
                pupil *temp=new pupil;
                *temp=pup[i+1];
                pup[i+1]=pup[i];
                pup[i]=*temp;
                delete temp;
                }
        }
    cout << endl<<"Рейтинг учеников по средней оценке:"<<endl;
     for(int i=0;i<n;i++)
         cout<< pup[i].get_last_name() << "\t\t" << pup[i].get_srednyaya() << endl;
         delete pup;
       system("pause");
        return 0;
}
Всё работает. Одно но - придется зайти в настройки консоли и поменять шрифт на Lucida Console. Для нормального отображения русского шрифта
1
krutyak
22.05.2013, 16:59 3
Спасибо огромное
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2013, 16:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Рас
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике,...

Вычислить средний балл учеников школы, а потом максимальный средний балл из разных школ
Нужно ввести фамилию, номер школы, балл и вычислить средний балл учеников школы, а потом выразить...

Вывести на экран всех учащихся, чья оценка меньше 3 баллов и посчитать средний балл по классу
В текстовый файл построчно записаны фамилия и имя учащихся класса и его оценка за контрольную....

Переведите, Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать списо
program lab100301; uses crt; type tablica=record name:string; sred:real; ...

Создать структуру, содержащую поля: название дисциплины, фамилия студента, оценка
Список содержит сведения о сессии. 1. Создать структуру, содержащую поля: название дисциплины,...

Класс с++. Создать класс ЭКЗАМЕН со следующими полями: название предмета, фамилия студента, оценка
Был бы очень рад если помогли б ) Создать класс ЭКЗАМЕН со следующими полями: название предмета,...


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

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

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