C 玩掷骰子游戏

C 玩掷骰子游戏,c,random,C,Random,一个普通的六面骰子掷六次;每次掷骰子时,用户必须猜一个数字 被抛出。如果数字与猜测相符,则用户赢得一分。得4分获胜。 我正在做一个掷骰子游戏的项目。目标是猜测骰子将落在的数字,并重复此循环,直到用户选择退出程序。目前,我正在努力使初始阶段工作,但由于某些原因,我的骰子出现了一个非常大的数字,由于我对SRS的理解有限,我不知道如何修复它,因此任何帮助都将不胜感激 #include <stdio.h> #include <stdlib.h> #include <time

一个普通的六面骰子掷六次;每次掷骰子时,用户必须猜一个数字 被抛出。如果数字与猜测相符,则用户赢得一分。得4分获胜。 我正在做一个掷骰子游戏的项目。目标是猜测骰子将落在的数字,并重复此循环,直到用户选择退出程序。目前,我正在努力使初始阶段工作,但由于某些原因,我的骰子出现了一个非常大的数字,由于我对SRS的理解有限,我不知道如何修复它,因此任何帮助都将不胜感激

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

int main()
{
    int runs, correct, correct_guesses, guess;

    srand(time(NULL));
    correct_guesses = 0;

    int roll = ((rand() % 6) + 1);
    printf("Please guess the number the dice will land on\n");
    printf("%d", &roll);
    scanf("%d", &guess);
    {
        switch (guess)
        {
        case '1': correct = 1 == roll; break;
        case '2': correct = 2 == roll; break;
        case '3': correct = 3 == roll; break;
        case '4': correct = 4 == roll; break;
        case '5': correct = 5 == roll; break;
        case '6': correct = 6 == roll; break;
        default: correct = 0; printf("Not a possible outcome\n");
        }
    if (correct)
    {
        printf("You guessed correctly!\n");
    }
    else
        printf("You guessed incorrectly\n");
    }
}
#包括
#包括
#包括
int main()
{
int运行,正确,正确的猜测,猜测;
srand(时间(空));
正确的猜测=0;
int roll=((rand()%6)+1);
printf(“请猜骰子将落在的数字\n”);
printf(“%d”,滚动(&R));
scanf(“%d”,猜测(&guess);
{
开关(猜测)
{
案例“1”:正确=1==滚动;中断;
案例“2”:正确=2==滚动;中断;
案例“3”:正确=3==滚动;断裂;
案例“4”:正确=4==滚动;中断;
案例“5”:正确=5==滚动;中断;
案例“6”:正确=6==滚动;中断;
默认值:correct=0;printf(“不可能的结果”);
}
如果(正确)
{
printf(“您猜对了!\n”);
}
其他的
printf(“您猜错了\n”);
}
}

printf(“%d”,&roll)应该是
printf(“%d”,滚动)-打开编译器警告并将其视为错误如果您对某些C函数的理解有限,我建议您在一个终端中使用man命令:man srand web链接到此man:查看您的代码问题与srand用法没有直接联系。您正试图显示rand和guess int变量的地址。我还建议您深入研究这个问题:为什么要使用开关?只要写
correct=guess==roll
,或者只要
如果(guess==roll)correct=1
。过分简洁是没有好处的。