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

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

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

вопрос по структурам - C++

15.02.2010, 16:21. Просмотров 414. Ответов 3

Я начал писать программу на следующию задачу Описать структуру с именем STUDENT, содержащую следующие поля:
-Фамилия и инициалы
-Номер группы
-Успеваемость(массив из 5ти элементов).
Написать программу выполняющую следующие действия:
-Ввод с клавиатуры данных в массив, состоящий из 10ти структур типа STUDENT:записи должны быть упорядочены по возрастанию среднего балла;
-Вывод на дисплей Фамилий и номеров групп для всех студентов имеющих оценки 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
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{setlocale (0,"Russian");
const int l_name=30,l_num=5,l_ysp=5;
struct STUDENT
{
    char name[l_name], num[l_num];
    int ysp;
};
const int l_dbase=11;
STUDENT dbase[l_dbase];
for(int i=1;i<l_dbase;i++)
{
    cout<<"Введите Ф.И.О. Студента №"<<i<<endl;
    cin.getline(dbase[i].name, 30);// вот эта строчка
    cout<<"Введите Нормер группы Студента №"<<i<<endl;
    cin.getline(dbase[i].num, 5);
    cout<<"Введите 5 оценок Студента №"<<i<<endl;
    for(int z=0;z<l_ysp;z++)
        {
            cin>> dbase[z].ysp;
        }
}
 
system("pause");
    return 0;
}
Строчка которую я прокоментировал выполняется в цикле только 1 первый раз а потом просто пропускается. Подскажите пожалуйста почему так и как это исправить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2010, 16:21     вопрос по структурам
Посмотрите здесь:

C++ Вопрос по структурам
C++ проги по структурам на С++
задание по структурам C++
C++ Прога по Структурам
небольшой вопрос по структурам C++
C++ вопрос по структурам
C++ Задачка по структурам
C++ Программа по структурам!
C++ влпрос по структурам
программа по структурам C++
C++ Вопрос по структурам
C++ Курсовая по структурам

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
15.02.2010, 16:40     вопрос по структурам #2
перед cin.getline();
вставь cin.ignore();
и будет тебе счастье.
а вообще, на форуме подобные темы постоянно обсуждаются, можно было воспользоваться поиском.
Nameless One
Эксперт С++
5767 / 3416 / 255
Регистрация: 08.02.2010
Сообщений: 7,441
15.02.2010, 16:43     вопрос по структурам #3
Цитата Сообщение от CrazyMamba Посмотреть сообщение
-Успеваемость(массив из 5ти элементов).
если успеваемость у тебя массив, то и объявляй ее массивом:
C++
1
int ysp[l_ysp];
А теперь по ошибкам:
  1. for(int i=1;i<l_dbase;i++)
    Индексация массивов в C/C++ начинается с нуля, а у тебя первый элемент массива структур здесь пропускается. Надо так:
    C++
    1
    
    for(int i=0;i<l_dbase;i++)
  2. cout<<"Введите 5 оценок Студента №"<<i<<endl;
    for(int z=0;z<l_ysp;z++)
    {
    cin>> dbase[z].ysp;
    }
    Здесь по идее ты должен инициализировать массив оценок. Но он у тебя вообще не объявлен (см. выше), и, кроме того, в цикле ты проходишь не по массиву оценок, а по массиву структур. Этот участок нужно делать так:
    C++
    1
    2
    3
    4
    5
    
    cout<<"Введите 5 оценок Студента №"<<i<<endl;
            for(int z=0;z<l_ysp;z++)
                    {
                            cin>> dbase[i].ysp[z];
                    }
CrazyMamba
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 40
15.02.2010, 17:03  [ТС]     вопрос по структурам #4
Всем спасибо советы помогли. буду писать дальше.
Yandex
Объявления
15.02.2010, 17:03     вопрос по структурам
Ответ Создать тему
Опции темы

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