是Zoria~ 2022-12-27 11:20 采纳率: 70%
浏览 27
已结题

设计函数出现错误求解答

题目要求:设计一个函数,输出一份有4个选项的菜单,提示用户选择;再设计一个带两个整型参数的函数,两个形参分别表示上限和下限,在调用该函数时,用户键盘输入的整数在上下限之间(1~4),则利用前一个函数输出用户选择的菜单,若超过上下限,则提示用户输入错误、重新输入,直至输出菜单中一个选项

不知道我输的程序哪里出现了错误,求朋友们指点一二


#include<stdio.h>
int SHUCHU()
{
    printf("Please choose one of the following:\n");
    printf("1) copy files   2) move files\n");
    printf("3) remove files 4) quit\n");
    printf("Enter the number of your choice:");
    return 0;
 } 
 
 int PANDUAN(int x,int y)
 {
     x=4,y=1;
     int a;
     scanf("%d",&a);
     if((a>x)||(a<y))
     {
         printf("用户输入错误、重新输入");
     }
     return 1;
 }
 
  • 写回答

3条回答 默认 最新

  • heart_6662 2022-12-27 11:37
    关注

    望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
    大概来说就是三个问题

    1. 在函数 PANDUAN 中,x 和 y 的值没有意义,因为在函数内部立即将其重新赋值为 4 和 1。应将形参的值传入函数内部。
    1. 在函数 PANDUAN 中,每次用户输入的数字都超出了范围,因为输入的数字应该和 x 和 y 进行比较,而不是和 4 和 1 进行比较。
    1. 在函数 PANDUAN 中,每次用户输入错误时,都会提示用户输入错误、重新输入,但是并没有提供重新输入的机会。应该在提示用户输入错误后,再次调用 scanf 函数,让用户重新输入。

    下面是根据你的代码修改的结果

    
    #include<stdio.h>
    
    void SHUCHU()
    {
    printf("Please choose one of the following:\n");
    printf("1) copy files 2) move files\n");
    printf("3) remove files 4) quit\n");
    printf("Enter the number of your choice:");
    }
    
    int PANDUAN(int x, int y)
    {
    int a;
    scanf("%d", &a);
    while (a > x || a < y)
    {
    printf("输入错误,请重新输入:");
    scanf("%d", &a);
    }
    return a;
    }
    
    int main()
    {
    SHUCHU();
    int choice = PANDUAN(4, 1);
    printf("你的选择是: %d\n", choice);
    return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 已采纳回答 12月27日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c