472,791 Members | 1,547 Online

# multiplying two numbers and giving the square root

Hello, I have newbie question.
I'm stuck on this current assignment.

Write a program that prompts the user for two integer values,
passes the values to a function where they are multiplied
together and the square root of the product is returned and
displayed for the user. The function should return a double.
Hint: If you multiply an integer by 1.0 the result will be a
double. For example:

Enter an integer: 7
Enter another integer: 6
The square root of 7 times 6 = 6.48074

--
ok, so what I did was created a program that would get the
sqaure root of a number, and then created another one that multipled
2 numbers. Here is the source for the square root:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
double intOne; // use double for real numbers

cout << "Enter an integer:\n";
cin >> intOne;
double side; // create another variable
side = sqrt( intOne ); // call function, assign return value
cout << "The square root is " << side;
cout << " \n";

return 0;
}

here is the source for multiplying the two integers:

#include <iostream>
using namespace std;
int main()
{
int number1,number2, product;
cout << "Enter a number: ";
cin >> number1;
cout << "Enter another number: ";
cin >> number2;
product = number1 * number2;
cout << "The product of " << number1 <<" and "<< number2 << " is " << product <<"\n";
return 0;
}

I tried to combine the two together using this code:

#include <iostream>
using namespace std;
int main()
{
int number1,number2, product;
cout << "Enter a number: ";
cin >> number1;
cout << "Enter another number: ";
cin >> number2;
product = number1 * number2;
cout << "The product of " << number1 <<" and "<< number2 << " is " << product <<"\n";
root = sqrt( product );
cout << "The square root is " << root <<"\n";

return 0;
}

here is the error I'm getting:

combine.cc: In function `int main()':
combine.cc:16: error: `root' undeclared (first use this function)
combine.cc:16: error: (Each undeclared identifier is reported only once for
each function it appears in.)
combine.cc:16: error: call of overloaded `sqrt(int&)' is ambiguous
/usr/include/bits/mathcalls.h:157: error: candidates are: double sqrt(double)
/usr/include/g++/cmath:550: error: long double std::sqrt(long
double)
/usr/include/g++/cmath:546: error: float std::sqrt(float)

I'm new to this language and any help would be greatly
appreciated. It would be great if someone could point
me in the right direction.
Thanks a bunch,

--Cameron
Jul 22 '05 #1
4 8602
cplusplus <cp*******@linux.local> wrote in
news:pa****************************@linux.local:
int number1,number2, product;

should be
int number1,number2, product, root = 0;
Jul 22 '05 #2
On Wed, 14 Jun 2006 12:57:24 -0700, cplusplus wrote:
Hello, I have newbie question.
[snip]
here is the error I'm getting: combine.cc: In function `int main()':
combine.cc:16: error: `root' undeclared (first use this function)
It's quite simple, really. Compiler error messages are not always clear,
but this one is. If you become a programmer, you will be spending a lot of
time deciphering what the error message means in terms of your code, so
it's best to start right away! The problem here is that you have not
double intOne; // use double for real numbers

You have no such declaration for root in the combined program.

John's answer was close, but would give you an integral root, which would
not produce the desired answer (it would give 6 as the root of 6 * 7).

--
Greg Schmidt gr***@trawna.com
Trawna Publications http://www.trawna.com/
Jul 22 '05 #3
you don't include cmath in the third program and you don't declare the
variable root:

#include <cmath> //should go near the beginning of the prog

int root = sqrt( product ); //inserted int before root

cplusplus wrote:
Hello, I have newbie question.
I'm stuck on this current assignment.

Write a program that prompts the user for two integer values,
passes the values to a function where they are multiplied
together and the square root of the product is returned and
displayed for the user. The function should return a double.
Hint: If you multiply an integer by 1.0 the result will be a
double. For example:

Enter an integer: 7
Enter another integer: 6
The square root of 7 times 6 = 6.48074

--
ok, so what I did was created a program that would get the
sqaure root of a number, and then created another one that multipled
2 numbers. Here is the source for the square root:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
double intOne; // use double for real numbers

cout << "Enter an integer:\n";
cin >> intOne;
double side; // create another variable
side = sqrt( intOne ); // call function, assign return value
cout << "The square root is " << side;
cout << " \n";

return 0;
}

here is the source for multiplying the two integers:

#include <iostream>
using namespace std;
int main()
{
int number1,number2, product;
cout << "Enter a number: ";
cin >> number1;
cout << "Enter another number: ";
cin >> number2;
product = number1 * number2;
cout << "The product of " << number1 <<" and "<< number2 << " is " << product <<"\n";
return 0;
}

I tried to combine the two together using this code:

#include <iostream>
using namespace std;
int main()
{
int number1,number2, product;
cout << "Enter a number: ";
cin >> number1;
cout << "Enter another number: ";
cin >> number2;
product = number1 * number2;
cout << "The product of " << number1 <<" and "<< number2 << " is " << product <<"\n";
root = sqrt( product );
cout << "The square root is " << root <<"\n";

return 0;
}

here is the error I'm getting:

combine.cc: In function `int main()':
combine.cc:16: error: `root' undeclared (first use this function)
combine.cc:16: error: (Each undeclared identifier is reported only once for
each function it appears in.)
combine.cc:16: error: call of overloaded `sqrt(int&)' is ambiguous
/usr/include/bits/mathcalls.h:157: error: candidates are: double sqrt(double)
/usr/include/g++/cmath:550: error: long double std::sqrt(long
double)
/usr/include/g++/cmath:546: error: float std::sqrt(float)

I'm new to this language and any help would be greatly
appreciated. It would be great if someone could point
me in the right direction.
Thanks a bunch,

--Cameron

Jul 23 '05 #4
<te*********@squidseven.com> top-posted

you don't include cmath in the third program and you don't declare the
variable root:

#include <cmath> //should go near the beginning of the prog

int root = sqrt( product ); //inserted int before root
Since when did std::sqrt return an int?
cplusplus wrote:
Hello, I have newbie question.
I'm stuck on this current assignment. Write a program that prompts
the user for two integer values,
passes the values to a function where they are multiplied
together and the square root of the product is returned and
displayed for the user. The function should return a double. ^^^^^^ Hint: If you multiply an integer by 1.0 the result will be a
double.
That's a really bad hint. There are better ways to convert integer to
double.
For example: Enter an integer: 7
Enter another integer: 6
The square root of 7 times 6 = 6.48074
--
ok, so what I did was created a program that would get the sqaure
root of a number, and then created another one that multipled
2 numbers. Here is the source for the square root:
#include <iostream>
#include <cmath> using namespace std;
int main() {
double intOne; // use double for real numbers
cout << "Enter an integer:\n";
cin >> intOne;
double side; // create another variable
side = sqrt( intOne ); // call function, assign return value
cout << "The square root is " << side;
cout << " \n";
return 0;
}
here is the source for multiplying the two integers:
#include <iostream> using namespace std;
int main() {
int number1,number2, product; cout << "Enter a number: ";
cin >> number1; cout << "Enter another number: ";
cin >> number2;
product = number1 * number2;
cout << "The product of " << number1 <<" and "<< number2 << " is
" << product <<"\n";
return 0;
}
I tried to combine the two together using this code:
#include <iostream> using namespace std;
int main() {
int number1,number2, product; cout << "Enter a number: ";
cin >> number1; cout << "Enter another number: ";
cin >> number2;
product = number1 * number2;
cout << "The product of " << number1 <<" and "<< number2 << " is
" << product <<"\n";
root = sqrt( product );
double root = sqrt(double(product));
cout << "The square root is " << root <<"\n";
return 0;
}
here is the error I'm getting:
combine.cc: In function `int main()':
combine.cc:16: error: `root' undeclared (first use this function)
combine.cc:16: error: (Each undeclared identifier is reported only once for
each function it appears in.)
combine.cc:16: error: call of overloaded `sqrt(int&)' is ambiguous
/usr/include/bits/mathcalls.h:157: error: candidates are: double sqrt(double)
/usr/include/g++/cmath:550: error: long double std::sqrt(long
double)
/usr/include/g++/cmath:546: error: float std::sqrt(float)
I'm new to this language and any help would be greatly
appreciated. It would be great if someone could point
me in the right direction.
Thanks a bunch,
--Cameron

--
Richard Herring
Jul 23 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.