07/08.mart - . - Malo ponavljanja i novog gradiva - aplikacija Kalkulator
Zadatak: Kreirati aplikaciju u kojoj se vrše aritmetičke i logičke operacije.
Analiza - šta nam je potrebno?
- Za unos vrednosti promenljivih nam trebaju dva textBox-a
- Za izbor operacije koja će se nad njima vršiti koristićemo dugmiće (Button)
- Za ispis rezultata koristićemo još jedan textBox
- Za ispis poruka šta da se postavi i gde koristićemo Label-e
Kako će to da izgleda?
Ovako:

Nazivi za textBox-ove su označeni u oblačićima.
Kako ovo treba da radi?
Klikom na dugme sa oznakom operacije treba da se u textBox-u za rezultat prikaže rezultat izabrane operacije.
(Ovde se neće raditi provera za sve moguće vrste grešaka - ostavićemo mogućnost i da korisnik unese pogrešne podatke, pa da vidimo šta će se onda desiti.)
Kako isprogramirati aplikaciju?
Jednostavno: dvoklikom na odgovarajuće dugme kreiraće se metoda koja obrađuje događaj klika na to dugme. U tu metodu treba da napišemo programski kod.
1. Dvoklikom na dugme " + ":
- treba da se očita sadržaj prva dva textBox-a (to je neki string - niz karaktera koje je korisnik ukucao)
- njihov sadržaj treba da se konvertuje u broj. U ovom primeru radićemo sa celim brojevima (int).
- nad tim brojevima treba da se izvrši operacija sabiranja
- rezultat koji je broj treba da se konvertuje u string da bi mogao da se prikaže u textBox-u koji je za to namenjen
int prvi = Convert.ToInt32(tbprvi.Text);
int drugi = Convert.ToInt32(tbdrugi.Text);
int rezultat = prvi + drugi;
tbrezultat.Text = rezultat.ToString();
( Napomena: Umesto Convert.ToInt32(), može da se koristi i Int32.Parse().
Razlika je u tome što će prvi dati nulu ako se ništa ne upiše u textBox, a drugi za to javiti grešku )
2. Na sličan način treba da se urade i operacije za oduzimanje (-), množenje (*), deljenje (/) i ostatak pri deljenju (%)
Pitanje za razmišljanje: Šta će se desiti ako korisnik unese nešto što nije ceo broj? Ako postoji problem, kako bi mogli da ga rešimo?
3. Za logičke operacije ćemo raditi malo drugačije. Ovde ćemo se potruditi da, bez obzira šta korisnik unese, naš program uvek radi.
Da se podsetimo: Logičke promenljive su takve da mogu da imaju samo dva moguća stanja: true i false (tačno/netačno, ispunjeno/neispunjeno). Za ovaj tip podataka se koristi oznaka bool.
Za potrebe našeg zadatka, ako se rade logičke operacije očekivaćemo da korisnik ukuca logičke promenljive true ili false. Ako korisnik za bilo koju promenljivu ukuca nešto drugo, onda ćemo toj promenljivoj dodeliti vrednost false (u ovom zadatku).
string prvi, drugi;
bool a, b, c;
prvi = tbprvi.Text;
drugi = tbdrugi.Text;
prvi.ToLower();
drugi.ToLower();
if (prvi == "true") a = true;
else a = false;
if (drugi == "true") b = true;
else b = false;
c = a && b;
tbrezultat.Text = c.ToString();
- Prvo deklarišemo lokalne promenljive koje ćemo koristiti:
- string promenljive prvi i drugi u koje ćemo smestiti tekst koji je korisnik ukucao i
- logičke promenljive a, b, c
- Prvo u promenljive prvi i drugi kopiramo tekst koji se nalazi u textBox-ovima
- Zatim. da bi naš program radio bez obzira da li korisnik piše velikim, malim ili mešanim slovima, sadržaj tih promenljivih prebacujemo da bude samo malim slovima, koristeći ugrađenu metodu za rad sa stringovima ToLower(). To znači da, ako korisnik kuca TRUE, true, tRuE, ... u svakom slučaju će na kraju biti true.
- Ako je u prvom tekstBoxu korisnik kucao true, prva logička promenljiva će dobiti vrednost true (pazite, ovde nema navodnika).
- U svakom drugom slučaju će ta promenljiva da dobije vrednost false (bez obzira šta je korisnik otkucao)
- Na isti način se dodeljuje vrednost drugoj logičkoj promenljivoj (b) iz drugog textBox-a
- Rezultat logičke operacije I se dobija korišćenjem operatora &&
- Kod ove operacije rezultat će biti true, samo ako su OBA operanda true.

( karakter & ćete naći na ENG alfanumeričkoj tastaturi pod Shift+7 )
4. Na sličan način ćemo raditi logičku operaciju ILI, za koju se koristi operator ||
Kod ove operacije rezultat će biti true, ako je BILO KOJI operanada true.
( karakter | ćete naći na ENG alfanumeričkoj tastaturi - tamo gde na SRP tastaturi stoji slovo ž )
5. Na sličan način ćemo raditi logičku operaciju ISKLJUČIVO ILI (XOR), za koju se koristi operator ^
Kod ove operacije rezultat je true ako je true ili jedan ili drugi, ALI NE I OBA operanda

( karakter ^ ćete naći na ENG alfanumeričkoj tastaturi pod Shift+6 )
Za potrebe časa:
U nastavku je video snimak (iz neke od prethodnih školske godine) u kojem se radi sa formama, onako kako je tada rađeno na času ...
Na kraju snimka se koristi try-catch, koji još neko vreme nećete raditi, ali je potrebno da pogledate i to - biće dodatno objašnjeno na nekom od sledećih časova.