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. ``````#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)`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. 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.

4. Verwenden Sie einfach einen Integrated development environment (IDE) mit syntaktischen Fehler hervorheben. Wir wollen nicht, dass Ihre Editoren.

Hier finden Sie einige nützliche links, die (offensichtlich eine C++ – IDE die C syntax überprüfen zu):

Happy coding!