C/C++ C++ code not compiling correctly

  • Thread starter Thread starter Benzoate
  • Start date Start date
  • Tags Tags
    C++ Code
AI Thread Summary
The discussion centers around issues with a C++ implementation of the quadratic formula in Dev-C++. The primary problem identified is the incorrect use of the standard namespace, which requires either prefixing standard library functions like cout and cin with "std::" or including a "using namespace std;" directive. Additionally, it is recommended to use the cmath library instead of the math library, as cmath allows its functions to be included in the standard namespace. The corrected code example demonstrates these changes, ensuring proper syntax and functionality for calculating the roots of a quadratic equation.
Benzoate
Messages
418
Reaction score
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);

}
 
Technology news on Phys.org
You need either std::cout or put a "using namespace std" declaration at the top.
 
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
 
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;
}
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...

Similar threads

Back
Top