Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
spłodziłem coś takiego
#include <iostream> #include <cstring> #include <stdlib.h> #include <cstdio> #include <ctime> #include <cmath> // potęgowanie duperele na liczbach using namespace std; int roc; int OPCJA; int main() { cout <<"Co chcesz zwojować : " << endl; cout <<"1.Wyświetlic x razy LINUX ROCKS " << endl; cout <<"2.Uruchomić radio " << endl; cout <<"3.wyjsc" << endl; cout <<"4.VNSTAT" << endl; cin >> ::OPCJA; switch (::OPCJA) { case 0: cout << " Dziekujemy : "; case 1: cout << "Ile razy wypisać" << endl; cin >> ::roc; for (int i = 0; i < ::roc;i++) cout<<"LINUX ROCKS" << endl; break; case 2: system("radio"); break; case 3: break; case 4: system("vnstat"); break; default: cout << "nieznana opcja"; } }
I za chiny ludowe nie wiem jak zmodyfikowac to aby program nie kończył się po wybraniu jakiejś opcji a dopiero wtedy konczył gdy wybiore opcjie 3
probowałem za i przed funkcja main dać do i na koncu while (::OPCJA == "3") lecz nie dało żadnego rezultatu
Co robie źle ?
pozdrawiam
Offline
Ja bym to zrobił tak:
#include <iostream> int main() { int opcja; bool cont=true; while(cont) { std::cout << "Podaj 1,2 lub 3:" << "\n"; std::cin >> opcja; switch(opcja) { case 1: std::cout << "Podales 1" << "\n"; break; case 2: std::cout << "Podales 2" << "\n"; break; case 3: cont=false; default: break; } } std::cout << "Poza switchem" << "\n"; return 0; }
W sumie to trochę podepnę się pod pytanko bo związane - jak mamy takie coś jak powyżej, to czy da się jakoś (jakimś słowem kluczowym typu continue, break, itp) opuścić while'a, czy po prostu trzeba zawsze stosować coś jak podałem wyżej?
Ostatnio edytowany przez Huk (2010-07-06 16:22:55)
Offline
O ile dobrze zrozumiałem pytanie, to właśnie break służy do przerywania pętli do while, while, for oraz instrukcji switch.
coś jak podałem wyżej
czy chodzi Ci o konstrukcję switch? Jeśli tak, to
#include <iostream> int main() { bool cont=true; int licznik = 0; while (cont==true) { ++licznik; std::cout << licznik << " przebieg\n"; if (licznik==10) break; } std::cout << "break - koniec łajla" << "\n"; return 0; }
bez niej break też działa
Offline
To że break działa poza switchem to oczywiście wiem ;] - mnie (czy mi? Jakiś polonista może na forum powie która forma poprawna?) chodziło czy istnieje jakaś komenda typu break czy continue która umożliwia wyjście - w przykładzie który podałem - jednocześnie ze switcha ORAZ while'a, a wywołana jest w switchu. Oczywiście "goto" nie biorę pod uwagę ;]
Offline
goto, ale to nieeleganckie
Offline
jezeli chodzi o konczenie programu to mozesz zrobic:
case 3: exit(0);
jezeli chodzi o konczenie funkcji to mozesz zrobic return ...
Offline
Huk napisał(-a):
.... mnie (czy mi? Jakiś polonista może na forum powie która forma poprawna?)....
Moim zdaniem na początku wypowiedzi mnie, w środku zdania mi, np. Mnie się zdaje ale Wydaje mi się
Sprawdź
Ostatnio edytowany przez ippo76 (2010-07-08 09:11:49)
Offline