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

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

Войти
Регистрация
Восстановить пароль
 
DRUNY195
2 / 2 / 0
Регистрация: 04.04.2013
Сообщений: 247
#1

Вывести фамилии студентов, которые не получают стипендию и их перечень дисциплин (переделать под объединение и перечисление) - C++

29.05.2013, 18:25. Просмотров 376. Ответов 1
Метки нет (Все метки)

Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Если средний балл 4 и выше, то указать размер стипендии. Если средний балл ниже, то указать перечень дисциплин с оценками. Вывести фамилии студентов, которые не получают стипендию и их перечень дисциплин.
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
#include <stdio.h>
#include <string.h>
#include <clocale>
 
int main() {
    setlocale(0,"Rus");
    static char res[128][128];
    int res_top = 0;
    printf("Количество студентов: "); 
    /*fflush - функция, чтобы выведенная строка гарантированно попала на экран до ввода пользователя. Её, в принципе, для простоты можно убрать
     gets - считать строку с экрана (читать до перевода строки)*/   
    fflush(stdout);
    int students_count;
    scanf("%d", &students_count);
    int i, k;
    for (i = 0; i < students_count; i++) {
        char name[128];
        printf("Студента %d\nИмя: ", i + 1); 
        fflush(stdout);
        gets(name);
        gets(name);
        char group[128];
        printf("Группа: "); 
        fflush(stdout);
        scanf("%s", group);
        double mark;
        printf("Средний балл: "); 
        fflush(stdout);
        scanf("%lf", &mark);
        if (mark >= 4.0) {
            double grant;
            printf("Стипендия: "); 
            fflush(stdout);
            scanf("%lf", &grant);
        } else {            
            strcpy(res[res_top], name);
            int j = strlen(name);
            /*strcpy - скопировать строку (не класс string, а null-terminated string, то есть массив char'ов),
            в данном случае добавить одну строку к концу другой*/
            strcpy(res[res_top] + j, ": ");
            j += 2;
            printf("Количество предметоов: "); 
            fflush(stdout);
            int subjects_count;
            scanf("%d", &subjects_count); 
            for (k = 0; k < subjects_count; k++) {                
                char name[128];
                printf("Предметы %d\nИмя: ", i + 1); 
                fflush(stdout);
                scanf("%s", name);
                strcpy(res[res_top] + j, name);
                /*strlen - получить длину строки*/
                j += strlen(name);
                strcpy(res[res_top] + j, ", ");
                j += 2;
                int mark;
                printf("Оценка: "); 
                fflush(stdout);
                scanf("%d", &mark);
            }
            res_top++;
        }
    }
    
    for (i = 0; i < res_top; i++) {
        res[i][strlen(res[i]) - 2] = 0;
        puts(res[i]);
    }
    return 0;
}
Прога рабочая, нужно переделать под объединение и перечисление
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 18:25     Вывести фамилии студентов, которые не получают стипендию и их перечень дисциплин (переделать под объединение и перечисление)
Посмотрите здесь:

Вывести фамилии студентов, не аттестованных по тем предметам C++
C++ Функции, которые получают строку и int
C++ Структуры. Вывести фамилии студентов.
Вывести фамилии студентов, дата рождения которых соответствует введенному месяцу C++
Текстовый файл: вывести фамилии и инициалы студентов в алфавитном порядке C++
Задача 1)фамилии студентов, которые имеют две и больше двоек в сессию на заданном пользователем факультете и удалить их C++
Вывести список студентов, которые не сдали третий экзамен C++ C++
C++ Вывести из файла фамилии студентов и оценки по заданному предмету
Структура STUDENT, вывести фамилии и номера групп для студентов, имеющих двойки C++
C++ Вывести фамилии студентов средний бал которых больше 4
C++ Вывести фамилии тех студентов кому исполнилось n лет
Считать данные с файла и вывести фамилии студентов, проживающих дома и имеют домашний телефон C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DRUNY195
2 / 2 / 0
Регистрация: 04.04.2013
Сообщений: 247
07.06.2013, 19:52  [ТС]     Вывести фамилии студентов, которые не получают стипендию и их перечень дисциплин (переделать под объединение и перечисление) #2
нужно только переделать!!!
Yandex
Объявления
07.06.2013, 19:52     Вывести фамилии студентов, которые не получают стипендию и их перечень дисциплин (переделать под объединение и перечисление)
Ответ Создать тему
Опции темы

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