C++ code not compiling correctly

  • C/C++
  • Thread starter Benzoate
  • Start date
  • #1
Benzoate
421
0
I'm pretty sure I wrote the correct code for the quadratic formula and yet Dev-C++ continues to find a problem with my code. I will post the code I've written:



#include<iostream.hpp>
#include<math.h>

int main()
{
double root1,root2,a,b,c,root;

cout << "Enter the coefficients a,b,c: "; ! This is the line where Dev-C++ finds an error
cin >> a >> b >> c;
root=sqrt(b*b-4.0*a*c);
root1=.5*(root-b)/a;
root2=-.5*(root-b)/a;
cout << "The solutions are " <<root1 << " and " <<root2 << "\n";

return(0);

}
 

Answers and Replies

  • #2
mgb_phys
Science Advisor
Homework Helper
7,889
15
You need either std::cout or put a "using namespace std" declaration at the top.
 
  • #3
vociferous
248
6
You might want to try the C++ math library instead:

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

I found this here. You might want to glance over it.
http://forums.devshed.com/c-programming-42/using-std-namespace-what-does-it-mean-45679.html
 
  • #4
shoehorn
424
1
As others have pointed out, there are a couple of mistakes. First, functions such as cout, cin, and so on belong to the standard namespace in C++. So if you want to use them in your code you need to do one of two things. The first option is to precede every call to these functions with a declaration that they're from the standard namespace, i.e., instead of

Code:
cout << "This is some text..." << endl;

you should have

Code:
std::cout << "This is some text..." << std::endl;

However, typing std:: each time you call a function from the C++ standard library is cumbersome. Therefore, you can save time by using the following as a preprocessor directive in your code:

Code:
using namespace std;

Typically, you should declare all of the parts of the standard library that your code needs and then include "using namespace std;" on the next line.

The other difficulty is that you should use the cmath library instead of the math library. Both are essentially identical apart from the fact that cmath allows its members to be placed in the standard namespace. So your code should really look like this:

Code:
#include <iostream>
#include <cmath>

int main()
{
  double root1,	root2, a, b, c,	root;

  cout << "Enter the coefficients a, b, c: " <<	endl;
  cin  >> a >> b >> c;

  root = sqrt (b*b - 4.0*a*c);
  root1 =	.5*(root - b) / a;
  root2 =	-.5*(root - b) / a;
  cout << "The solutions are:" << endl
       << "root1 = " <<	root1  << endl
       << "root2 = " <<	root2
       << endl;

  return 0;
}
 

Suggested for: C++ code not compiling correctly

  • Last Post
Replies
22
Views
541
Replies
7
Views
568
Replies
16
Views
532
  • Last Post
Replies
30
Views
1K
  • Last Post
Replies
3
Views
445
Replies
11
Views
857
  • Last Post
Replies
5
Views
473
  • Last Post
Replies
34
Views
1K
  • Last Post
Replies
12
Views
177
Top