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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма минимального и максимального элементов массива http://www.cyberforum.ru/cpp-beginners/thread19492.html
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму минимального и максимального элементов массива; 2) количество элементов массива, расположенных до последнего положительного эле*мента. Помогите пожайлуста:):):)Срочно нужно))))
C++ На циклы и функции Ребята очень прошу помощи. В четверг уже сдавать надо! Задали сделать две проги на С++, сам вообще не бумбум, друг кое как помог, но проги не работают. Помогите пожалуйста!!!!! Задание 1 и 2: Вот что смог сделать друг: Задание 1: http://www.cyberforum.ru/cpp-beginners/thread19482.html
C++ Квадратная матрица - среднее геометрическое положительных элементов
Доброго времени суток! Прошу, как говорится, помощи :) В университете задали несколько задач, а у меня совсем нет времени - как раз нагрузили работой, и так ничего не успеваю. Плюс дома нет билдера, и где его найти в 11 часов вечера, с моим инетом 64кб - хз. У кого время есть, черкните код, буду очень благодарен. Суть задачи: Для квадратной матрицы от 4х4 до 10х10 найти среднее...
Вычисление произведения ряда (проверьте код) C++
Помогите с решением для заданного натурального K и действительного X подсчитать выражение P=\prod_{n=1}^{k}\left(1+\frac{\left(-1 \right)^n\,x^{2x+1}}{n^3+n^2} \right) пишу #include <iostream> #include <cmath> using namespace std; int main()
C++ Написать программу вычисления суммы положительных элементов в каждом массиве. http://www.cyberforum.ru/cpp-beginners/thread19452.html
Люди добрые помогите в решении двух задачек, пожалуйста: Данны два одномерных массива X и Y размерностью n и m. Написать программу вычисления суммы положительных элементов в каждом массиве. И вторая: Дана строка состоящая из групп нулей и единиц. Каждая группа отделяется друг от друга одним или несколькими пробелами. Найти и вывести на экран самую короткую группу. Я в с++ чайник, по...
C++ Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. Реализовать односвязный список и обеспечить его сортировку по одному из полей структуры. зарание спс Добавлено через 37 минут 26 секунд вот решение но тут ошибки,могли бы исправить и выложить с обьяснением))) #include "stdafx.h" #include<stdio.h> #include<conio.h> #include<string.h> typedef struct _poisk *point; подробнее

Показать сообщение отдельно
hunnyh
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 4
24.12.2008, 03:11  [ТС]     Имя структуры
Я не силен в программировании
Код
#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;
        }
    }
}
Вот текст всей программы. Не мог ли кто-нибудь оценить на наличие ошибок (по моему в сортировке есть минимум одна, т.к. выводит она не "тех" студентов, что надо )

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

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