PDA

View Full Version : سوال: رفع اشکال در ++C



essi-2013
دوشنبه 11 آبان 1394, 13:27 عصر
سلام دوستان
برنامه با ++C نوشتم ولی خطا میده:
"Illegal use of floating points"
لطفا راهنمایی کنید اشکال برنامه چیه
*ریشه های معادله y=(x^2.1)+(5*x)-6.3 را در بازه [0.8,1.4] به دست اورید.




#include<math.h>
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
float x,y,a,b,e,f;
a=0.8;
b=1.4;
e=10^-6;
x=a;
y=0;
y=(x^2.1)+(5*x)-6.3;
if (y<=e)
{
cout<<x;
}
else
{
while ((x<b)&(y<=e))
{
x=x+f;
y=(x^2.1)+(5*x)-6.3;
}
if (y<=e)
cout<<x;
}
return 0;
}




به جای float از double هم استفاده کردم تغییری نکرد

amirtork
دوشنبه 11 آبان 1394, 14:16 عصر
سلام،
تا اونجایی که من اطلاع دارم(!) در نوشتن کد های C++ نمیشه توان رو به صورت ^ نشون داد و این علامت بیانگر عملگر XOR در این زبان هست. برای به توان رسوندن میتونید از تابع pow در سرآیند cmath استفاده کنید.
مورد دوم هم بهتره وقتی دارید با اعداد با ممیز شناور کار میکنید اعداد صحیح رو هم با ممیز صفر وارد کنید مثلا: y = 0.0

essi-2013
سه شنبه 12 آبان 1394, 00:09 صبح
ممنون از راهنماییتون. راستش تازه شروع کردم به یادگیری این برنامه و فکر نکنم حالا حالا راه بیفتم!