C+ , razna pitanja
Select messages from
# through # FAQ
[/[Print]\]

Forum@DeGiorgi -> Objektno programiranje (C++)

#1: C+ , razna pitanja Autor/ica: Mr.Doe PostPostano: 18:58 sri, 11. 11. 2009
    —
Ucim C++, i prolazim kroz vjezbe koje su na netu. Napisao sam neki ful jednostavni programcic (samo da vidim kako neke stvari funkcioniraju), no stalno mi javljaju gresku. Kod je sljedeci;

zeka.h
Kod:

#include<string>

using namespace std;

struct MyString{
   char polje[100];
   MyString( string );
   void test( MyString );
};


zeka.cpp
Kod:

#include<string>
#include<iostream>
#include "zeka.h"

using namespace std;

void MyString::test( MyString s ){
   s.polje[1]='A';
   cout << s.polje << endl;
}

MyString::MyString( string s ){
   int brojac=0;
    if( s.size() > 99 )
      cout << "String ima vise od 100 znakova!" << endl;
   else {
      for( string::iterator itr=s.begin(); itr!=s.end(); ++brojac ,++itr )
         polje[brojac]=*itr;
   }
    polje[s.size()]='\0';
}


main_zeka.cpp
Kod:

#include<iostream>
#include<string>
#include "zeka.h"

using namespace std;

void main(){
     MyString S( "XYZ" );
    test( S );
    cout << S.polje << endl;
}


Stalno mi kompajler javlja gresku;
main_zeka.cpp(9) : error C3861: 'test' : identifier not found.

Brat-bratu sam prosao kroz kod jedno 50 puta i ne kuzim u cemu je problem, ovo bi trebalo biti ful jednostavno, no nikako da ispravim gresku. Svaka pomoc je dobrodosla.

#2:  Autor/ica: GauSs_Lokacija: 231 PostPostano: 19:00 sri, 11. 11. 2009
    —
S.test bi mozda bilo ispravno, a i u mainu se ne vidi deklaracija od testa

al imas i gazilion pogresaka u kodu


Zadnja promjena: GauSs_; 19:04 sri, 11. 11. 2009; ukupno mijenjano 1 put.

#3:  Autor/ica: Mr.Doe PostPostano: 19:04 sri, 11. 11. 2009
    —
Da, imas pravo.

Mozes mi reci koje su greske? Barem nekoliko njih.

#4:  Autor/ica: Mr.Doe PostPostano: 19:53 ned, 15. 11. 2009
    —
Imam jos jedno pitanje, pa cu ga ovdje ubaciti (pritom odmah molim moderatore da promijene naslov topic-a u "C++, razna pitanja", ili tako nesta).

Dakle, konstruiram sljedecu klasu

Kod:

#include<iostream>

using namespace std;

class cetverokut{
public:
   float a, b, c, d;
   cetverokut( void );
   cetverokut( float, float, float, float );
   float opseg( void );
   ~cetverokut( void ){ cout << "Upravo smo \"de\"-konstruirali cetverokut!"; };
};

Kao sto se vidi, klasa ima 2 default-na konstruktora, prvi postavlja sve varijable a,..,d jednake nuli (to su kao duljine stranica);
Kod:

cetverokut::cetverokut( void ){
   a=0, b=0, c=0, d=0;
   cout << "Upravo smo konstruirali cetverokut!" << endl;
}

, a drugi konstruktor dozvoljava da odmah damo trazene vrijednosti. Cilj kod tog konstruktora jest, da ako korisnik upise validne vrijednosti tada on postavi vrijednost a,..,d na dane vrijednosti, u suprotnom, ako je barem jedna unesena vrijednost ⇐ od nule, tada sve vrijednosti postavi na nulu, naravno cilj mi je da ta ne moram raditi rucno, nego da se pozove prethodno definirani konstruktor.
Ja sam ovako zamislio kod, no javlja mi se greska, evo koda;
Kod:

cetverokut::cetverokut( float temp_a, float temp_b, float temp_c, float temp_d ){
   if( temp_a > 0 )
      a=temp_a;
   else{
      cetverokut();
      return;
   }
    if( temp_b > 0 )
      b=temp_b;
   else{
      cetverokut();
      return;
   }
   if( temp_c > 0 )
      c=temp_c;
   else{
      cetverokut();
      return;
   }
   if( temp_d > 0 )
      d=temp_d;
   else{
      cetverokut();
      return;
   }
   cout << "Upravo smo konstruirali cetverokut!";
}


Unaprijed zahvaljujem na pomoci.

Dakako, ako uocite druge pogreske (u ovom ili mojem prethodnom postu) bio bih vam zahvalan, ukoliko bi mi to napomenuli (naime Gauss je spomenuo gazilion greska, no nisam ih uspio naci).



Forum@DeGiorgi -> Objektno programiranje (C++)


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Stranica 1 / 1.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin