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

Имя структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма минимального и максимального элементов массива http://www.cyberforum.ru/cpp-beginners/thread19492.html
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму минимального и максимального элементов массива; 2) количество элементов массива, расположенных до последнего...
C++ На циклы и функции Ребята очень прошу помощи. В четверг уже сдавать надо! Задали сделать две проги на С++, сам вообще не бумбум, друг кое как помог, но проги не работают. Помогите пожалуйста!!!!! Задание 1 и 2: ... http://www.cyberforum.ru/cpp-beginners/thread19482.html
C++ Квадратная матрица - среднее геометрическое положительных элементов
Доброго времени суток! Прошу, как говорится, помощи :) В университете задали несколько задач, а у меня совсем нет времени - как раз нагрузили работой, и так ничего не успеваю. Плюс дома нет...
Вычисление произведения ряда (проверьте код) C++
Помогите с решением для заданного натурального K и действительного X подсчитать выражение P=\prod_{n=1}^{k}\left(1+\frac{\left(-1 \right)^n\,x^{2x+1}}{n^3+n^2} \right) пишу #include...
C++ Написать программу вычисления суммы положительных элементов в каждом массиве. http://www.cyberforum.ru/cpp-beginners/thread19452.html
Люди добрые помогите в решении двух задачек, пожалуйста: Данны два одномерных массива X и Y размерностью n и m. Написать программу вычисления суммы положительных элементов в каждом массиве. И...
C++ Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. зарание спс Добавлено через 37 минут 26 секунд вот решение но тут ошибки,могли бы исправить и выложить с... подробнее

Показать сообщение отдельно
hunnyh
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 4
24.12.2008, 03:11  [ТС]
Я не силен в программировании
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
 
typedef struct {
    char sName[128];
    long int fGroup;
        int aMark[5];
} STUDENT;
 
void main(void) {
     int bFilledMassive = 0;
     int bEmptyList = 1;
     STUDENT aStudent[15];
     int i = 0;
     int j = 0;
     int option = 0;
     int iStudentCount = 10;
    while (1) {
                printf("\nMenu:\n");
        printf("1. Fill STUDENT massive.\n");
        printf("2. Show STUDENT list.\n");
        printf("0. Exit.\n");
 
        do {
            option = getch() - '0';
        } while (option > 3);
 
        if (option == 0) {
            break;
        }
 
        switch (option) {
        case 1:
                        if(bFilledMassive == 1)
                        {
                                printf("\n\nSTUDENT massive is already filled!");
                        }
                        else
                        {
                                for (i = 0; i < iStudentCount; i++)
                                {
                                        printf("\n%d. Student:\n", i+1);
                                        printf("Name: ");
                                        scanf("%s",aStudent[i].sName);
                                        printf("Group number: ");
                                        scanf("%D", &aStudent[i].fGroup);
                                        printf("Enter marks(delay by space, for example: 1 2 3 4 5):\n", i);
                                        scanf("%d %d %d %d %d", &aStudent[i].aMark[0], &aStudent[i].aMark[1], &aStudent[i].aMark[2], &aStudent[i].aMark[3], &aStudent[i].aMark[4]);
                                        printf("\n");
                                }
                        }
                        bFilledMassive = 1;
            break;
        case 2:
            if(bFilledMassive == 0)
                        {
                                printf("\n\nPlease Fill STUDENT massive!\n");
                        }
                        else
                        {
                             long int str;
                             char str1[128];
                             for (i = 0; i < iStudentCount; i++)
                             {
                                for (j = 0; j < iStudentCount - 1; j++)
                                {
                                        float iSum = (aStudent[j].aMark[0] + aStudent[j].aMark[1] + aStudent[j].aMark[2] + aStudent[j].aMark[3] + aStudent[j].aMark[4])/5;
                                        if(iSum >= 4)
                                        {
                                                if(aStudent[j].fGroup > aStudent[j+1].fGroup)
                                                {
                                                        str = aStudent[j].fGroup;
                                                        aStudent[j].fGroup = aStudent[j+1].fGroup;
                                                        aStudent[j+1].fGroup = str;
 
                                                        strcpy(str1, aStudent[j].sName);
                                                        strcpy(aStudent[j].sName, aStudent[j+1].sName);
                                                        strcpy(aStudent[j+1].sName, str1);
                                                }
                                        }
                                }
                             }
                             for (i = 0; i < iStudentCount; i++)
                             {
                                float iSum = (aStudent[i].aMark[0] + aStudent[i].aMark[1] + aStudent[i].aMark[2] + aStudent[i].aMark[3] + aStudent[i].aMark[4])/5;
                                if(iSum >= 4)
                                {
                                        bEmptyList = 0;
                                        cout << aStudent[i].fGroup;
                                        printf(" %s\n", aStudent[i].sName);
                                }
 
                             }
                             if (bEmptyList)
                             {
                                printf("\nNo students with total mark above 4.0!\n");
                             }
                        }
            break;
        }
    }
}
Вот текст всей программы. Не мог ли кто-нибудь оценить на наличие ошибок (по моему в сортировке есть минимум одна, т.к. выводит она не "тех" студентов, что надо )

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

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