给定下面的输出:
Please choose one of the following:
- copy files 2) move files
- remove files 4) quit
Enter the number of your choice:
a.编写一个函数,显示一份有4个选项的菜单,提示用户进行选择(输
出如上所示)。
b.编写一个函数,接受两个int类型的参数分别表示上限和下限。该函数
从用户的输入中读取整数。如果整数超出规定上下限,函数再次打印菜单
(使用a部分的函数)提示用户输入,然后获取一个新值。如果用户输入的
整数在规定范围内,该函数则把该整数返回主调函数。如果用户输入一个非
整数字符,该函数应返回4。
c.使用本题a和b部分的函数编写一个最小型的程序。最小型的意思是,
该程序不需要实现菜单中各选项的功能,只需显示这些选项并获取有效的响
应即可;
以下是我的代码:
#include <stdio.h>
void aaa(void)
{
printf("********************************************************\n"
"!1) remove @2) move \n"
"#3) copy $4) quit \n"
"********************************************************\n"
"enter your chois:");
}
int bbb(int u, int d)
{
aaa();
int t;
if(scanf("%d", &t) == 1)
{
if(!(t > u || t < d))
{
return t;
}
bbb(4, 1);
}
return 4;
}
int main(void)
{
int t;
do
{
t = bbb(4, 1);
printf("OK!\n");
}
while(t != 4);
return 0;
}
Bug是当你输入3.1 时他又打印了一遍菜单, 应该立即退出