Pętla while i do while

Stronę tą wyświetlono już: 274 razy

Pętla while wykonuje instrukcję dopóki jest spełniony określony warunek, natomiast do while pozwala na jednokrotne wykonanie instrukcji w niej zawartej a następnie ją powtarza do momentu gdy warunek nie zostanie spełniony, przykładowy kod poniżej zamieszczam dla programu obliczającego silnię:

Listing 1
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int s = 0; // zmienna przechowująca informacje o wartości silni obliczanej
  5. cout<<"Podaj wartość obliczanej silni:";
  6. do{ // wykonuj
  7. cin>>s; // wczytywanie wartości silni
  8. if(s<0 || s > 12)
  9. cout<<"Wartość nie może być mniejsza niż 0 ani większa niż 12";
  10. }while(s<0 || s > 12); // dopóki nie będzie s mniejsze od zera lub większe od 12
  11. int silnia = 1;
  12. int licznik = 1;
  13. if(s == 0){
  14. cout<<"0!=1"; // 0! to jest 1
  15. }else{
  16. while(licznik <= s){ // dopóki licznik nie jest mniejszy od wartości obliczanej silni
  17. silnia *= licznik; // mnożenie silnia razy licznik
  18. licznik ++; // zwiększanie licznika o 1
  19. }
  20. cout<<s<<"!="<<silnia; // wypisywanie wartości silni
  21. }
  22. cout<<"Wcisnij enter, aby zamknac program...";
  23. cin.get();
  24. return 0;
  25. }

Wewnątrz pętli do while i while można użyć słowa kluczowego continue do opuszczenia danego bloku instrukcji i przejścia do wykonania następnego. Oto przykładowy kod:

Listing 2
  1. do{
  2. cout<<"Podaj jakas wartosc: ";
  3. cin>>k;
  4. if(k == 4)
  5. continue;
  6. cout<<"=========\n"; // ta linijka nie wykona się, gdy podana zostanie liczna 4
  7. }while(k < 10);

Komentarze