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

Funkcija koja vraca vrijednost tipa char[]

[es] :: C/C++ programiranje :: Funkcija koja vraca vrijednost tipa char[]

[ Pregleda: 2508 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lejlaz
Lejla Zaimovic
Student
Podgorica

Član broj: 224484
Poruke: 16
77.222.21.*



Profil

icon Funkcija koja vraca vrijednost tipa char[]11.06.2009. u 23:34 - pre 180 meseci
Sledecoj funkciji saljem argument (lista podataka, strukura) iz koje trebam da izvucem jedan podatak tipa char[15] (to bi trebalo da bude promjenljiva izabrana_kategorija). Kako da vratim taj podatak?

Evo fje:
Code:
 
char odredi_klasifikaciju (lista_kategorija l1)
{
    float max;
    char izbrana_kategorija[15];
    int i;
    for(i=0;i<l1.brclanova;i++)
    {
        if (l1.niz_kategorija[i].rezultat >= max)
        {
            strncpy(izbrana_kategorija, l1.niz_kategorija[i].ime_kat, 15);//zapamtimo ime kategorije
            max=l1.niz_kategorija[i].rezultat;
        }
    }
    //return ?;
}


Kad pokupim tu char[15] vrijednost preko funkcije, trebala bih je nekako vratiti u program kako bi dalje radila sa njom. Kakvom tipu podatka mi je u main-u jednako odredi_klasifikaciju(l1)?
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Funkcija koja vraca vrijednost tipa char[]12.06.2009. u 09:07 - pre 180 meseci
Imas 2 nacina :
Prvi je da vracas char* pointer od niza napravljenog na heapu (new).
Code:
 
char* odredi_klasifikaciju (lista_kategorija l1)
{
     char* izbrana_kategorija = new char [15];
    ... 
    izbrana_kategorija ;
}

Drugi a dosta bolji nacin je kao f-ja strncpy
Da deklarises niz izvan f-je koji ce se popunjavati u f-ji odredi_klasifikaciju (..)
Code:

void  odredi_klasifikaciju (lista_kategorija l1,char*  izabrana_kartegorija )
{
   ...
   strncpy(izbrana_kategorija, l1.niz_kategorija[i].ime_kat, 15);//zapamtimo ime kategorije
     ...
}

Viva lollapalooza
 
Odgovor na temu

lejlaz
Lejla Zaimovic
Student
Podgorica

Član broj: 224484
Poruke: 16
77.222.20.*



Profil

icon Re: Funkcija koja vraca vrijednost tipa char[]12.06.2009. u 09:47 - pre 180 meseci
Rijesila sam problem u fji, samo jos kako da u main-u pokupim vrijednost izabrane_kategorije iz fje?
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Funkcija koja vraca vrijednost tipa char[]12.06.2009. u 09:53 - pre 180 meseci
To zavisi od toga kako si rešila problem u funkciji. Pokaži kod.
 
Odgovor na temu

lejlaz
Lejla Zaimovic
Student
Podgorica

Član broj: 224484
Poruke: 16
77.222.20.*



Profil

icon Re: Funkcija koja vraca vrijednost tipa char[]12.06.2009. u 10:00 - pre 180 meseci
Code:

void odredi_klasifikaciju (lista_kategorija l1, char * izbrana_kategorija)
{
    float max;
    int i;
    for(i=0;i<l1.brclanova;i++)
    {
        if (l1.niz_kategorija[i].rezultat >= max)
        {
            strncpy(izbrana_kategorija, l1.niz_kategorija[i].ime_kat, 15);
            max=l1.niz_kategorija[i].rezultat;
        }
    }
}

 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Funkcija koja vraca vrijednost tipa char[]12.06.2009. u 10:19 - pre 180 meseci
Code:
lista_kategorija lx;
char ky[15];
...
odredi_klasifikaciju (lx, ky);

U baferu ky je ono što ti treba. Jesi li to pitala?
 
Odgovor na temu

lejlaz
Lejla Zaimovic
Student
Podgorica

Član broj: 224484
Poruke: 16
77.222.20.*



Profil

icon Re: Funkcija koja vraca vrijednost tipa char[]12.06.2009. u 10:26 - pre 180 meseci
To mi je trebalo. Hvala puno!
 
Odgovor na temu

[es] :: C/C++ programiranje :: Funkcija koja vraca vrijednost tipa char[]

[ Pregleda: 2508 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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