Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.

Podobné prezentace


Prezentace na téma: "Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis."— Transkript prezentace:

1 Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis

2 Je hotové: Máme navržený formulář Funguje číselný výstup na displej Displej se dá vynulovat Zbývá dodělat Zpracování matematických operací Výpis výsledku Označení šablony a vzdělávací sady viz.rozpis

3 Postup: Po zadání čísla se čeká na volbu matematické operace. Po stisku tlačítka +,-,*,/ :  se zadané číslo uloží do paměti ( do proměnné cislo1)  Vynuluje se displej  Nastaví se proměnná funkce na zvolenou mat. operaci  Počítač čeká na zadání dalšího čísla Po zadání dalšího čísla následuje:  Rovná se => výsledek je zobrazen na displeji Celý postup se opakuje Označení šablony a vzdělávací sady viz.rozpis

4 Ošetření všech matematických operací bude vypadat podobně: Budou se lišit jen hodnotou proměnné funkce (odcitani, nasobeni, deleni) Označení šablony a vzdělávací sady viz.rozpis private void plusButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "scitani"; } private void plusButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "scitani"; }

5 Po stisku rovná se se provede: Do proměnné cislo2 se uloží číslo z displeje (v proměnné cislo1 je číslo zadané před volbou mat. operace, v proměnné funkce je název mát. operace) Vyhodnotí se jaká mat. operace se má provést s proměnnými cislo1 a cislo2 Do proměnné c je vložen výsledek této operace Výsledek je zobrazen na displeji Označení šablony a vzdělávací sady viz.rozpis

6 private void rovnaseButton_Click(object sender, EventArgs e) { cislo2 = int.Parse(zadaniTextBox.Text); if (funkce == "scitani") { c = cislo1 + cislo2; } else if (funkce == "odcitani") { c = cislo1 - cislo2; } else if (funkce == "nasobeni") { c = cislo1 * cislo2; } else if (funkce == "deleni") { c = cislo1 / cislo2; } zadaniTextBox.Text = c.ToString(); funkce = ""; } private void rovnaseButton_Click(object sender, EventArgs e) { cislo2 = int.Parse(zadaniTextBox.Text); if (funkce == "scitani") { c = cislo1 + cislo2; } else if (funkce == "odcitani") { c = cislo1 - cislo2; } else if (funkce == "nasobeni") { c = cislo1 * cislo2; } else if (funkce == "deleni") { c = cislo1 / cislo2; } zadaniTextBox.Text = c.ToString(); funkce = ""; }

7 Označení šablony a vzdělávací sady viz.rozpis using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Kalkulačka { public partial class kalkulacka : Form { public kalkulacka() { InitializeComponent(); zadaniTextBox.Text = "0"; } int cislo1; int cislo2; string funkce; int c = 0; private void button0_Click(object sender, EventArgs e) { if (zadaniTextBox.Text != "0") { zadaniTextBox.Text = zadaniTextBox.Text + ((Button)sender).Text; } else { zadaniTextBox.Text = ((Button)sender).Text; } private void smazVse_Click(object sender, EventArgs e) { cislo1 = 0; cislo2 = 0; zadaniTextBox.Text = "0"; funkce = ""; } private void smaz_Click(object sender, EventArgs e) { zadaniTextBox.Text = "0"; } private void scitaniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "scitani"; } private void odecitaniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "odcitani"; } private void nasobeniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "nasobeni"; } private void deleniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "deleni"; } private void rovnaseButton_Click(object sender, EventArgs e) { cislo2 = int.Parse(zadaniTextBox.Text); if (funkce == "scitani") { c = cislo1 + cislo2; } else if (funkce == "odcitani") { c = cislo1 - cislo2; } else if (funkce == "nasobeni") { c = cislo1 * cislo2; } else if (funkce == "deleni") { c = cislo1 / cislo2; } zadaniTextBox.Text = c.ToString(); funkce = ""; } using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Kalkulačka { public partial class kalkulacka : Form { public kalkulacka() { InitializeComponent(); zadaniTextBox.Text = "0"; } int cislo1; int cislo2; string funkce; int c = 0; private void button0_Click(object sender, EventArgs e) { if (zadaniTextBox.Text != "0") { zadaniTextBox.Text = zadaniTextBox.Text + ((Button)sender).Text; } else { zadaniTextBox.Text = ((Button)sender).Text; } private void smazVse_Click(object sender, EventArgs e) { cislo1 = 0; cislo2 = 0; zadaniTextBox.Text = "0"; funkce = ""; } private void smaz_Click(object sender, EventArgs e) { zadaniTextBox.Text = "0"; } private void scitaniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "scitani"; } private void odecitaniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "odcitani"; } private void nasobeniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "nasobeni"; } private void deleniButton_Click(object sender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "deleni"; } private void rovnaseButton_Click(object sender, EventArgs e) { cislo2 = int.Parse(zadaniTextBox.Text); if (funkce == "scitani") { c = cislo1 + cislo2; } else if (funkce == "odcitani") { c = cislo1 - cislo2; } else if (funkce == "nasobeni") { c = cislo1 * cislo2; } else if (funkce == "deleni") { c = cislo1 / cislo2; } zadaniTextBox.Text = c.ToString(); funkce = ""; }

8 Po správném návrhu formuláře, volbě atributů a metod máme připravenou aplikaci pro spuštění. Ve spodním panelu Error List by neměla být žádná chyba ani varování (po cvaknutí na chybu se přenese kurzor na místo chyby v kódu) Aplikace se spustí zeleným tlačítkem play na ToolBaru nebo klávesou F5 Ve složce Kalkulačka\bin\Debug naleznete zkompilovanou spustitelnou aplikaci. Označení šablony a vzdělávací sady viz.rozpis

9 Po spuštění této aplikace zjistíme několik maličkostí, které by se daly vylepšit Jsou to: Při stisknutí rovná se, se dají připisovat čísla k výsledku Výsledek je omezen velikostí datového typu integer Počítání jen s celými čísly Nefunguje opakovaná matematická operace (výsledek se musí zobrazit rovnítkem) Nejsou dostupné pokročilé mat. funkce Není chybové hlášení při dělení nulou nebo přeplnění datového typu Možnost vkládat text přímo na displej (neošetřené chyby nevalidního vstupu) Zkuste se zamyslet na řešení těchto chyb a navrhnout řešení Označení šablony a vzdělávací sady viz.rozpis

10 Kompletní projekt naleznete ZDEZDE Označení šablony a vzdělávací sady viz.rozpis


Stáhnout ppt "Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis."

Podobné prezentace


Reklamy Google