Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

program funkcja kwadratowa obiektowo... problem z dziwnym przedrostkiem do wyników nan

Ostatnio zmodyfikowano 2013-12-11 12:02
Autor Wiadomość
lewozmywak
Temat założony przez niniejszego użytkownika
program funkcja kwadratowa obiektowo... problem z dziwnym przedrostkiem do wyników nan
» 2013-12-10 23:41:03
C/C++
#include <iostream>
#include <cmath>

using namespace std;

class rownaniekwad
{
private:
    int a;
    int b;
    int c;
    int delta;
    float x1, x2, x0;
   
public:
    rownaniekwad()
    {
        a = 0;
        b = 0;
        c = 0;
        x1 = 0;
        x2 = 0;
        delta = 0;
    }
   
    rownaniekwad( int a, int b, int c )
    {
        rownaniekwad::a = a;
        rownaniekwad::b = b;
        rownaniekwad::c = c;
    }
   
    double odelta()
    {
        return delta = pow( b, 2 ) -( 4 * a * c );
    }
   
   
    float miejscez()
    {
        if( delta > 0 )
        {
            x1 =( - b - sqrt( delta ) ) /( 2 * a );
            x2 =( - b + sqrt( delta ) ) /( 2 * a );
        }
       
    }
   
    float obliczm()
    {
        if( delta == 0 )
             cout << "delta jest 0";
        else
        if( delta > 0 )
        { miejscez();
            cout << x1 << " " << x2;
        }
        else
             cout << "delta jest minusowa";
       
       
    }
};


int main()
{
    rownaniekwad p( 1, - 6, - 7 ); //rownaniekwad p(1,-6,-7);
    cout << p.odelta() << endl;
    cout << p.obliczm();
    return 0;
}

Program jako tako dziala prawdilowo,wynik mam prawidlowy dla zestawu a=1, b=-6, c=-7 to jest x1=-1 x2=7 tylko ze przy 7 mam dziwny dopisek nan ... co to znaczy? czyli wynik kompilacji tak wyglada:
C/C++
64
- 1 7nan

moze mi ktoś rozjaśnić co to jest?
P-98956
docentpp
» 2013-12-11 00:32:14
Dlaczego tak ?
C/C++
//
//
int delta; // a może float albo double ?
//
//

P-98958
Adik80
» 2013-12-11 12:02:59
moze dlatego bo nie zwracasz wartosci w obliczm
P-98965
« 1 »
  Strona 1 z 1