Przekazanie struktury przez wartość
Ostatnio zmodyfikowano 2009-10-07 17:25
szkuner Temat założony przez niniejszego użytkownika |
Przekazanie struktury przez wartość » 2009-10-07 11:44:11 Mam za zadanie przekazac struktore pudlo przez wartosc. i wyswietlic kazde pole z tej struktury. Utworzylem dwie funkcje jedna obslugujaca dane druga ma je wyswietlac ale nie chca dzialac prosze o wskazowki jak przekazuje sie strukture przez wartosc. Bardzo bym prosił o wytlumaczenie mi tego bo za bardzo nie kapuje jak sie to robi zeby zawsze dzialalo. #include <iostream>
using namespace std; struct pudlo { char producent[ 40 ]; float wysokosc; float szerokosc; float dlugosc; float objetosc; }; pudlo szare( pudlo n, pudlo w, pudlo s, pudlo d, pudlo o ); void wyswietl( pudlo sz ); int main() { pudlo zielone =( "Tymbark", 23, 34, 12 ); cout << "Pudlo zielone ma takie parametry:"; wyswietl( zielone ); return 0; } pudlo szare( pudlo n, pudlo w, pudlo s, pudlo d, pudlo o ) { pudlo dane; dane.producent = n.producent; dane.wysokosc = w.wysokosc; dane.szerokosc = s.szerokosc; dane.dlugosc = d.dlugosc; dane.objetosc =( w.wysokosc * s.szerokosc * d.dlugosc ); return dane; } void wyswietl( pudlo sz ) { cout << sz.producent << sz.wysokosc << sz.szerokosc << sz.dlugosc << sz.objetosc; }
|
|
DejaVu |
» 2009-10-07 14:40:29 Ostro... :P #include <iostream> using namespace std;
struct pudlo { char producent[ 40 ]; float wysokosc; float szerokosc; float dlugosc; float objetosc; };
pudlo ustawDane( const char * napis, float w, float s, float d ); void wyswietl( pudlo sz );
int main() { pudlo zielone = ustawDane( "Tymbark", 23, 34, 12 ); cout << "Pudlo zielone ma takie parametry:"; wyswietl( zielone ); return 0; }
pudlo ustawDane( const char * napis, float w, float s, float d ) { pudlo dane; dane.producent = napis; dane.wysokosc = w; dane.szerokosc = s; dane.dlugosc = d; dane.objetosc =( dane.wysokosc * dane.szerokosc * dane.dlugosc ); return dane; }
void wyswietl( pudlo sz ) { cout << sz.producent << sz.wysokosc << sz.szerokosc << sz.dlugosc << sz.objetosc; }
Nie mam za bardzo ochoty tego tłumaczyć - przeanalizuj ten program i poczytaj sobie o strukturach. Możliwe, że powinieneś uzupełnić również wiedzę na temat funkcji. |
|
szkuner Temat założony przez niniejszego użytkownika |
» 2009-10-07 17:15:42 Dzieki za pomoc. Ale mam jeszcze jedno pytanie ponieważ ten program nie chce sie mi skompilować ponieważ wypisuje mi oto taki błąd przy kompilacji " incompatible types in assignment of `const char*' to `char[40]" i nie wiem co to
|
|
DejaVu |
» 2009-10-07 17:18:23 Fakt, to nie std::string :P Wstaw: strcpy( dane.producent, napis ); zamiast: dane.producent = napis; /edit: Może być konieczne dopisanie: |
|
szkuner Temat założony przez niniejszego użytkownika |
» 2009-10-07 17:22:32 Fajnie działa.A gdybyś znalazł troche czasu nie mówie teraz mogłbys mi to przekazywanie przez wartość napisać tak na ludzki jezyk przy okazji zostało by dla potomnych :)Ponieważ w kursie u was też by sie sprzydał właśnie taki problem do poruszenia jak sobie poradzić z takim przekazywaniem do funkcji znaków i liczb |
|
DejaVu |
» 2009-10-07 17:25:21 |
|
« 1 » |