Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

deklarisanje funkcije koja vraca niz karaktera

[es] :: C programiranje :: deklarisanje funkcije koja vraca niz karaktera

[ Pregleda: 1178 | Odgovora: 15 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 09:57

Kako da deklarisem funkciju koja treba da mi vrati niz karaktera, tj. string. Potrebno mi je u klasi...konkretno imam funkciju za postavljanje imena vlasnika kola, i funkciju za uzimanje imena...ova druga je problem.
Pozdrav od Blaze
22.01.2005. u 09:57 

Alef
Viktor Kerkez
Novi Sad

Član broj: 505
Poruke: 188
*.217.EUnet.yu.



Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 12:09
Ne znam da li baš razumem problem, ali zašto ne uradiš:

Code:

#include <string>
using namespace std;

string funkcija()
{
        string s;
        ...
        return s;
}
22.01.2005. u 12:09 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 12:37
Ne radi to. Imam u klasi definisanu promenljivu sa "char ime[20];" E sad mi treba jedna funkcija "uzmiIme" koja ce da daje kao povratnu vrednost gore definisani niz karaktera.
Pozdrav od Blaze
22.01.2005. u 12:37 

Toxter
NS

Član broj: 39393
Poruke: 246
*.ftn.ns.ac.yu.



Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 12:55
char* vratiString()
{
char* str;
...
return str;
}
Sad mu nije nista, ubio si ga k'o zeca...
22.01.2005. u 12:55 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 13:04
probao sam ovako

Code:

class cVozilo
{
private:
  char *zapreminaMotora[10], tipMotora[10], proizvodjac[20];
  char tip[15], imeVlasnika[15], prezimeVlasnika[20];
  int godiste;
public:
  char* uzmiZapreminu()  { return *zapreminaMotora; }
  void postaviZapreminu(void)  { cin >> *zapreminaMotora; }
};


ali kada ukucam u main:
Code:

cVozilo kola;
  kola.postaviZapreminu();
  endl;
  cout << kola.uzmiZapreminu();


kaze Null pointer...
Pozdrav od Blaze
22.01.2005. u 13:04 

Dragi Tata

Član broj: 1958
Poruke: 3880
*.bos.east.verizon.net.

Sajt: www.novetehnologije.com


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 15:28
Najlakše je da poslušaš Alefa i batališ nizove na char i zameniš ih stringovima. Ako ne, onda pogledaj deklaraciju za zapreminaMotora. Deklarisao si niz od deset pointera na char (10 stringova?) a verovatno si hteo samo jedan.
22.01.2005. u 15:28 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 15:40
Jesam hteo jedan, ali tako nece da radi program. E sad, ja sam probao ono isto sto je napisao Alef, ali nece da radi.
Pozdrav od Blaze
22.01.2005. u 15:40 

ivbrcic
Ivan Brcic
Zagreb

Član broj: 38567
Poruke: 35
*.cmu.carnet.hr.



Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 15:56
ako si ovako nekako mislio...

Code:


#include <iostream>

using namespace std;

class cVozilo
{
    char zapreminaMotora[10][10], tipMotora[10], proizvodjac[20];
    char tip[15], imeVlasnika[15], prezimeVlasnika[20];
    int godiste;
    int cnt;
public:
    cVozilo () : cnt(0) { }

    char * uzmiZapreminu()  { return zapreminaMotora[cnt]; }
    void postaviZapreminu(void)  { cin >> zapreminaMotora[cnt]; }
};

int main ()
{
    cVozilo kola;

    kola.postaviZapreminu();

    cout << kola.uzmiZapreminu() << endl;
}



ovo radi, cnt sluzi da postavis jedan od deset. mozes vrtiti petlju i unositi, a zatim ispisivati.

a ovo radi sa jednim ...

Code:


#include <iostream>

using namespace std;

class cVozilo
{
    char zapreminaMotora[10], tipMotora[10], proizvodjac[20];
    char tip[15], imeVlasnika[15], prezimeVlasnika[20];
    int godiste;
public:
    char * uzmiZapreminu()  { return zapreminaMotora; }
    void postaviZapreminu(void)  { cin >> zapreminaMotora; }
};

int main ()
{
    cVozilo kola;

    kola.postaviZapreminu();

    cout << kola.uzmiZapreminu() << endl;
}

22.01.2005. u 15:56 

ivbrcic
Ivan Brcic
Zagreb

Član broj: 38567
Poruke: 35
*.cmu.carnet.hr.



Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 16:03
ovako nekako bi to izgledalo sa stringovima...

Code:


#include <iostream>
#include <string>

using namespace std;

class cVozilo
{
    string zapreminaMotora, tipMotora, proizvodjac;
    string tip, imeVlasnika, prezimeVlasnika;
    int godiste;
public:
    string uzmiZapreminu()  { return zapreminaMotora; }
    void postaviZapreminu()  { cin >> zapreminaMotora; }
};

int main ()
{
    cVozilo kola;

    kola.postaviZapreminu();

    cout << kola.uzmiZapreminu() << endl;
}

22.01.2005. u 16:03 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 16:27
Odlicno, ovaj drugi sa char sam probao i radi. Hvala!
Pozdrav od Blaze
22.01.2005. u 16:27 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 16:28
E da, jos nesto. Nisam upisao ono "using namespace std;" i radi svakako. Sta ce to uopste?
Pozdrav od Blaze
22.01.2005. u 16:28 

ivbrcic
Ivan Brcic
Zagreb

Član broj: 38567
Poruke: 35
*.cmu.carnet.hr.



Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 16:40
moze i bez toga, i moja preporuka ti je da ako pocnes pisati velike projekte u cpp-u da to izbjegavas, a kada su ovako mizerne aplikacije onda je to u redu. to se navodi da ne moras svaki put pisati npr. std::cout << "stogod" << std::endl;

Kad navedes using namespace std tada ne moras za pristupanje stvariima u std-u pisati std i dvije tocke vec direktno ono sto trebas.
22.01.2005. u 16:40 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 16:56
Mogu da pristupam svemu tome i bez toga. Uopste nikad nisam koristio std::cout...vec samo cout.
Pozdrav od Blaze
22.01.2005. u 16:56 

ivbrcic
Ivan Brcic
Zagreb

Član broj: 38567
Poruke: 35
*.cmu.carnet.hr.



Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 17:21
cini mi se da si novi (pocetnik) u cpp-u.

Ne znam u cemu programiras, mozda kada kreiras projekt, kreiras "Hello Wordl!" aplikaciju pa ti sam IDE (okruzenje u kojem radis) podesi sve sto je potrebno da bi sto prije kreirao program pa ti nadoda using namespace std.

probaj zakomentirati onu liniju gdje je navedeno using namespace std;

evo sto javi VS 2003

d:\Slobodno\CPP\Projekt\main.cpp(8) : error C2146: syntax error : missing ';' before identifier 'zapreminaMotora'
d:\Slobodno\CPP\Projekt\main.cpp(8) : error C2501: 'cVozilo::string' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(8) : error C2501: 'cVozilo::zapreminaMotora' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(8) : error C2501: 'cVozilo::tipMotora' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(8) : error C2501: 'cVozilo::proizvodjac' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(9) : error C2146: syntax error : missing ';' before identifier 'tip'
d:\Slobodno\CPP\Projekt\main.cpp(9) : error C2501: 'cVozilo::string' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(9) : error C2501: 'cVozilo::tip' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(9) : error C2501: 'cVozilo::imeVlasnika' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(9) : error C2501: 'cVozilo::prezimeVlasnika' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(12) : error C2146: syntax error : missing ';' before identifier 'uzmiZapreminu'
d:\Slobodno\CPP\Projekt\main.cpp(12) : error C2501: 'cVozilo::string' : missing storage-class or type specifiers
d:\Slobodno\CPP\Projekt\main.cpp(12) : warning C4183: 'uzmiZapreminu': missing return type; assumed to be a member function returning 'int'
d:\Slobodno\CPP\Projekt\main.cpp(22) : error C2065: 'cout' : undeclared identifier
d:\Slobodno\CPP\Projekt\main.cpp(22) : error C2065: 'endl' : undeclared identifier
22.01.2005. u 17:21 

dejan_su
Dejan Balazevic
Subotica

Član broj: 9453
Poruke: 448
*.tippnet.co.yu.

ICQ: 337366387


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera22.01.2005. u 20:03
Nisam pocetnik, ne brini. Ali programiram mnooogo vise u DOS-u nego u Windows-u. Ovaj program je u dosu, Borlandov je kompajler...i nema nikakvih gresaka. Mislim, tj. siguran sam da ni kod jednog DOS kompajlera to nije greska...
Pozdrav od Blaze
22.01.2005. u 20:03 

filmil
Filip Miletić
Oce Technologies B.V., inženjer hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.adsl.versatel.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


Profil

icon Re: deklarisanje funkcije koja vraca niz karaktera23.01.2005. u 00:40
Citat:
 Nisam pocetnik, ne brini. Ali programiram mnooogo vise u DOS-u nego u Windows-u. Ovaj program je u dosu, Borlandov je kompajler...i nema nikakvih gresaka.
DOS kompajleri su zastareli. Savremeni C++ standard zahteva da se koristi std::.

f
23.01.2005. u 00:40 

[es] :: C programiranje :: deklarisanje funkcije koja vraca niz karaktera

[ Pregleda: 1178 | Odgovora: 15 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.