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

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

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

Распечатать анкетные данные студентов, успевающих на 4 и 5 - C++

23.11.2014, 20:47. Просмотров 509. Ответов 4
Метки нет (Все метки)

Скажите, пожалуйста, как сделать, чтобы выводились все студенты, у кого 4 и 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//Распечатать анкетные данные студентов, успевающих на 4 и 5.
#include "stdafx.h"
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
{
setlocale(LC_ALL, "Russian");
struct Student
{
char name [40];
int group;
int k;
int exam[100];
 
};
 
 
 
Student list[100];
 
int n=0;
 
cout << " введите количество студентов " << endl;
cin >> n;
 
for(int i = 0; i < n; i++) 
{
cout << "имя" << endl;
cin >> list[i].name;
 
cout << "группа" << endl;
cin >> list[i].group;
 
 
cout << " введите количество экзаменов " << endl;
cin >> list[i].k;
 
for(int j = 1; j <= list[i].k; j++) 
{
cout << "введите оценку за " << j << " экзамен " << endl;
cin >> list[i].exam[j];
}
cout << endl;
}
 
cout << "список студентов, имеющих 5 и 4" << endl;
 
for(int i = 0; i < n; i++)
{
for ( int j =0; j < list[i].k; j++)
{
if ((list[i].exam[j] == 4) || (list[i].exam[j] == 5)) 
{
j++;
 
}   
else {i++;}
 
}   cout << "Фамилия " << list[i].name << endl;
cout << "группа " << list[i].group << endl;
break;  
}
_getch();
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 20:47     Распечатать анкетные данные студентов, успевающих на 4 и 5
Посмотрите здесь:

Распечатать анкетные данные студентов, успевающих на 4 и 5 - C++
Распечатать анкетные данные студентов, успевающих на 4 и 5. с++

Исправить код: распечатать анкетные данные студентов, успевающих на 4 и 5 - C++
Скажите, пожалуйста, как сделать, чтобы выводились все студенты, у кого 4 и 5. Не получается, выводится только один по этому коду. ...

Надо исправить код! Распечатать анкетные данные студентов, успевающих на 4 и 5 - C++
Скажите, пожалуйста, как сделать, чтобы выводились все студенты, у кого 4 и 5. Не получается, выводится только один по этому коду. ...

Распечатать анкетные данные студентов-отличников из интересующей вас группы - C++
Распечатать анкетные данные студентов-отличников из интересующей вас группы. Как написать это распечатать?(В коде как это выглядит?)

Распечатать анкетные данные студентов, получивших на последней сессии оценки "2". - C++
Распечатать анкетные данные студентов, получивших на последней сессии оценки &quot;2&quot;.

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

Распечатать анкетные данные - C++
Составить программу для вывода записи по N студентам: фамилия, год рождения, год поступления в техникум и оценки по 4 предметам (ОС, Языки...

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

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

Вывести на экран анкетные данные студента - C++
Создать программу в среде Microsoft Visual Studio 2010, которая выводит на экран анкетные данные студента:фамилия, имя и отчество, группа,...

Распечатать список студентов упорядоченный по году рождения - C++
подскажите что нужно исправить #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;stdio.h&gt; using namespace std; const int n = 3; ...

Упорядочить список студентов по году рождения и распечатать его - C++
Здравствуйте помогите написать программу. На диске имеется файл данных STUDENT.DAT.упорядочить список студентов по году рождения и...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nosey
1344 / 395 / 107
Регистрация: 22.10.2014
Сообщений: 860
Завершенные тесты: 2
23.11.2014, 21:37     Распечатать анкетные данные студентов, успевающих на 4 и 5 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Hp, Используйте теги CODE

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
//Распечатать анкетные данные студентов, успевающих на 4 и 5.
#include "stdafx.h"
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");
 
    struct Student
    {
        char name[40];
        int group;
        int k;
        int exam[100];
 
    };
 
 
 
    Student list[100];
 
    int n = 0;
 
    cout << " введите количество студентов " << endl;
    cin >> n;
 
    for (int i = 0; i < n; i++)
    {
        cout << "имя" << endl;
        cin >> list[i].name;
 
        cout << "группа" << endl;
        cin >> list[i].group;
 
 
        cout << " введите количество экзаменов " << endl;
        cin >> list[i].k;
 
        for (int j = 1; j <= list[i].k; j++)
        {
            cout << "введите оценку за " << j << " экзамен " << endl;
            cin >> list[i].exam[j];
        }
        cout << endl;
    }
 
    cout << "список студентов, имеющих 5 и 4" << endl;
 
    for (int i = 0; i < n; i++)
    {
        bool successExam = true;
        for (int j = 1; j < list[i].k; j++)
        {
            if ((list[i].exam[j] != 4) && (list[i].exam[j] != 5))
            {
                successExam = false;
                break;
            }
        }
        if (successExam)
        {
            cout << "Фамилия " << list[i].name << endl;
            cout << "группа " << list[i].group << endl;
        }
    }
    _getch();
}
TyLinka
32 / 32 / 11
Регистрация: 02.02.2012
Сообщений: 177
23.11.2014, 21:44     Распечатать анкетные данные студентов, успевающих на 4 и 5 #3
Мне кажется, что проще сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for(int i = 0; i < n; i++)
    {
        bool f = true;
        for ( int j =0; j < list[i].k; j++)
        {
            if (list[i].exam[j] < 4)
            {
                f = false;
                cout << list[i].exam[j] << endl;
            }
            
        }
        if (f)
        {
            cout << "Фамилия " << list[i].name << endl;
            cout << "группа " << list[i].group << endl;
        }
    }
Проблема была здесь:
Цитата Сообщение от Hp Посмотреть сообщение
for(int j = 1; j <= list[i].k; j++)
{
cout << "введите оценку за " << j << " экзамен " << endl;
cin >> list[i].exam[j];
}
cout << endl;
}
Сделать так:
C++
1
2
3
4
5
       for(int j = 0; j < list[i].k; j++)
        {
            cout << "введите оценку за " << j+1 << " экзамен " << endl;
            cin >> list[i].exam[j];
        }
Hp
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 46
23.11.2014, 22:09  [ТС]     Распечатать анкетные данные студентов, успевающих на 4 и 5 #4
неправильно работает. когда 3 студента, то нормально, когда больше уже путается выводит по 2 варианта подряд иногда и неверные тоже туда же выводит но не все. в общем не то.
Nosey
1344 / 395 / 107
Регистрация: 22.10.2014
Сообщений: 860
Завершенные тесты: 2
23.11.2014, 22:20     Распечатать анкетные данные студентов, успевающих на 4 и 5 #5
Hp, Попробуйте ещё раз скопировать код из темы
Yandex
Объявления
23.11.2014, 22:20     Распечатать анкетные данные студентов, успевающих на 4 и 5
Ответ Создать тему
Опции темы

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