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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VitekSR
0 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 244
#1

Переписать код, чтобы выводило студентов имеющих оценку 2 - C++

27.03.2014, 21:30. Просмотров 392. Ответов 5
Метки нет (Все метки)

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
#include <iostream>
#include <string>
using namespace std; 
 
struct STUDENT // структура STUDENT
{ 
    string name; 
    int group; 
    float ses[5]; 
};
 
int main() 
{   
    setlocale(0,"rus");
    const int size = 10; // количество сеудентов
    STUDENT stud1[size]; // массив 
    int i, j;  
    int n = 0; // счётчик студентов
    int count = 0; // счётчик студентов с плохими отметками 
                   // усли он равен количеству студентов значит  
                   // хорошистов нет
 
    for ( i = 0; i < size; i++)  // ввод информации
    { 
        cout << "Введите фамилию студента " << endl; 
        cin >> stud1[n].name; 
        cout << "Введите номер группы " << endl; 
        cin >> stud1[n].group; 
        cout << "Введите 5 оценок " << endl; 
        for (int i = 0; i < 5; i++) 
        cin >> stud1[n].ses[i]; 
        n++;
        
    } 
    float sum = 0; // счётчик суммы оценок
    for ( i = 0; i < size; i++) 
    {
        for (j = 0; j < 5; j++) 
          sum += stud1[i].ses[j]; 
          
            if(sum / 5 > 4.0) // условие хорошиста
            { 
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
            }  
            else  
                count++;
 
            sum = 0;
        }  
    if(count == size) 
        cout << "Такие студенты отсутствуют " << endl; 
 
    system("Pause");
 
    return 0;
}
В этой программе выводится если средний балл студента больше 4.0. А мне нужно, чтобы выводило студентов имеющих оценку 2.
Попробовал изменить вот это
C++
1
 if(sum == 2)
но ничего не получается
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 21:30     Переписать код, чтобы выводило студентов имеющих оценку 2
Посмотрите здесь:

Распечатать анкетные данные студентов, имеющих оценку 4 по физике и оценку 5 по высшей математике. - C++
15. Распечатать анкетные данные студентов, имеющих оценку 4 по физике и оценку 5 по высшей математике.

Структуры. Вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2. - C++
1. Описать структуру с именем STUDENT, содержащую следующие поля: • NAME - фамилия и инициалы; • GROUP- номер группы; • SES-...

Пропатчить Hello World, чтобы выводило Hello %Username% - C++
Есть программа 'Hello world', нужно написать еще одну программу (&quot;патч&quot;), чтобы она заменила слово 'world' на любое имя (задается в...

Шифр Виженера: переписать код так, чтобы программа не только зашифровала, но и расшифровала текст - C++
Текст он зашифрует но не расшифрует. А как сделать чтобы он зашифровал и расшифровал текст??? #include &quot;stdafx.h&quot; #include &lt;ctime&gt; ...

Переписать код так, чтобы все вводимые данные кода передавались в качестве функции - C++
само задание есть и есть код, только не могу прописать функции. Помогите пожалуйста. По заданию нужно найти min элемент массива. и сумму...

Как сделать чтобы ответ выводило таблицей по 10 чисел? - C++
Как сделать чтобы ответ выводило таблицей по 10 чисел? Ниже написан код программы #include &lt;iostream&gt; #include &lt;conio.h&gt; // для...

Как дописать, чтобы последнее число выводило Ноль(0) - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { int i,n; int * array...

Что здесь надо подредактировать чтобы выводило с оценкой ниже 4 - C++
Доброе время суток господа. Столкнулся я с проблемой редактирования кода. Подскажите что тут подправить для вывода на экран учащихся с...

Нужно исправить,чтобы не просто печатало,а выводило новую строку - C++
Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных позициях строки, а затем, в обратном...

Вывести на экран анкетные данные студентов, получивших за первый и второй экзамен оценку 5 - C++
Отсортировать студентов по оценке по году рождения. Вывести на экран анкетные данные студентов, получивших за первый и второй экзамен...

Вывести студентов, имеющих средний балл от 3 до 4.5 - C++
Простая программа, вывода студентов (до 20 человек), имеющих средний балл от 3 до 4.5. Кто скинет исходник, буду оч благодарен пацы.

Что нужно изменить, чтобы выводило максимальный элемент каждой строки в одномерный массив? - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; /* run this program using the console pauser or add your own getch,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6285 / 5888 / 1909
Регистрация: 18.12.2011
Сообщений: 15,120
Завершенные тесты: 1
27.03.2014, 21:54     Переписать код, чтобы выводило студентов имеющих оценку 2 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
for ( i = 0; i < size; i++) 
{
       for (j = 0; j < 5; j++) 
       {
           if(stud1[i].ses[j]==2)
           { 
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
            } 
       } 
 }
Добавлено через 2 минуты
Или (чтобы избежать многократного вывода)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for ( i = 0; i < size; i++) 
{
       bool pres=false;
       for (j = 0; j < 5; j++) 
       {
           if(stud1[i].ses[j]==2)
           {
                pres=true;break; 
           } 
       } 
       if(pres)
       {
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
       } 
 }
VitekSR
0 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 244
28.03.2014, 08:57  [ТС]     Переписать код, чтобы выводило студентов имеющих оценку 2 #3
Все отлично, только теперь если студента с оценкой 2 нету, то не выводится "Такие студенты отсутствуют"

Добавлено через 10 часов 57 минут
Подниму!
dimcoder
Полярный
455 / 428 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
28.03.2014, 08:59     Переписать код, чтобы выводило студентов имеющих оценку 2 #4
VitekSR, в код не вникал но вот это
C++
1
2
3
4
5
if(pres)
       {
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
       }
попробуйте заменить на
C++
1
2
3
4
5
6
7
if(pres)
       {
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
       }
else
   cout << "Такие студенты отсутствуют" << endl;
VitekSR
0 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 244
28.03.2014, 09:03  [ТС]     Переписать код, чтобы выводило студентов имеющих оценку 2 #5
фигурной скобки не хватает
dimcoder
Полярный
455 / 428 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
28.03.2014, 09:32     Переписать код, чтобы выводило студентов имеющих оценку 2 #6
Если заменили в точности как я сказал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for ( i = 0; i < size; i++) 
{
       bool pres=false;
       for (j = 0; j < 5; j++) 
       {
           if(stud1[i].ses[j]==2)
           {
                pres=true;break; 
           } 
       } 
       if(pres)
       {
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
       } 
 }
на это
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for ( i = 0; i < size; i++) 
{
       bool pres=false;
       for (j = 0; j < 5; j++) 
       {
           if(stud1[i].ses[j]==2)
           {
                pres=true;break; 
           } 
       } 
       if(pres)
       {
                cout << stud1[i].name << endl; 
                cout << stud1[i].group << endl; 
       }
else
   cout << "Такие студенты отсутствуют" << endl;
 }
то всего хватает.
Вы же в выражении
C++
1
2
if (true)
   cout << "true" << endl;
не ставите скобки, если речь конечно об этом.
Yandex
Объявления
28.03.2014, 09:32     Переписать код, чтобы выводило студентов имеющих оценку 2
Ответ Создать тему
Опции темы

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