Jestem co prawda początkującym programistą, lecz mimo to lubię sobie czasem usiąść i zrobić jakąś banalną aplikację opartą na instrukcjach sterujących.
Dziś chciałem zrobić aplikację, w której za wymyśloną przez siebie gotówkę możemy kupić jakieś auto.
Mam parę pytań apropo (jeszcze niedokończonej) aplikacji:
Jak w instrukcji sterującej “Else if” mogę nadać zmiennej dwie właściwości?
np. chciałbym aby zmiennej “a” typu całkowitego o wartości dodatniej było przypisane nie tylko (jak poniżej) 500<=a , ale żeby jeszcze “a” było (jak ja to nazywam) mniejsze do równości z 1000 (tak jak poniżej 500 jest mniejsze do równości z “a”.
unsigned int a;
else if(500<=a)
Jak powrócić do wcześniejszej instrukcji? (jeśli jest to w ogóle możliwe)
np. jest menu i jak wejdzie się w kolejne podzakładki i podzakładki podzakładek, których wszystkich początkiem było menu główne to jak zrobić, aby wyjść z tych podzakładek (np. po wciśnięciu klawisza 0) do menu.
PS. Instrukcja “break” po każdej instrukcji else if nie działa!
Tak poza aplikacją. Do czego służy void? (bo często spotykam, że jest wymagany i nie wiem do czego wgl. służy)
Pytania są bardzo teoretyczne i dotyczą głównie budowy, hierarchii, i takich ogólnych zasad panujących w C++.
jest if, jest else, nie ma instrukcji sterującej “else if”
@1 użyj AND:
if(500<=a && a<=1000) str::cout << "a należy do przedziału <500,100>";
@2 używasz funkcji
void costam(){
//tutaj kod
}
//wywoluje funckje
costam();
//tutaj kod
//wracamy do funkcji
costam();
bądź goto
costam://jeśli to ostatnia linia funckji wymagany jeszcze średnik
//tutaj kod
//wracamy do costam
goto costam;
//ten kod się zapętli, musisz zrobić jakiś warunek etc
@3 void to brak zwracanej wartości, możesz np użyć int, wtedy zwraca int etc
@3 void dosłownie pusty, ale zależy od kontekstu, samo występuje przy informacji jaki typ zostanie zwrócony, oznacza, że nic nie zostanie zwrócone. Jeśli występuje z * oznacza wskaźnik na “surowy adres” bez informacji o typie. Nie możesz na nim wykonywać operacji przesuwania wskaźnika (bo nie wiesz ile bajtów zajmuje jedna komórka informacji).
Teraz wskaźnika na void raczej się nie używa, bo jego funkcję można zastąpić szablonem, ale w C ich nie było i wtedy przydawały się, gdy chcieliśmy napisać, bardziej uniwersalną funkcję. Takim przykładem może być np. jakaś funkcja sortująca sort(wsk_poczatku, ile_elementów, wsk_na_fun_ustalajaca_porzadek(void*, void*)), dzięki temu możemy przekazać dowolny porządek, dla dowolnego typu poprzez rzutowanie.