gpt4 book ai didi

c - 简单选项菜单 (C)

转载 作者:太空狗 更新时间:2023-10-29 15:40:20 26 4
gpt4 key购买 nike

我正在尝试制作一个在 do-while 循环中执行的简单选项菜单。菜单有 5 个不同的选项。我目前正在尝试测试 get initial 选项,但是当我选择案例“b”时,该功能甚至不执行并且选项菜单再次出现

#include "mathprogram.h"


int main (void)
{
char menu_option,initials;
int difficulty;

printf(" EDUCATIONAL MATH PROGRAM!!!\n");
printf("------------------------------------------\n\n");


do{
printf("Main Menu\n");
printf("a. Learn about how to use program.\n");
printf("b. Enter your initials (3 individual letters).\n");
printf("c. Difficulty Selection.\n");
printf("d. Start a new sequence of problems.\n");
printf("e. Save and quit.\n");
printf(" Please enter an option from the main menu: ");
scanf("%c",&menu_option);



switch(menu_option){

case 'a':
//Learn_to_use();

break;
case 'b':
initials=get_intials();

break;
case'c':
printf("case c");
//difficulty = get_difficulty();
break;
case'd':
break;
case'e':
break;
default:
printf("invalid input");
break;
}

}while(menu_option !='e');







}

获取首字母函数:

#include "mathprogram.h"

char get_intials(void){
char initails;
printf("Please Enter Initials: ");
scanf("%c",&initails);
return initails;

}

最佳答案

scanf("%c", &var);

将换行符留在缓冲区或流中。

试着改成

scanf(" %c", &var);

它应该按预期工作(注意 % 之前的空格;这会占用空白,以便下一个 scanf 调用应该工作)。

但是,您程序中定义的首字母仅包含一个字符,而不是三个。我会把它留给你来设计,这是一个不同的问题。

关于c - 简单选项菜单 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33929671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com