Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
CrazyMamba
0 / 0 / 1
Регистрация: 14.02.2010
Сообщений: 40
#1

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

15.02.2010, 16:21. Просмотров 466. Ответов 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 первый раз а потом просто пропускается. Подскажите пожалуйста почему так и как это исправить.
http://www.cyberforum.ru/cpp-beginners/thread297854.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2010, 16:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос вопрос по структурам (C++):

Вопрос по структурам
Всем доброго дня. Возникло парочку вопросов по изучению С++ подскажите если не...

Вопрос по структурам
Насколько я знаю можно заполнить структуру &quot;наложив её на память&quot;, например...

небольшой вопрос по структурам
Плиз, подскажите как присвоить значение переменной(index) элементу массива...

Прога по Структурам
Ни могу понять как в массив забить рациональное число((( Вот задание: Ввести...

Задачка по структурам
Добрый вечер! Есть такая задачка... С помощью структуры соорудить что-то типа...

3
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
15.02.2010, 16:40 #2
перед cin.getline();
вставь cin.ignore();
и будет тебе счастье.
а вообще, на форуме подобные темы постоянно обсуждаются, можно было воспользоваться поиском.
0
Nameless One
Эксперт С++
5785 / 3434 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
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];
                    }
0
CrazyMamba
0 / 0 / 1
Регистрация: 14.02.2010
Сообщений: 40
15.02.2010, 17:03  [ТС] #4
Всем спасибо советы помогли. буду писать дальше.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2010, 17:03
Привет! Вот еще темы с решениями:

задача по структурам
определить структуру для описания полинома. Составить функции: а)...

Задание по структурам
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;iomanip.h&gt;...

программа по структурам
помогите написать программу В файл base.txt поместить информацию о писателях...

проги по структурам на С++
1)даны координаты трех точек, проверить лежат ли точки на одной прямой, если...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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