• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 296
  • Last Modified:

quick syntax fix needed

There's something very wrong with this function...month and day aren't being changed, and I can't figure out why! Also, I'm trying to check for bad data (also wanted to check to see if its valid at all, but that didn't quite work).  I put into /* to isolate the other problem, but I would like this fixed too.void getdata(int *month, int *day)

        {


        printf("Please enter the month and day in the format mm/dd.");

        scanf("%d/%d", *month, *day);

        /* while(*month>12||*month<1||*day<1||*day>31)
                {
                printf("\nInput is incorrect. Please reenter:");
                scanf("%d/%d", *month, *day);
                } */
        }                    

0
SaraBiz
Asked:
SaraBiz
1 Solution
 
SaraBizAuthor Commented:
Sorry, forgot to add this part...


int main(void)

        {
        int month=0, day=0;

        getdata(&month, &day);
        printf("%d, %d", month, day);
        }        

0
 
meerakCommented:
The problem is the parameter to the routine scanf. It
should be
scanf("%d/%d", month, day); .

A "*" should not be present. Parameters should be passed by
reference to the scanf funtion.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now