我对编程和编码很陌生,所以我遇到一些我似乎无法理解的问题。我真的在寻找答案,但徒劳无功。
编译器提到了2个错误:
在函数'intmain()'中:
和
预期';'在'{'代币
之前
#include<iostream>
#include<math.h>
using namespace std;
main ()
{
float a, b, c, D, x1, x2, x;
cout<<"enter the value of a :";
cin>>a;
cout<<"enter the value of b :";
cin>>b;
cout<<"enter the value of c :";
cin>>c;
D= b*b-4*a*c;
if(D>0)
{
x1= (-b-sqrt(D))/(2*a);
x2= (-b+sqrt(D))/(2*a);
cout<<"the roots of the equation are"<<x1<<"and"<<x2<<" \n";
}
else if (D=0)
{x= -b/(2*a);
cout<<"the double root of the equation is"<<x<<" \n";
}
else (D<0)
{
cout<<"no solution \n:";
}
system("pause") ;
}
答案 0 :(得分:3)
我正在回答这个问题,因为它可能是完全破解代码的规范案例。以下是错误:
using namespace std;
&lt; - 一个人永远不应该这样做。
main ()
&lt; - main
的原型为int main()
或int main(int, char* [])
float a, b, c, D, x1, x2, x;
&lt; - 不要养成提前声明所有变量的习惯&#39;。相反,请在需要时声明它们。
else if (D=0)
&lt; ---这不是你想要做的。你指定0做D.你想比较它们,所以使用if (D == 0)
else (D<0)
&lt; - 缺少if
。应为else if (D < 0)
{x= -b/(2*a);
&lt; - 这只是一种可怕的风格。除非主体是单行,否则不要在打开大括号后放置其他语句,并且在这种情况下,将大括号放在同一行中。
无处不在 - 正确地格式化代码,就像文本一样。
答案 1 :(得分:0)
它在这里:
else (D<0)
编译器感到不安,因为它需要else
的正文,而你却没有提供。{/ p>
语法是
if (condition)
{
}
else
{
}
你不需要告诉编译器&#34; else&#34;条件是; condition
为假时。