C++ - kod ispisa prikazuje 1.#QNAN

poruka: 7
|
čitano: 2.028
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Problem sa 1.#QNAN

Ovo je moj kod, i radi ali u ispisu prikazuje  1.#QNAN ???

 

#include<stdio.h>

#include<conio.h>

#include<iostream>

#include<string>

using namespace std;

 

class STRING{

 

public:

    char c[50];

    float LENGHT();

    float FIND();

    float EMPTY();

    float INSERT();

    float COMPARE();

 

 

};

 

float STRING::LENGHT()

{

    return strlen(c);

}

 

 

 

float STRING::EMPTY()

{

    if(c[0]=='\0') cout<<"String je prazan"<<endl;

    cout<<"String nije prazan"<<endl;

}

 

float STRING::INSERT()

{

    c[2]='s';

    cout<<"Nova rijec je: "<<c;

}

 

 

 

 

 

int main()

{

STRING S;

cout<<"Unesite rijec: ";

cin.get(S.c,50);

 

cout<<"Rijec je: "<<S.c<<endl<<endl;

 

cout<<S.LENGHT()<<endl<<endl;

cout<<S.EMPTY()<<endl<<endl;

cout<<S.INSERT()<<endl<<endl;

getch();   

}

 
0 0 hvala 0
17 godina
protjeran
offline
Problem sa 1.#QNAN

Kod ti ima nekih gadnih problema. I nije mi jasno kako ti se uopće može kompajlirati. Za početak pogledaj warningse što ti ih zbaci kompailer. I da bi ti klasa raditla s cout, mislim da moraš implementirati jednu od stream klasa kao operator. (pogledaj na googlu).I nekim ti funkcijama nedostaje return. I za početak nauči što je pascalCase i CamelCase. I nemoj se obeshrabriti.

Programko http://programko.bloger.hr
 
0 0 hvala 0
14 godina
neaktivan
offline
Problem sa 1.#QNAN

Ne koristi direktno klasu u cout-u već njene članove, no povratne vrijednosti svakako nedostaju.

Moj PC  
1 0 hvala 0
16 godina
offline
Re: Problem sa 1.#QNAN

Kod ti je problematican, u Visual Studiu se uopce ne moze kompajlirati. Funkcije empty i insert su deklarirane kao da vracaju float, ali unutar funkcije se nista ne vraca. Moras napisati na kraju funkcij e return  i vrijednost koju hoces da funkcija vrati. A inace, funkcije koje vracaju vrijednost ne trebaju ispisivati nista sa cout, kada ti u mainu ispisujes vrijednost. 

Lack of money is the root of all evil. George Bernard Shaw
17 godina
offline
C++ - kod ispisa prikazuje 1.#QNAN

Probaj ovako, pa ćeš skužiti gdje su bile greške:

 

 

#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<string>
using namespace std;
 
class STRING{
private:
    string rijecClan;
public:
    int LENGHT();
    bool EMPTY();
    void Unos(string unos);
    string Ispis();
 
 
};
 
int STRING::LENGHT()
{
    return rijecClan.length();
}
bool STRING::EMPTY()
{
    if(rijecClan.empty()) return true;
    return false;
}
void STRING::Unos(string unos)
{
    rijecClan = unos;
}
string STRING::Ispis()
{
    return rijecClan;
}
int main()
{
STRING s;
string rijec;
getline(cin, rijec);
s.Unos(rijec);
cout<<s.LENGHT()<<endl ;
if(s.EMPTY())
{
    cout<< "Prazan string!" << endl;
}
else
{
    cout<< "String nije prazan!" << endl;
}
cout<< s.Ispis() << endl;
getch();  
}

 
0 0 hvala 0
17 godina
moderator
online
Re: Problem sa 1.#QNAN
Programko kaže...

I za početak nauči što je pascalCase i CamelCase. I nemoj se obeshrabriti.

Misliš, PascalCase i camelCase. {#}

17 godina
protjeran
offline
C++ - kod ispisa prikazuje 1.#QNAN

Uf, točno {#}

Programko http://programko.bloger.hr
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice