Редактировать: Поскольку я понимаю, что мне нужно предоставить больше информации, чтобы вам было понятно, ребята, я добавил основную функцию и выбор getcho, а также два образа работающей программы.Моя проблема в том, что после ввода конечного слова я хочу сначала увидеть меню, а затем сделать выбор, в то время как он запрашивает ввод без отображения меню.
Эта функция является частью большой программы,но здесь возникает проблема.Он считывает введенные слова, помещает их в массив, пока не будет введено ключевое слово **** END.Однако, когда вводится это ключевое слово, оно сразу не входит в указанное предложение if (вы увидите это в коде).Я новичок, и это может быть чем-то действительно очевидным, но любая помощь очень ценится.
#include <string.h>
#define M 50
#define N 15
void getText(char a[M][N])
{
int i, j;
char temp[N];
for (i = 0; i < 50; i++) {
for (j = 0; j < 15; j++) {
if (i == 49 && j == 14) {
printf("Maximum length of text reached.\n");
}
scanf("%s\n", temp);
if (strcmp(temp, "****END") == 0) {
printf("You entered the endkey.\n");
return;
}
strcpy(a[i], temp);
}
}
}
int main(){
int input;
while(1){
input = getChoice();
if(input == 1){
getText(text);
}
else if(input == 2){
getDictionary();
}
else if(input == 3){
correctText();
}
else if(input == 4){
saveText();
}
else if(input == 5){
getStats();
}
else if(input == 6){
break;
}
}
return 0;
}
int getChoice(){
int temp;
printf("Choose function:\n1: Enter text\n2: Enter dictionary\n3: Correct text\n4: Save text\n5: Get text statistics\n6: Exit program\n");
scanf("%d", &temp);
return temp;
}
Введено конечное слово, и теперь оно ждет ввода вместо отображения меню.
Я ввел 2 для второй функции программы, затем он показал меню и перешел к функции 2.