我試圖寫一個程序,反覆提示用戶3倍的係數值a,b和c,然後將評價使用下面的表達式和對於x顯示兩個可能的值編程問題。 X = 2C±√2a-35/B-5CC++計算表達式
如果用戶輸入-999一個程序應該終止。此外,必須在開始時清除屏幕,並且如果未爲a輸入-999,則在分開的線路上提示用戶輸入b和c。
此外,如果輸入是像被零除或負的sqrt無效必須顯示一個錯誤消息。這是我到目前爲止,我已經改變了它百萬次,以便讓它編譯和不斷收到錯誤。
#include <iostream.h>
#include <cmath>
#include <conio.h>
using namespace std;
int main (void)
{
clrscr();
float a, b, c, x1, x2, discriminant, divisor;
//Getting values for a,b,c
cout<<"Enter the value for A (-999 to quit): "<<endl;
cin >> a;
if(a ==-999)return 0;
cout<<"Enter the value for B: "<<endl;
cin>>b;
cout<<"Enter the value for C: "<<endl;
cin>>c;
// Evaluating
discriminant=(2*a-35);
divisor=(b-5*c)
if (discriminant >0);
{
x1=(2*c+sqrt(discriminant))/(divisor);
x2=(2*c-sqrt(discriminant))/(divisor);
}
else (discriminant ==0)
{
x1=x2=(2*c)/(divisor);
}
else if (sqrt(discriminant <= -1);
cout<<"Invalid Value"<<endl;
{
else if (divisor ==0)
cout<<"Invalid Value"<<endl;
}
else
{
cout<<"x1= "<<"("<<(2*c)<<"+ i"<<sqrt(discriminant)<<")/"<<divisor<<endl;
cout<<"x2= "<<"("<<(2*c)<<"+ i"<<sqrt(discriminant)<<")/"<<divisor<<endl;
}
system ("pause");
return 0;
}
這一切從改變很多次了搞砸了,我這個只是有點新來這個東西道歉。
所以按預期這是行不通的,但它有什麼作用呢?它編譯失敗嗎?它會崩潰嗎?它會返回錯誤的值嗎? – Quentin
問題是.....? –
此行小艾破,只是說...'否則,如果(開方(判別<= -1);'你可能要一個')',而不是';'有 –