Instrukcja warunkowa if
Instrukcja if może mieć 2 formy:
if (wyrażenie) instrukcja1 ;
lub
if (wyrażenie) instrukcja1 ;
else instrukcja2 ;
Oto przykład programu, w którym stosujemy instrukcje składane.
#include <iostream.h>
main()
{
int wys, punkty_karne ; // definicja dwóch zmiennych
// typu int. Obie są tego samego typu wiec
// wystarczy przecinek odzielajacy nazwy
cout << "Na jakiej wysokości lecimy ? [w metrach] : ";
cin >> wys ;
// rozważamy sytuacje ------------------------
if(wys < 500)
{
cout << "\n" << wys << " metrów to za nisko !\n" ;
punkty_karne = 1 ;
}
else
{
cout << " \nNa wysokości " << wys
<< " metrów jesteś już bezpieczny \n" ;
punkty_karne = 0 ;
}
// ocena Twoich wyników ------------
cout << "Masz " << punkty_karne
<< " punktów karnych \n" ;
if(punkty_karne)cout << "Popraw się ! " ;
}
Pętla do...while...
Słowa te oznaczają po angielsku: Rób... Dopóki... Pętla taka ma formę
do instrukcja1 while (wyrażenie) ;
Czyli jakby po polsku
rób instrukcja1 dopóki (wyrażenie) ;
Działanie jej jest takie:
Najpierw wykonywana jest instrukcja1.
Następnie obliczona zostaje wartość wyrażenia. Jeśli jest ono niezerowe (prawda), to wykonanie instrukcji 1 zostanie powtórzone, po czym znowu obliczone zostanie wyrażenie... i tak w kółko, dopóki wyrażenie będzie różne od zera.
Na przykład:
#include <iostream.h>
main()
{
char litera ;
do {
cout << "Napisz jakas litere : " ;
cin >> litera ;
cout << "\n Napisałes : " << litera << " \n" ;
}while(litera != 'K'); // 1
cout << "\n Skoro napisałeś K to kończymy !" ;
}
Pętla for
Ma ona formę
for(instr_ini ; wyraz_warun ; instr_krok} treść_pętli ;
Przykład
Przyjrzyjmy się pętli for w programie
#include <iostream.h>
main ( )
{
int i , // licznik
ile ; // liczba pasażerów
cout << "Stewardzie, ile leci pasażerów ? " ;
cin >> ile ;
for (i = 1 ; i <= ile ; i = i + 1)
{
cout << "Pasażer nr " << i
<< " proszę zapiać pasy ! \n" ;
}
cout << "Skoro wszyscy już zapieli, to lądujemy." ;
}
Instrukcja Switch
Switch - jak sama nazwa sugeruje - służy do podejmowania wielowariantowych decyzji. Przyjrzyjmy się przykładowemu fragmentowi programu.
int ktory ;
// ..............
cout << "Kapitanie, który podzespół sprawdzić ? \n"
<< "nr 10 - Silnik \nnr 35 - Stery \nnr 28 - radar\n"
<< "Podaj kapitanie numer : " ;
cin >> ktory ;
switch(ktory)
{
case 10 :
cout << "sprawdzamy silnik \n" ;
break ;
case 28 :
cout << "sprawdzamy radar \n" ;
break ;
case 35 :
cout << "sprawdzamy stery \n" ;
break ;
default:
cout << "Zażądałeś nr " << który
<< " - nie znam takiego ! " ;
break ;
}
Instrukcja break
Instrukcja break
Zapoznaliśmy się powyżej działaniem instrukcji break - polegającym na przerwaniu wykonywania instrukcji switch. Jest jeszcze inne, choć podobne działanie break w stosunku do instrukcji pętli: for, while, do. . .while. Instrukcja ta powoduje natychmiastowe przerwanie wykonywania tych pętli.
Jeśli mamy do czynienia z kilkoma pętlami - zagnieżdżonymi jedna wewnątrz drugiej, to instrukcja break powoduje przerwanie tylko tej pętli, w której bezpośrednio tkwi. Jest to więc jakby przerwanie z wyjściem tylko o jeden poziom wyżej.
Oto jak instrukcja break przerwie pętlę while:
int i = 7 ;
while(1)
{
cout << "Petla, i = " << i << "\n" ;
i = i - 1 ;
if(i < 5) {
cout << "Przerywamy !" ;
break ;
}
}
goto etykieta ;
Po napotkaniu takiej instrukcji wykonywanie programu przenosi się do miejsca, gdzie jest dana etykieta.
cout << "Cos piszemy \n" ;
goto aaa ; // stad przeskok
cout << "Tego nie wypiszemy " ;
aaa: // w to miejsce
cout << "Piszemy " ;