Компилятор как будто не видит scanf, а fgets выполняет перед printf, хотя расстановка абсолютно другая - C (СИ)

Формулировка задачи:

В-общем, тема такая: читаю учебник, написано создать прогу для поиска текста в массиве строк. Создал поисковик песен. Все работало, решил усовершенствовать, и добавил туда функцию многократного выполнения поиска, пока пользователь не введет 0. Тут то и началиь проблемы. Компилятор никак не хочет видеть scanf, а fgets выполняет первее printf! Компилятор MinGW, Среда разработки - NetBeans. Код:
/*
 * File:   main.c
 * Author: Башка
 *
 * Created on 19 августа 2014 г., 21:29
 */
 
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
 
char tracks[][80] = {
    "One Love One Heart",
    "Clap And Rob Em",
    "Wild For The Night",
    "Bottle and the gun",
    "Recep Tayyip Erdogun",
};
void song_search(char* usertrack) {
    int i;
    for(i = 0; i < 5; i++) {
        if (strstr(tracks[i], usertrack)) {
            printf("Song number: %i: %s\n", i, tracks[i]);
        }
    };
}
/*
 *
 */
int main() {
    int ques;
    ques = 1;
    char usertrack[80]; // Создаем строку, в которую пользователь будет вводить искомый текст
    do
    {
        printf("%s", "Enter Text:\n");
        fgets(usertrack, 80, stdin); // Пользователь вводит текст для поиска в тексте
        usertrack[strlen(usertrack)-1] ='\0';
        song_search(usertrack);
        puts("Do you want to find one more song?");
        scanf("%i", ques);
    }
    while(ques = 1);
    return(0);

Код к задаче: «Компилятор как будто не видит scanf, а fgets выполняет перед printf, хотя расстановка абсолютно другая - C (СИ)»

textual
scanf("%i", &ques);
getchar();

6   голосов, оценка 3.333 из 5


СОХРАНИТЬ ССЫЛКУ