有点问题不懂,来看看吧!
3.在屏幕上显示如下的菜单,程序功能是当从键盘输入一个整数时,对其判断,如果数字在1-4 的范围内,则从键盘输入两个数,完成相应的运算后输出其结果。如果不在0-4 的范围内则输出:输入错误。例如输入 2,提示输入两个数,输出这两个数的差。计算完后再输出 “是否继续(Y/N)?”,如果输入 Y,则继续显示菜单,提示输入运算代码进行计算。提示:
程序实现步骤如下:
(1)输出如图的菜单
(2)从键盘输入一个整数
(3)对输入的数进行判断:
如果等于1,提示输入两个数,输出二者的和,执行第(4)步。
如果等于2,提示输入两个数,输出二者的差,执行第(4)步。
如果等于3,提示输入两个数,输出二者的积,执行第(4)步。
如果等于4,提示输入两个数,输出二者的商,执行第(4)步。
如果等于0,执行第(7)步
(4)输出:是否继续(Y/N)
(5)从键盘输入一个字符
(6)对输入的数进行判断:
如果等于字符 Y,清除屏幕上的内容,执行第(1)步
如果等于字符 N,执行第(7)步
(7)结束程序
想了好久,(6)不知道该怎么实现。  是多余的 #include <stdio.h>
#include <conio.h>
main(void)
{
char c ;
int a , b ;
bool f ;
for(f = true ; f ;) {
printf("\n") ;
printf("\t1. 两个数做加法\n") ;
printf("\t2. 两个数做减法\n") ;
printf("\t3. 两个数做乘法\n") ;
printf("\t4. 两个数做除法\n") ;
printf("\t0. 结束程序\n") ;
printf("\t 请选择: ") ;
c = getch() ;
printf("%c\n\n" , c) ;
c -= '0' ;
if(c > 0 && c < 5) {
printf("\t请输入两个数 : ") ;
scanf("%d%d" , & a , & b) ;
switch(c) {
case 1:
printf("\t和为 %d\n" , a + b) ;
break ;
case 2:
printf("\t差为 %d\n" , a - b) ;
break ;
case 3:
printf("\t积为 %d\n" , a * b) ;
break ;
case 4:
if(b) printf("\t商为 %d\n" , a / b) ;
else printf("\t** 除数不能为 0 **\n") ;
break ;
}
printf("\n") ;
printf("\t是否继续 (y/n)") ;
f = false ;
c = getch() ;
printf("%c\n\n" , c) ;
if(c == 'Y' || c == 'y') f = true ;
} else if(! c) {
printf("\n") ;
f = false ;
} else {
printf("\t** 输入错误 **\n") ;
}
}
} 本帖最后由 笨小孩丶 于 2019-12-1 13:31 编辑
#include <stdio.h>
int main()
{
int a;
float b,c;
printf("请输入一个0~4的整数: ");
scanf("%d",&a);
switch(a)
{
case 0:break;
case 1:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的和为:%f\n",b+c);
};break;
case 2:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的差为:%f\n",b-c);
};break;
case 3:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的积为:%f\n",b*c);
};break;
case 4:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的商为:%f\n",b/c);
};break;
default :printf("输入错误");
}
return 0;
}
我还是新手!!!试着写的v
笨小孩丶 发表于 2019-12-1 13:29
#include
int main()
{
所以第六步怎么实现 jackz007 发表于 2019-12-1 12:46
还有别的方法吗,还没学bool。 本帖最后由 jackz007 于 2019-12-1 16:22 编辑
liuyanxiong 发表于 2019-12-1 15:52
还有别的方法吗,还没学bool。
没学过 bool,现在学就行了。
bool 是布尔型数据,这种数据只有两个值,true(真) 和 false(假),专门用来表示条件表达式的运算结果。当一个条件表达式成立的时候,它的值就是 true,否则,就是 false。
例如:1 < 3 是 true,1 > 3 是 false。
if、while 后面括号里以及 for 语句位于括号中两个分号之间的都是布尔表达式,只有表达式的值是 true,才会执行后方条件归属语句块内的语句。
int a , b ;
a = 1 ;
b = 3 ;
if(a < b) {
. . . . . .
}
while(a < b) {
. . . . . .
a ++ ;
}
for(a = 1 ; a < b ; a ++) {
. . . . . .
} liuyanxiong 发表于 2019-12-1 15:52
所以第六步怎么实现
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int a;
float b,c;
A:printf("请输入一个0~4的整数: ");
scanf("%d",&a);
if(a>0&&a<5)
{
switch(a)
{
case 1:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的和为:%f\n",b+c);
};break;
case 2:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的差为:%f\n",b-c);
};break;
case 3:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的积为:%f\n",b*c);
};break;
case 4:{
printf("请输入两个数: ");
scanf("%f %f",&b,&c);
printf("二者的商为:%f\n",b/c);
};break;
default :printf("输入错误");
}
printf("是否继续(Y/N): ");
char d=getch();
if(d=='Y'||'Y'==d)
{
system("cls");
goto A;
}
}
else
return 0;
}
清屏语句我也刚差的资料; 本帖最后由 笨小孩丶 于 2019-12-1 17:14 编辑
笨小孩丶 发表于 2019-12-1 13:29
页:
[1]