3

I am in intro programming and struggling with this assignment any help is appreciated! Here is the 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);
}

These are the errors:

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

I know about the undeclared part because I was supposed to make random numbers and store them but I still havent quite figure that out (any advice would be awesome) but mainly I am concerned about the extensive list of expected declaration specifiers. Any help would be appreciated!

Pranav Singh
  • 17,079
  • 30
  • 77
  • 104

4 Answers4

3

1)int cardNum(int firstCard, int secondCard;

Instead of this you should write

int cardNum, int firstCard, int secondCard;

because you are declaring variables

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

instead of this write statement given below

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

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

you should write

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

Community
  • 1
  • 1
Ashish
  • 1,943
  • 2
  • 14
  • 17
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);
}
Ashish
  • 1,121
  • 2
  • 15
  • 25
-1

Look at this line:

int cardNum(int firstCard, int secondCard;

I guess it should be:

int cardNum, int firstCard, int secondCard; 

Also the if statements are wrong. I guess it should be:

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

and

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

You should start learning C from scratch.

hek2mgl
  • 152,036
  • 28
  • 249
  • 266
-3

Just use any Integrated development environment (IDE) with syntactic errors highlighting. We do not want to be your editors.

Here is some useful links (obviously any C++ IDE will check C syntax too):

Happy coding!

Community
  • 1
  • 1
Ivan Aksamentov - Drop
  • 12,860
  • 3
  • 34
  • 61