2

プログラミングの入門クラスを始めたばかりなので (ご容赦ください)、最初の課題の 1 つに少し行き詰まっています。

1 と 10 の間の乱数を変数に格納し、ユーザーに数字の入力を求め、ユーザーが同じ数字を推測したかどうかを通知する数字推測ゲームをコーディングすることになっています。

私はしばらくそれをいじっていましたが、コードは最初のものからかなり変更されました。現在、プログラムは「おめでとう、あなたは勝者です」と言っています...

誰かが私が間違っている方向に私を向けることができれば、それは素晴らしいことです.

コードは、質問の最初の投稿以降に編集されています

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

int main()
{

    //Declare Variables 
    int RandomNum;
    int UserGuess;

    //Initialize Variables
    RandomNum=0;
    srand ( (unsigned)time ( NULL ) );
    char UserInput = 'a';
    int a = UserInput;

    //Generate RandomNum
    RandomNum = (rand() % 10)+1;

    //Prompt User for UserInput
    printf("Guess the random number!\n");
    printf("Enter your guess now!\n");
    scanf("%d", &UserInput);

    //Determine Outcome
    if (UserInput == RandomNum) 
        printf("You're a WINNER!\n");
    else
        printf("Incorrect! The number was %d\n", RandomNum);

    //Stay Open
    system("PAUSE");
}
4

5 に答える 5

0

のタイプを変更しUserInput、 を削除UserGuessし、スプリアス呼び出しを に変更すると、次のようにatoi()動作します。

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

int main() {

//Declare Variables
    int RandomNum;
    int UserInput;      //  Changed to int

//Initialize Variables
    RandomNum = 0;
    UserInput = 0;      // Changed initialization
    srand((unsigned) time(NULL));

//Generate RandomNum
    RandomNum = (rand() % 10) + 1;

//Prompt User for UserInput
    printf("Guess the random number!\n");
    printf("Enter your guess now!\n");
    scanf("%d", &UserInput);

//Determine Outcome
    if (UserInput == RandomNum)
        printf("You're a WINNER!\n");

    else
        printf("Incorrect! The number was %d\n", RandomNum);

//Stay Open
    system("PAUSE");
}
于 2013-10-08T06:36:42.830 に答える