int zakres_od;
int zakres_do = 5; //np
do
{
cout <<"Przedzial liczb od: ";
cin.clear();
fflush(stdin);
cin >> zakres_od; //<< endl;
if (zakres_od > zakres_do)
{
cout <<"Zakres od musi byc miejszy od zakresu do ;/" << endl;
}
}while(zakres_od > zakres_do)
Pogubiłem się, zrobiłem coś takiego ale po wpisaniu błędnego warunku zaczyna się zabawa od nowa ;/
// losowanie własnej liczby w podanym pzez siebie zakresie
klawisz();
getch();
int zakres_od;
int zakres_do;
do
{
cout <<"Test losowanie liczb ;)" << endl;
cout <<"Przedzial liczb od: "; cin >> zakres_od; //<< endl;
cout <<"Przedial liczb do: "; cin >> zakres_do; //<
if(zakres_od > zakres_do)
{
cout <<"Zakres od musi byc mniejszy od zakresu do ;/" << endl;
}
}while(zakres_od > zakres_do);
}
int wlasne;
wlasne=rand() % zakres_do+zakres_od;
klawisz();
getch();
cout <<"Dzisiaj wylosowalismy dla ciebie liczbe: " << wlasne << endl;
klawisz();
getch();
// losowanie własnej liczby w podanym przez siebie zakresie
No to wyciągnij wczytywanie “zakres_do” przed pętle.
// losowanie własnej liczby w podanym pzez siebie zakresie
klawisz();
getch();
int zakres_od;
int zakres_do;
cout <<"Test losowanie liczb ;)" << endl;
cout <<"Przedial liczb do: "; cin >> zakres_do; //<
do
{
cout <<"Przedzial liczb od: "; cin >> zakres_od; //<< endl;
if(zakres_od > zakres_do)
{
cout <<"Zakres od musi byc mniejszy od zakresu do ;/" << endl;
}
}while(zakres_od > zakres_do);
}
int wlasne;
wlasne=rand() % zakres_do+zakres_od;
klawisz();
getch();
cout <<"Dzisiaj wylosowalismy dla ciebie liczbe: " << wlasne << endl;
klawisz();
getch();
// losowanie własnej liczby w podanym przez siebie zakresie
Rozumie, iż chcesz stworzyć pętlę w C++, która wykonuję się tak długo dopóki spełniony jest jakiś warunek? Albo może chcesz stworzyć pętlę, która wykonuje się tak długo dopóki nie spełni się jakiś warunek?
No to masz w takim razie opcji kilka.
Najlepszą z opcji będzie zdecydowanie skorzystania z pętli do…while(), która została do takich zadań stworzona.
Prosty kod, który będzie powtarzał czynność tak długo, aż użytkownik nie wpisze liczby 5 - czyli nie spełni warunku.
int podaj = 0;
do
{
cout << "Podaj liczbe: "; cin >> podaj;
}while(podaj!=5);
cout << "Podałeś 5! Kończymy!";
To była opcja pierwsza. Pętla wykonuje się tak długo, dopóki nie podasz liczby 5 - tak jak wspomniałem wtedy spełnisz określony warunek. Teraz pętla, która wykonuje się tak długo dopóki jest spełniony warunek. Przyjdzie nam z pomocą tak zwana pętla while:
int i = 0;
while(i<5)
{
cout << "ku-ku-ku";
i++;
}
cout << "Koniec pętli";
Drugi przykład czegoś takiego tylko z wykorzystaniem pętli for
@RaveStar każdy ma swoje zdanie. Doceniam również Twoje ale wyobrażasz sobie tworzenie funkcjonalnych programów w C/C++/C# czy nawet Javie bez korzystania z pętli? Nie można wszystkiego tworzyć na sztywno zwłaszcza, jeżeli implementujemy jakieś algorytmy lub po prostu musimy powtórzyć jakąś czynność kilka(naście) razy.
Co do GOTO to się zgodzę, że jest stare ale nie jest bezużyteczne. W skrajnych sytuacjach przydaje się w switchu ale to naprawdę skrajnych i desperackich :). Szczerze powiedziawszy przeglądałem ostatnio kod jakiejś aplikacji czy łatki do Windows Phone, którą Microsoft udostępnił (nie pamiętam dokładnie co to było) i tam też było GOTO.