Svitch naredba se koristi kada želimo program koji nam omogučava da sami odaberemo što će taj program izvršavati. Ako vam nije jasno pogledajmo primjer kalkulatora. On je oblik switch naredbe jer kada odaberemo matematičku operaciju on računa samo nju bez izvršavanja drugih.
Kalkulator:
#include<iostream>
#include <cstdlib>
#include<cmath>
int main()
{
using namespace std;
double x,y;
char n;
cout<<"1:zbrajanje\n"; \n ima funkciju prebacivanja u novi red kao i endl.
cout<<"2:oduzimanje\n"; znak \ dovijemo kombinacijom tipaka Alt Gr+Q.
cout<<"3:mnozenje\n";
cout<<"4:dijeljenje\n";
cout<<"5:korijen\n";
cin>>n;
switch(n){ cijela čarolija Swich naredbe je ovaj dio.
case '1': Ako smo odabrali zbrajanje izvodi se ovaj dio.
cin>>x;
cin>>y;
cout<<x+y;
break;
case'2': Ako smo odabrali oduzimanje izvodi se ovaj dio.
cin>>x;
cin>>y;
cout<<x-y;
break;
case'3': Ako smo odabrali množenje izvodi se ovaj dio.
cin>>x;
cin>>y;
cout<<y*x;
break;
case'4': Ako smo odabrali dijeljenje izvodi se ovaj dio.
cin>>x;
cin>>y;
cout<<x/y;
break;
case'5': Ako smo odabrali korjenovanje izvodi se oavj dio.
cin>>x;
cout<<sqrt(x);
break;
}
system("pause");
return 0;
}
Jedina mana ovog kalkulatora je da se u njemu može samo izračunati samo jedna matematička operacija, nakon toga se zatvori i moramo ga ponovno otvarati. To zna biti dosta zamorno ću vam pokazati kako da to riješite, odnosno kako da se program vrti onoliko puta koliko vi želite. Ovaj primjer pokazuje kalkulator koji se izvršava sve dok ne unesete q za izlaz.
#include<iostream>
#include<cmath>
#include<cstdlib>
int main()
{
using namespace std;
double x,y;
char n;
for(;;){
do{
cout<<"unesi operaciju koju zelis\n";
cout<<"+;zbrajanje\n";
cout<<"-;oduzimanje\n";
cout<<"*;mnozenje\n";
cout<<"/;dijeljenje\n";
cout<<"k;korijen\n";
cout<<"q da ugasis program\n";
cin>>n;
}
while(n<'+'|| n>'k' && n!='q');
if(n=='q')break;
switch(n){
case'+':
cin>>x;
cin>>y;
cout<<x+y<<endl;
break;
case'-':
cin>>x;
cin>>y;
cout<<x-y<<endl;
break;
case'*':
cin>>x;
cin>>y;
cout<<x*y<<endl;
break;
case'/':
cin>>x;
cin>>y;
cout<<x/y<<endl;
break;
case'k':
cin>>x;
cout<<sqrt(x)<<endl;
break;
case'2':
cin>>x;
cout<<x*x<<endl;
}
}
return 0;
}
Kao što vidite lijepše je koristiti matematičke znakove za slučajeve nego brojeve. Stoga vam preporučavam da sve ono što programirate imenujete tako da ima veze s onom o čemu se u programu radi, da biste se vi ili netko drugi lakše snašli. Cilj svakog programa je jednostavna upotreba za korisnika, tako da nema smisla imenovati varijable tako da se korisnik zbuni i ne zna kako se programo služiti.
Pokušajte sami napisati program koji će:
Nakon što se unese ime osobe ispisati kratki opis iste.
Nakon što se unese relacija ispisati koliko košta cijena karte.