implicit declaration of function

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sam123456789
    New Member
    • Apr 2012
    • 3

    implicit declaration of function

    implicit declaration of function
    please tell me what im doing wrong.

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    
    int main(int argc, char *argv[])
    {
      char choice;
      int number1, number2;
      
      printf("=========================================================\n");
      printf("* A (a):Enter two integer numbers                       *\n");
      printf("* B (b):Find the maximum of the two numbers             *\n");
      printf("* C (c):Find the minimum of the two numbers             *\n");
      printf("* D (d):Determine if both numbers are equal             *\n");
      printf("* Q (q):Quit program                                    *\n");
      printf("=========================================================\n");
      printf("\n");
      
      printf("*Enter Your Chice:  ");
      scanf("%c",&choice); 
      
      switch(choice)
    {
    case 'a':
    case 'A':
              PrintMenu(char choice);
    break;
    
    case 'b':
    case 'B':
             EnterNumber(char choice);
    break; 
    
    case 'c':
    case 'C':
             FindMaximum(int number1,int number2); 
    break;
    
    case 'd':
    case 'D':
              FindMinimum(int number1,int number2);
    break;
    
    case 'q':
    case 'Q':
             IsEqual(int number1,int number2);
    break;
    }
      
      
      void PrintMenu(char choice);
              {            
              printf("\nPlease Enter an Integer:");
              scanf("%d",&number1);
              printf("\n");
              printf("\nPlease Enter an Integer:");
              scanf("%d",&number2);
              printf("\n You entered %d and %d\n",number1,number2);
              }
      
      int EnterNumber(char choice);
          {
           if (number2<number1)
           printf("The Bigger number is %d\n",number1);
           else if (number1<number2)    
           printf("The Bigger number is %d\n",number2);
           }
       
      int FindMaximum(int number1, int number2);
          {
          if (number1<number2)
          printf("The Smaller number is %d\n",number1);
          else if (number2<number1)
          printf("The Smaller number is %d\n",number2);
          }
          
            
      int FindMinimum(int number1, int number2);
          {
         if(number1 == number2)
         printf("The numbers are equal\n");
         else if(1)
         printf("The numbers are NOT Equal\n");
         }
         
    
      int IsEqual(int number1, int number2);
      {
      if(number1 == 'q'&& number2 == 'q')
      printf("\n Quitting program!");
      }
    
    
    return 0;
    }
    Last edited by Niheel; Apr 16 '12, 01:06 AM. Reason: you gotta do a better job explaining your code and using better titles, otherwise your questions will get deleted
  • weaknessforcats
    Recognized Expert Expert
    • Mar 2007
    • 9214

    #2
    B the time the compiler gets here:
    Code:
    switch(choice)
     {
     case 'a':
     case 'A':
     PrintMenu(char choice);
     break;
    it hasn't been told there there is a function named PrintMenu with a char argument. So it puts out an error.

    You need to tell the compiler a funtions exists before you call it.
    Use a function prototype for this:


    Also every one of your functions has a semi-colon before the opening brace:

    Code:
    void PrintMenu(char choice);  <---------!
     { 
    printf("\nPlease Enter an Integer:");
     scanf("%d",&number1);
     printf("\n");
     printf("\nPlease Enter an Integer:");
     scanf("%d",&number2);
     printf("\n You entered %d and %d\n",number1,number2);
     }
    You will need to remove those.

    Comment

    • sam123456789
      New Member
      • Apr 2012
      • 3

      #3
      I tried removing them , but i m not getting the part where you tell me to "You need to tell the compiler a funtions exists before you call it.
      Use a function prototype for this:"

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


      int main(int argc, char *argv[])
      {
      char choice;
      int number1, number2;

      printf("======= =============== =============== =============== =====\n");
      printf("* A (a):Enter two integer numbers *\n");
      printf("* B (b):Find the maximum of the two numbers *\n");
      printf("* C (c):Find the minimum of the two numbers *\n");
      printf("* D (d):Determine if both numbers are equal *\n");
      printf("* Q (q):Quit program *\n");
      printf("======= =============== =============== =============== =====\n");
      printf("\n");

      printf("*Enter Your Chice: ");
      scanf("%c",&cho ice);



      void PrintMenu(char choice)
      {
      printf("\nPleas e Enter an Integer:");
      scanf("%d",&num ber1);
      printf("\n");
      printf("\nPleas e Enter an Integer:");
      scanf("%d",&num ber2);
      printf("\n You entered %d and %d\n",number1,n umber2);
      }

      int EnterNumber(cha r choice)
      {
      if (number2<number 1)
      printf("The Bigger number is %d\n",number1);
      else if (number1<number 2)
      printf("The Bigger number is %d\n",number2);
      }

      int FindMaximum(int number1, int number2)
      {
      if (number1<number 2)
      printf("The Smaller number is %d\n",number1);
      else if (number2<number 1)
      printf("The Smaller number is %d\n",number2);
      }


      int FindMinimum(int number1, int number2)
      {
      if(number1 == number2)
      printf("The numbers are equal\n");
      else if(1)
      printf("The numbers are NOT Equal\n");
      }


      int IsEqual(int number1, int number2)
      {
      if(number1 == 'q'&& number2 == 'q')
      printf("\n Quitting program!");
      }

      switch(choice)
      {
      case 'a':
      case 'A':
      PrintMenu(char choice)
      break;

      case 'b':
      case 'B':
      EnterNumber(cha r choice)
      break;

      case 'c':
      case 'C':
      FindMaximum(int number1,int number2)
      break;

      case 'd':
      case 'D':
      FindMinimum(int number1,int number2)
      break;

      case 'q':
      case 'Q':
      IsEqual(int number1,int number2)
      break;
      }

      Comment

      • rekedtechie
        New Member
        • Feb 2012
        • 51

        #4
        Code:
        #include<stdio.h>
        #include<stdlib.h>
        #include<conio.h>
        /*void variable doesnt return anything, thats why we need to use the parameters*/
        
        void printMenu(int a, int b) {
        printf("you entered %d 
        and %d",a,b);
        }
        
        int main()
        {
        char choice;
        int n1,n2;
        printf("enter choice:\n");
        scanf("%c",&choice);
        
        switch(choice) {
        case 'A':
        case 'a':
        printf("enter n1:\n");
        scanf("%d",&n1);
        printf("enter n2:\n");
        scanf("%d",&n2);
        printMenu(n1,n2);
        break;
        
        default:
        printf("not in menu");
        goto main();
        break;
        }
        
        getch();
        }

        Comment

        • weaknessforcats
          Recognized Expert Expert
          • Mar 2007
          • 9214

          #5
          Compile you code and fix the firtst error only. Then recompile. Often subsequent errors are removed by fixing the first one.

          If you fix only the first error and recompile each time you will eventually get a good build.

          Once you get there you can lean how to step through the code using your debugger.

          Comment

          Working...