3

私はイントロプログラミングを行っており、この割り当てに苦労しています。コードは次のとおりです。

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

int main(void)
{

int cardNum(int firstCard, int secondCard; 
int highLow;
int score;

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

printf("The current card is a %d\n" ,firstCard(2,14));
printf("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
scanf("%d" ,highLow);

if (cardNum > 1 && cardNum < 11)
{        
     printf ("The card is: %d ,secondCard.");
}        
else if (cardNum == 11)
{
    printf ("The card is: Jack"); 
}       
else if (cardNum == 12)
{
    printf ("The card is: Queen"); 
}       
else if (cardNum == 13)
{
    printf ("The card is: King"); 
}       
else if cardNum == 14)
{
    printf ("The card is: Ace"); 
}       
{
if (highLow == 1 && secondCard > firstCard) || (highLow == 2, && secondCard < firstCard)
    {   
        score = score + 1; 
        printf ("\n You have guessed correctly.");
        printf ("\n Your current score is %d ,score!\n");
        printf("The current card is a ("%d" ,cardOne). \n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
    }    
else if (highLow == 1, && secondCard < firstCard) || (highLow == 2, && secondCard > firstCard)  
    {
        score = score - 1;
        printf ("The card is: %d ,secondCard.");
        printf ("\n You have guessed incorrectly.");
        printf ("\n Your current score is %d ,score!\n");
        printf ("The current card is a %d ,cardOne."); 
        printf ("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
    }
else if (secondCard == firstCard)
    {
        printf ("\n Matching cards, no change in score");
    }
else if (highLow == 0)
    {
        printf ("\n Thanks for playing! Your final score is %d, score.");
    }
else
    {
        printf ("\n Incorrect input. Please enter 0, 1 or 2");      
    }
}    
return(0);
}

エラーは次のとおりです。

a3.c: In function ‘main’:
a3.c:24:5: error: expected declaration specifiers or ‘...’ before ‘score’
a3.c:25:5: error: expected declaration specifiers or ‘...’ before ‘srand’
a3.c:27:5: error: expected declaration specifiers or ‘...’ before ‘printf’
a3.c:28:5: error: expected declaration specifiers or ‘...’ before ‘printf’
a3.c:29:5: error: expected declaration specifiers or ‘...’ before ‘scanf’
a3.c:31:5: error: expected declaration specifiers or ‘...’ before ‘if’
a3.c:52:9: error: ‘highLow’ undeclared (first use in this function)
a3.c:52:9: note: each undeclared identifier is reported only once for each function it appears in
a3.c:52:25: error: ‘secondCard’ undeclared (first use in this function)
a3.c:52:38: error: ‘firstCard’ undeclared (first use in this function)
a3.c:52:49: error: expected expression before ‘||’ token

乱数を作成して保存することになっていたため、宣言されていない部分については知っていますが、まだそれを理解していません(アドバイスは素晴らしいでしょう)が、主に予想される宣言指定子の広範なリストについて心配しています。どんな助けでも大歓迎です!

4

4 に答える 4

3

1)int cardNum(int firstCard, int secondCard;

これの代わりにあなたは書くべきです

int cardNum, int firstCard, int secondCard;

変数を宣言しているため

2)if (highLow == 1 && secondCard > firstCard) || (highLow == 2, && secondCard < firstCard)

以下に示すこの書き込みステートメントの代わりに

if (highLow == 1 && secondCard > firstCard) || (highLow == 2 && secondCard < firstCard)

3)else if (highLow == 1, && secondCard < firstCard) || (highLow == 2, && secondCard > firstCard)

あなたは書くべきです

else if (highLow == 1 && secondCard < firstCard) || (highLow == 2 && secondCard > firstCard)

于 2013-10-19T06:54:16.917 に答える
0
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{

int cardNum, int firstCard, int secondCard; 
int highLow;
int score;

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

printf("The current card is a %d\n", firstCard(2,14));
printf("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
scanf("%d" ,highLow);

if (cardNum > 1 && cardNum < 11)
{        
     printf ("The card is: %d ,secondCard.");
}        
else if (cardNum == 11)
{
    printf ("The card is: Jack"); 
}       
else if (cardNum == 12)
{
    printf ("The card is: Queen"); 
}       
else if (cardNum == 13)
{
    printf ("The card is: King"); 
}       
else if cardNum == 14)
{
    printf ("The card is: Ace"); 
}       
{
if ((highLow == 1 && secondCard > firstCard) || (highLow == 2 && secondCard < firstCard))
    {   
        score = score + 1; 
        printf ("\n You have guessed correctly.");
        printf ("\n Your current score is %d ,score!\n");
        printf("The current card is a ("%d" ,cardOne). \n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
    }    
else if ((highLow == 1 && secondCard < firstCard) || (highLow == 2 && secondCard > firstCard))  
    {
        score = score - 1;
        printf ("The card is: %d ,secondCard.");
        printf ("\n You have guessed incorrectly.");
        printf ("\n Your current score is %d ,score!\n");
        printf ("The current card is a %d ,cardOne."); 
        printf ("\n Will the next card be higher(1) or lower(2)? (press 0 to quit)");
    }
else if (secondCard == firstCard)
    {
        printf ("\n Matching cards, no change in score");
    }
else if (highLow == 0)
    {
        printf ("\n Thanks for playing! Your final score is %d, score.");
    }
else
    {
        printf ("\n Incorrect input. Please enter 0, 1 or 2");      
    }
}    
return(0);
}
于 2013-10-18T20:50:50.493 に答える
-3

構文エラーが強調表示されている任意の統合開発環境 (IDE)を使用するだけです。私たちはあなたの編集者になりたくありません。

ここにいくつかの便利なリンクがあります (明らかに、どの C++ IDE でも C 構文もチェックされます)。

ハッピーコーディング!

于 2013-10-18T20:51:12.600 に答える