鱼C论坛

 找回密码
 立即注册
查看: 2702|回复: 9

[已解决]有点问题不懂,来看看吧!

[复制链接]
发表于 2019-12-1 11:52:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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)不知道该怎么实现。
最佳答案
2019-12-1 16:14:53
本帖最后由 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 ++) {
            . . . . . .
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-1 11:54:00 | 显示全部楼层
&#160是多余的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 12:46:43 | 显示全部楼层
#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")                          ;
                }
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 13:29:30 | 显示全部楼层
本帖最后由 笨小孩丶 于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-1 15:52:14 | 显示全部楼层

所以第六步怎么实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-1 15:52:55 | 显示全部楼层

还有别的方法吗,还没学bool。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 16:14:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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 ++) {
            . . . . . .
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 17:09:03 | 显示全部楼层
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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 17:10:35 | 显示全部楼层
清屏语句我也刚差的资料;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-1 17:11:07 | 显示全部楼层
本帖最后由 笨小孩丶 于 2019-12-1 17:14 编辑

[quote]笨小孩丶 发表于 2019-12-1 13:29

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 18:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表