关于使用一段时间来“拥抱”我的代码而不是调用main()的另一个问题

买卖

因此,在此链接->执行while循环问题时,我遇到了一个问题,该问题涉及使用while代替而非调用的问题main(),这对我有帮助,我的代码可以正常工作,但是有一个新的小问题。我会用一种“骰子滚子代码”来展示它

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main(){

    srand((unsigned)time(NULL));
    int totalSides, dice, modifier;
    char c, d;

    printf("Welcome to the dice roller!\n");
    printf("If you wanna roll the dice, press 'r'. If you wanna quit, press 'q': ");
    scanf(" %c", &c);

    while(c == 'r'){

        printf("How many sides does the dice you want to roll have? Answer with a int number: ");
        scanf("%d", &totalSides);
        printf("Do you need any modifier? Press 'a' to add, press any other key to dispense: ");
        scanf(" %c", &d);
        if(d == 'a'){
            printf("Insert your modifier value: ");
            scanf("%d", &modifier);
            printf("\n");
        }
        dice = rand() % totalSides + 1;
        printf("You've got a %d!\n", dice);
        if(d == 'a'){
            printf("But you've got a %d modifier...\n", modifier);
            dice = dice + modifier;
            printf("Then, you got a %d!", dice);
        }

        printf("\n\n\n\n");
        repeat();
        c = repeat();
        printf("\n\n\n\n");
    }
}

int repeat(){
    char c;
    printf("Do you want to reroll? Press 'r' to reroll, pres 'q' to quit: ");
    scanf("%c", &c);
    return c;
}

该程序运行良好,但是在输出中我得到了两次相同的句子,例如:“您要重新滚动吗?按'r'重新滚动,按'q'退出:是否要重新滚动?按'r '重新滚动,按'q'退出:“

我该如何解决?

凯尔

您正在拨打repeat两次,因此它正在打印两次。

repeat();
c = repeat();

尝试替换第一个通话以重复到getchar()这将消耗在修饰符行之后输入的字符。

getchar();
c = repeat();

看来您刚刚开始学习C,可能值得读一本书。一,我可以推荐是的Modern C它可以免费在线获得,也可以购买印刷版。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一段时间后重定向到另一个 Node.js 页面

来自分类Dev

AngularJS:我可以每隔一段时间重复调用一个函数吗?

来自分类Dev

如何在 ReactJS 中经过一段时间后从一个屏幕切换到另一个屏幕?

来自分类Dev

我如何启动一个线程,但保持一段时间?

来自分类Dev

我前一段时间做了一个程序,但我不了解它的某些部分。关于清单

来自分类Dev

一段时间后是否可以将对象从S3存储桶自动移动到另一个存储桶?

来自分类Dev

一段时间后是否可以自动将对象从S3存储桶移动到另一个存储桶?

来自分类Dev

单击另一个离子切换后如何禁用离子切换一段时间?

来自分类Dev

“ TypeError:res.sendStatus不是一个函数”为什么一段时间后出现此错误?

来自分类Dev

每隔一段时间将一个音频文件添加到另一个音频文件,最终结果是一个新的音频文件

来自分类Dev

我们如何等待一段时间才能检测到下一个动作?

来自分类Dev

一段时间后,我的浏览器连接到一个陌生的网站

来自分类Dev

如何在一段时间内监视一个进程的CPU使用率?

来自分类Dev

Chrome:onaudioprocess在一段时间后停止被调用

来自分类Dev

一段时间后如何调用方法

来自分类Dev

一段时间后终止调用的函数

来自分类Dev

一段时间不活动后显示一个对话框

来自分类Dev

用Popen打开一个进程,一段时间后终止

来自分类Dev

我怎么可以停止一段时间?

来自分类Dev

我如何限制一段时间

来自分类Dev

两个&&有一段时间的情况?

来自分类Dev

一段时间后执行代码而不在Python中使用睡眠吗?

来自分类Dev

解释为什么我在一段代码而不是另一段代码中出错

来自分类Dev

解释为什么我在一段代码而不是另一段代码中出错

来自分类Dev

按下一个键来激活键盘记录器并让它运行一段时间

来自分类Dev

一段时间后使用Javascript加载网页

来自分类Dev

使用Python跟踪GPS数据一段时间

来自分类Dev

Google Place API一段时间无法使用

来自分类Dev

在一段时间内使用变量的增量

Related 相关文章

  1. 1

    一段时间后重定向到另一个 Node.js 页面

  2. 2

    AngularJS:我可以每隔一段时间重复调用一个函数吗?

  3. 3

    如何在 ReactJS 中经过一段时间后从一个屏幕切换到另一个屏幕?

  4. 4

    我如何启动一个线程,但保持一段时间?

  5. 5

    我前一段时间做了一个程序,但我不了解它的某些部分。关于清单

  6. 6

    一段时间后是否可以将对象从S3存储桶自动移动到另一个存储桶?

  7. 7

    一段时间后是否可以自动将对象从S3存储桶移动到另一个存储桶?

  8. 8

    单击另一个离子切换后如何禁用离子切换一段时间?

  9. 9

    “ TypeError:res.sendStatus不是一个函数”为什么一段时间后出现此错误?

  10. 10

    每隔一段时间将一个音频文件添加到另一个音频文件,最终结果是一个新的音频文件

  11. 11

    我们如何等待一段时间才能检测到下一个动作?

  12. 12

    一段时间后,我的浏览器连接到一个陌生的网站

  13. 13

    如何在一段时间内监视一个进程的CPU使用率?

  14. 14

    Chrome:onaudioprocess在一段时间后停止被调用

  15. 15

    一段时间后如何调用方法

  16. 16

    一段时间后终止调用的函数

  17. 17

    一段时间不活动后显示一个对话框

  18. 18

    用Popen打开一个进程,一段时间后终止

  19. 19

    我怎么可以停止一段时间?

  20. 20

    我如何限制一段时间

  21. 21

    两个&&有一段时间的情况?

  22. 22

    一段时间后执行代码而不在Python中使用睡眠吗?

  23. 23

    解释为什么我在一段代码而不是另一段代码中出错

  24. 24

    解释为什么我在一段代码而不是另一段代码中出错

  25. 25

    按下一个键来激活键盘记录器并让它运行一段时间

  26. 26

    一段时间后使用Javascript加载网页

  27. 27

    使用Python跟踪GPS数据一段时间

  28. 28

    Google Place API一段时间无法使用

  29. 29

    在一段时间内使用变量的增量

热门标签

归档