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

вопрос по структурам

15.02.2010, 16:21. Показов 599. Ответов 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 первый раз а потом просто пропускается. Подскажите пожалуйста почему так и как это исправить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2010, 16:21
Ответы с готовыми решениями:

вопрос по структурам
Задача.На основе данных входного файла составить список студентов,включающий фамилию,факультет,...

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

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

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

3
2342 / 498 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
15.02.2010, 16:40 2
перед cin.getline();
вставь cin.ignore();
и будет тебе счастье.
а вообще, на форуме подобные темы постоянно обсуждаются, можно было воспользоваться поиском.
0
Эксперт С++
5816 / 3468 / 356
Регистрация: 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
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 40
15.02.2010, 17:03  [ТС] 4
Всем спасибо советы помогли. буду писать дальше.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2010, 17:03

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вопрос по структурам в Си
Здравствуйте. Интерисует следующий вопрос по структурам. Имеется некая структура: struct...

Вопрос по структурам,массивам,постройка календаря
Прощу помочь оптимизировать данную программу, в процессе компиляции программа долго...

Курсовая по структурам
Подскажите какую-нибудь интересную тему для курсовой. Главная тема сема списки и структуры , можно...

задания по структурам
помогите пожалуйста новичку... буду ОЧЕНЬ благодарен


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

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

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