Функция в цикле работает один раз

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
request
Сообщения: 5
Зарегистрирован: 16 дек 2009, 02:06

Функция для заполнения массива структур. Первый элемент структуры array.name при i=1 заполняется (посредством функции entcontrol2) корректно, а при последующих повторах не заполняется вообще. При этом все остальное заполняется нормально.

Код: Выделить всё

void fill(STUDENT array[])
{
        char temp[20];
        int i,j;
        for(i=0; i<10; i++)
        {
                printf("Введите имя и инициалы: ");
                entcontrol2(temp);
                strcpy(array[i].name,temp);
                printf("\nВведите номер группы: ");
                array[i].group = entcontrol(1,100);
                for(j=0; j<5; j++)
                {
                        printf("\nВведите оценку %d: ", j+1);
                        array[i].mark[j] = entcontrol(2,5);
                }
                printf("\n\n");
        }
}
chur
Сообщения: 195
Зарегистрирован: 17 фев 2004, 10:44
Откуда: Riga, Latvia

Скорее всего косяк в функции entcontrol2. Первый раз она вызывается с неинициализированным temp, а потом temp какое-то значение уже имеет. Копай здесь.
request
Сообщения: 5
Зарегистрирован: 16 дек 2009, 02:06

да, одна из функций оставляла мусор в stdin.
Ответить