Metode

3

Metode

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

A to. Nema upozorenja, sad proverih. VS Express 2013 je u pitanju. Mada, možda je to upozorenje i isključeno, ko će ga znati. Very Happy

Čini mi se da sam negde čitao da kompajler kod svakako kompajlira kao da je tip int iako je eksplicitno navedeno void. Da li je tako nešto moguće ili? Smile



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Ja kad sam jos poceo sa C++-som, uvek su govorili da je void main "evil" i da nije po standardu, to sto M$ VS radi iza zavese ne bi trebalo uzeti u obzir.

Recimo kucaj samo u google "c++ void main" i dobices hiljade rezlutata zasto ne valja void main.
Recimo sa GCC- om dobijam:
Citat:
main must return int



offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Kod mene nije pridavana neka značajna pažnja tome. Pomenuto je da "nije higijenski", ali je ostalo na tome. Very Happy

No, gledam sada baš par diskusija na tu temu i manje više se sve svodi na "nije standard". Smile Ok, mogu da svarim to. Mr. Green

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Evo uradio sam sa pokazivacima i dinamickom dodelom memorije ali kako mogu da napravim da cita slova sve do kraja a ne do nekog belog znaka?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Koristi funkciju getline za unos.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 19 Sep 2014 20:44

Hvala ti puno na pomoci. Rado bih te sad castio nekako da mogu.Very Happy Ziveli

Dopuna: 19 Sep 2014 21:19

Nparavio sam taj program, ali nece da ispise rezultate sa cout. Izbacuje neku gresku. Evo vidi kod:

#include <iostream> #include <cstring> using namespace std; class Osoba{    char *ime, *adresa, *roditelj;    int *godiste, *broj; public:    Osoba() { ime = adresa = roditelj = 0; godiste = broj = 0;}    ~Osoba();    void podaci();     void pisi(); }; Osoba::~Osoba() {    delete [] ime, adresa, roditelj;    delete godiste, broj;    ime = adresa = roditelj = 0;    godiste = broj = 0; } void Osoba::podaci() {    ime = new char[25];    cout << "Ime i prezime: ";    cin.getline(ime, 25);    roditelj = new char[15];    cout << "Ime jednog roditelja: ";    cin >> roditelj;    int god;    godiste = new int;    cout << "Godina rodjenja: ";    cin >> god;    godiste = &god;    adresa = new char[25];    cout << "Adresa stanovanja: ";    cin.getline(adresa, 25);        int br;    broj = new int;    cout << "Broj telefona: ";    cin >> br;    broj = &br; } void Osoba::pisi() {    // ovde ne znam koje funkcije da koristim da ispisem rezultate } int main(void) {    Osoba objekat;    objekat.podaci();    objekat.pisi();    system("PAUSE");    return EXIT_SUCCESS; }

Sta da koristim da ispisem rezultat jer ne moze cout?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Napisano: 19 Sep 2014 21:49

Zašto ne bi moglo sa cout? "Neku grešku" nije dovoljno dobar opis, zar to nisi naučio još uvek? Wink

Dibager i dalje ništa? Very Happy

Dopuna: 19 Sep 2014 21:54

Inače, u destruktoru ti poslednje dve linije nisu neophodne. Znaš li zašto?

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 19 Sep 2014 21:57

Nije u pitanju greska u kodu, vec u izvrsenju programa. Kada treba da ispise godiste i broj ispisuje nesto bezveze.

I postoji jos jedan problem. Preskace da upisem adresu tj. ono napise adresa: ali mi ne da da tu ista napisem.

Dopuna: 19 Sep 2014 22:02

Hmm, da nije mozda zato sto delete potpuno isprazni te pokazivace pa nije potrebno?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Napisano: 19 Sep 2014 22:09

Varaš se, u pitanju jeste greška u kodu! Wink Ne sintaksna, ali logička da. E takve se love dibagerom.

Za godište ispisuje nešto bezveze jer si ti isprogramirao nešto bezveze. Wink Obrati pažnju da je promenljiva god lokalna promenljiva. Dovoljno je da napišeš ovako: godiste = new int; cin >> *godiste;
Još jednom, ajde probaj da naučiš da koristiš dibager. Ako mi veruješ, sve to što si do sada naučio o programiranju ti ne znači ama baš ništa ako ne umeš sam da testiraš svoj program i sam da nađeš greške u svom programu.

Dopuna: 19 Sep 2014 22:10

crusher ::Hmm, da nije mozda zato sto delete potpuno isprazni te pokazivace pa nije potrebno? Jok. Pre svega, delete ne prazni pokazivače ni na koji način. On samo dealocira (kod dinamičke alokacije vraća na Heap) ono na šta pokazivač pokazuje. Ajde podseti se šta je destruktor i koja je njegova uloga, pa se javi sa tačnim odgovorom. Very Happy

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

U redu, sutra cu da krenem sa ucenjem dibagera.
Inace, destruktor sluzi da unisti objekte koji vise nisu potrebni tj. oslobodi memorijski prostor, sto bi znacilo da onaj deo koda nije neophodan jer je objekat unisten, zar ne?

Ko je trenutno na forumu
 

Ukupno su 872 korisnika na forumu :: 29 registrovanih, 2 sakrivenih i 841 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 1MAP, Battlehammer, Butcher, dearg, draggan, EXIT78, Fog of War, g_g, gaga23, Ivan Gajic, lcc, Makeitdrip, marko308, narandzasti, nebojsag, nemkea71, Profesor_018, Rusmir, sabros, samocitam, Sančo, stalja, TheDictator, Valter071, vrlenija, wizzardone, wolverined4, zoranjev, Zukov