Elano92 Temat założony przez niniejszego użytkownika |
struktury wypisywanie forem » 2011-05-14 18:15:00 #include <iostream> #include <string> #include <conio.h> using namespace std; struct FARMA { string nazwa; short waga; short tygodnie; string data; }; int main() { FARMA Zwierzyna[ 5 ]; FARMA Krowa = { "Krowa", 102, 112, "24.04.08.", }; FARMA Swinia = { "Swinia", 99, 24, "24.04.08.", }; FARMA Pies = { "Pies", 34, 48, "6.05.02." }; FARMA Koza = { "Koza", 33, 100, "23.02.09.", }; FARMA Kura = { "Kura", 5, 16, "23.02.09.", }; for( short licz = 0; licz < 5; licz++ ) { cout << "Nazwa " << licz + 1 << Zwierzyna[ licz ].nazwa << endl; } getch(); return 0; }
JAk to wyświetlić forem dużo sposobów prubowałem i lipa |
|
malan |
» 2011-05-14 20:41:14 struct FARMA { void show() { std::cout << "Nazwa: " << nazwa << std::endl << "Waga [kg]: " << waga << std::endl << "Wiek [tyg]: " << tygodnie << std::endl << "Data nabycia: " << data << std::endl; } };
FARMA Zwierzyna[] = { { "Krowa", 102, 112, "24.04.08." }, { "Kura", 5, 16, "23.02.09." } };
for( int i = 0; i < ANIMALS_COUNT; ++i ) Zwierzyna[ i ].show(); Jakoś tak... |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-05-14 21:33:31 .show(); co to jest ? to było w tej lekcji ? |
|
kamillo121 |
» 2011-05-14 22:21:11 To jest metoda struktury, powracając do twojego kodu to tak, przytoczę kawałek twojego kodu: FARMA Zwierzyna[ 5 ]; FARMA Krowa = { "Krowa", 102, 112, "24.04.08.", }; FARMA Swinia = { "Swinia", 99, 24, "24.04.08.", }; FARMA Pies = { "Pies", 34, 48, "6.05.02." }; FARMA Koza = { "Koza", 33, 100, "23.02.09.", }; FARMA Kura = { "Kura", 5, 16, "23.02.09.", };
Najpierw tworzysz tablice z 5 indeksami typu FARMA. Następnie tworzysz kolejne obiekty koza,kura,pies itd a potem wyświetlasz dane z tablicy więc się nie dziw, że czary mary nie wychodzi. Tak się powinieneś odnosić do struktur z tablicy: Zwierzyna[ 0 ].nazwa = "Kura"; Zwierzyna[ 0 ].data = "jakas data";
Zwierzyna[ 1 ].nazwa = "Koza";
a tamte obiekty kura, koza itd możesz usunąć bo przecież po to sobie tablicę tworzysz, żeby każdego z osobna nie tworzyć... |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-05-15 10:09:21 #include <iostream> #include <string> #include <conio.h> using namespace std;
struct FARMA { void pokaz() { cout << "Nazwa: " << nazwa << endl << "Waga: " << waga << "kg" << endl << "Tygodnie: " << tygodnie << endl << "Data: " << data << "r," << endl << endl; } string nazwa; short waga; short tygodnie; string data; };
int main() { FARMA Zwierzyna[] = { { "Krowa", 102, 112, "24.04.08." }, { "Swinia", 99, 24, "24.04.08." }, { "Pies", 34, 48, "6.05.02." }, { "Koza", 33, 100, "23.02.09." }, { "Kura", 5, 16, "23.02.09." }, }; for( int licz = 0; licz < 5; licz++ ) { Zwierzyna[ licz ].pokaz(); }
Nie wiem jak zrobić to ,że np. string name; cout << "podaj nazwe " << endl; cin >> name; To jak to później porównać próbowałem już na b.dużo sposób np . if( name == Farma Zwierzyna[ licz ].nazwa ) cout << name; w forze ale nie działa ;/
|
|
kamillo121 |
» 2011-05-15 12:35:31 Programowanie polega przede wszystkim na myśleniu myśleniu i jeszcze raz myśleniu. Nie możesz się przyzwyczajać, że każdy malutki problem będziesz mógł przedstawić na forum i ktoś Ci pomoże. Wiadomo forum jest po to by pomagać itd ale głównie ty sam musisz kształtować swoją wiedzę... Przedstawiłeś pewien(twój) sposób porównania: if( name == Farma Zwierzyna[ licz ].nazwa ) cout << name;
Pomyśl nieco dłużej co w tym może być nie tak. Jeżeli powiesz, ze nie masz pojęcia/nie wiesz to wróć się do początkowych lekcji i czytaj wszystko jeszcze raz i zrozumiale bo brnięcie na siłę do przodu nie ma sensu. |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-05-15 12:43:14 wszystkie tematy wcześniejsze przerobiłem , ich zad.dom bez problemu potrafie napisać itp. Ale tu jest naprawde taka mieszanina w mózgu weź mnie chociaż w jakiś sposób nakieruj . |
|
kamillo121 |
» 2011-05-15 12:50:47 Popatrz na swój warunek: if( name == Farma Zwierzyna[ licz ].nazwa )
Budowa warunku porównania jest taka: if( lewa_wartosc znak_porownania prawa_wartosc )
Ty masz tak: if( lewa_wartosc znak_porownania najpierw_deklaracja_ + _odczytwartosci_z_tablicy )
Poczytaj o string, mają metodę do porównania to raz a dwa, że zamiast próbować tworzyć nowe obiekty po prostu się do nich odwołaj: if( name.compare( Zwierzyna[ licz ].nazwa ) == 0 )
//powinno działać ale co do zwracanych wartości to głowy nie dam... |
|
« 1 » 2 |