Dynamiczne tworzenie zmiennych w zależności od podanej ilości
Ostatnio zmodyfikowano 2013-01-06 18:54
maze Temat założony przez niniejszego użytkownika |
Dynamiczne tworzenie zmiennych w zależności od podanej ilości » 2013-01-06 17:25:04 Witam, chce zeby program tworzyl taka liczbe zmiennych struktur, jaka poda nam uzytkownik. Czyli np. w taki sposob: #include <string> using namespace std;
struct DDT { string gatunek; string wabi; string wiek; };
int main() { DDT one, two, three; short ilosc; cout << "Ile zwierzat domowych posiadasz?" << endl; cin >> ilosc; for( int i = 0; i < ilosc; i++ ) { DDT zwierzak_i; }
Tutaj probowalem zrobic to za pomoca petli for, ale nie dziala to, zreszta tak jak sie spodziewalem(sam nie wiem czemu). Tak wiec w jaki sposob moglbym to zrobic? Zeby liczba zmiennych byla taka jaka uzytkownik chce wprowadzic? Dzieki za pomoc. |
|
abdi |
» 2013-01-06 17:30:55 Nie działa to znaczy co?
Nie możesz tego zrobić w tablicach?
Kod umieść w [cpp][/cpp]
edit: dobre te backslashe xevuel :P |
|
maze Temat założony przez niniejszego użytkownika |
» 2013-01-06 17:49:38 hmmm, no w zasadzie to nie ma prawa dzialac, poniewaz nie ma prawa sie to skompilowac, gdyz zmienne zostana utworzone dopiero po podaniu przez uzytkownika ilosci zmiennych, a to sie dzieje dopiero po skompilowaniu, ktore nastapic nie moze, poniewaz....(patrz wczesniej).
Hmmm, czyli nie ma wogole takiej mozliwosci na to wychodzi ;d |
|
abdi |
» 2013-01-06 18:04:15 To da się zrobić za pomocą tablic o ile twój kompilator posiada standard c99 ( czyli nie visual 2008, w CodeBlocks da się) Tablice jednowymiaroweA w visualu musiałbyś się bawić z dynamiczną alokacją pamięci. Ale skoro masz problemy z zastosowaniem tablic to polecam najpierw je wcześniej się nauczyć. |
|
maze Temat założony przez niniejszego użytkownika |
» 2013-01-06 18:54:17 OK, dzieki, poradzilem, sobie jak do tej pory, faktycznie nie pomyslalem ze trzeba uzyc tablic do operowania na strukturze. Teraz juz kapisz. Pozdro #include <iostream> #include <string> using namespace std;
struct DDT { string gatunek; string imie; string kolor; };
void wczytaj_dane( struct DDT zwierzeta ) { cout << "Podaj imie zwierzecia" << endl; cin >> zwierzeta.imie; cout << "Podaj gatunek zwierzecia" << endl; cin >> zwierzeta.gatunek; cout << "Podaj kolor futrzaka" << endl; cin >> zwierzeta.kolor; }
int main() { DDT zwierzeta[ 5 ]; short pozycja; for( int i = 1; i < 6; i++ ) { cout << "Wczytamy dane" << i << "zwierzaka"; wczytaj_dane( zwierzeta[ i ] ) } cin.get(); return( 0 ); }
|
|
« 1 » |