Help with my euclidean algorithm program?

This is a discussion on Help with my euclidean algorithm program? within the C++ Programming forums, part of the General Programming Boards category; The error I get is Line 8: error: 'euclidean_algorithm' was not declared in this scope Does anyone know what's wrong? ...

  1. #1
    Registered User
    Join Date
    Mar 2011
    Posts
    3

    Help with my euclidean algorithm program?

    The error I get is Line 8: error: 'euclidean_algorithm' was not declared in this scope

    Does anyone know what's wrong?


    Code:
    int main(int argc, char *argv[]) {
    	int x,y,aa;
    
    	cout << "enter number 1: " << endl;
    	cin >> x;
    	cout << "enter number 2: " << endl;
    	cin >> y;
    	aa=euclidean_algorithm(x,y);
    }
    
    
    int euclidean_algorithm(int a, int b) {
    
    	// the first thing to do is to make sure a > b. If it is not, swap them.
    
    	if (b > a) { int t = a; a = b; b = t; }
    
    	// now we run the algorithm in a loop
    	while (b != 0) {
    	    int temp = a % b;
    	    a = b;
    	    b = temp;
    	}
    
    	cout << "the greatest common denominator is " << a << endl;
    }

  2. #2
    a_capitalist_story
    Join Date
    Dec 2007
    Posts
    2,652
    The C++ compiler reads files from the top down. When you put euclidean_algorithm as a function call in your main, the compiler goes looking through what it's already found to make sure there's a function with that name. But alas, there is not in this case. You need to prototype the function before you call it in your code.

  3. #3
    Registered User
    Join Date
    Mar 2011
    Posts
    3
    Thanks, I did a line to do that, and now the error is at the end bracket on the last line -

    line 28: warning: control reaches end of non-void function


    what does this mean?

  4. #4
    Registered User
    Join Date
    Jun 2005
    Posts
    6,528
    euclidean_algorithm is declared as returning int (returning anything other than void means the function is "non-void", according to your compiler).

    There is no return statement before the closing brace at the end of that function. One is needed of the form "return some_integral_value;"
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy in reply to you, it is likely you deserve it. Suck it up, sunshine, and read this, this, and this before posting again.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. BOOKKEEPING PROGRAM, need help!
    By yabud in forum C Programming
    Replies: 3
    Last Post: 11-16-2006, 11:17 PM
  2. I need some help with my program please.
    By agentxx04 in forum C Programming
    Replies: 9
    Last Post: 09-26-2004, 08:51 AM
  3. Results for the Encryption Contest -- June 23, 2002
    By ygfperson in forum A Brief History of Cprogramming.com
    Replies: 18
    Last Post: 07-07-2002, 09:04 AM
  4. Contest Results - May 27, 2002
    By ygfperson in forum A Brief History of Cprogramming.com
    Replies: 18
    Last Post: 06-18-2002, 02:27 PM
  5. My program, anyhelp
    By @licomb in forum C Programming
    Replies: 14
    Last Post: 08-14-2001, 11:04 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21