Mittwoch, Januar 22, 2020

erwartet, Deklaration-Bezeichner Fehler

Ich bin in der intro-Programmierung und kämpft mit dieser Zuordnung jede Hilfe ist willkommen! Hier ist der code:

#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);
}

Diese sind die Fehler:

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

Weiß ich über den nicht deklarierten Teil, da sollte ich eigentlich machen, Zufallszahlen und speichern Sie Sie, aber habe ich noch nicht ganz herausfinden (jeder Rat wäre genial), aber vor allem bin ich besorgt über die umfangreiche Liste der zu erwartenden Erklärung-Bezeichner. Jede mögliche Hilfe würde geschätzt!

Blick auf diese Linie: int cardNum(int firstCard, int secondCard;
und diese Zeile: if (highLow == 1 && secondCard > firstCard) || (highLow == 2, && secondCard < firstCard)
und diese Zeile: else if (highLow == 1, && secondCard < firstCard) || (highLow == 2, && secondCard > firstCard)

InformationsquelleAutor Samantha Christine | 2013-10-18

4 Kommentare

  1. 1
    #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);
    }

    InformationsquelleAutor Ashish

  2. 1

    1)int cardNum(int firstCard, int secondCard;

    Stattdessen sollten Sie schreiben

    int cardNum, int firstCard, int secondCard;

    weil Sie das deklarieren von Variablen

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

    statt diese write-Anweisung, die unten gegeben

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

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

    sollten Sie schreiben

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

    InformationsquelleAutor Ashish

  3. 0

    Blick auf diese Linie:

    int cardNum(int firstCard, int secondCard;

    Ich denke, es sollte sein:

    int cardNum, int firstCard, int secondCard; 

    Auch wenn die Aussagen falsch sind. Ich denke, es sollte sein:

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

    und

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

    Sollten Sie anfangen, zu lernen, C von vorne.

    InformationsquelleAutor hek2mgl

Kostenlose Online-Tests