Компилятор как будто не видит 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, хотя расстановка абсолютно другая»
textual
Листинг программы
scanf("%i", &ques); getchar();
Объяснение кода листинга программы
- Вводится целочисленная переменная
ques
с помощью функции scanf. - Происходит считывание символа новой строки с помощью функции getchar, которая получает символ, введенный пользователем.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д