1 / 10

Programování – Dokončení aplikace

Programování – Dokončení aplikace. Ing . Josef Veselý. Stav aplikace. 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. 1) Zpracování mat. operací. Postup:

corby
Download Presentation

Programování – Dokončení aplikace

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Stav aplikace • 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. 1) Zpracování mat. operací • 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. 2) Událost mat. operace • Ošetření všech matematických operací bude vypadat podobně: • Budou se lišit jen hodnotou proměnné funkce (odcitani, nasobeni, deleni) privatevoidplusButton_Click(objectsender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text= "0"; funkce = "scitani"; } Označení šablony a vzdělávací sady viz.rozpis

  5. 3) Stisk - rovná se • 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. 4) Funkce, která počítá privatevoidrovnaseButton_Click(objectsender, 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 = ""; } Označení šablony a vzdělávací sady viz.rozpis

  7. 5) Celkový zdrojový kód usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.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 = ""; } privatevoidsmaz_Click(objectsender, EventArgs e) { zadaniTextBox.Text = "0"; } privatevoidscitaniButton_Click(objectsender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "scitani"; } privatevoidodecitaniButton_Click(objectsender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "odcitani"; } privatevoidnasobeniButton_Click(objectsender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "nasobeni"; } privatevoiddeleniButton_Click(objectsender, EventArgs e) { cislo1 = int.Parse(zadaniTextBox.Text); zadaniTextBox.Text = "0"; funkce = "deleni"; } privatevoidrovnaseButton_Click(objectsender, EventArgs e) { cislo2 = int.Parse(zadaniTextBox.Text); if (funkce == "scitani") { c = cislo1 + cislo2; } elseif (funkce == "odcitani") { c = cislo1 - cislo2; } elseif (funkce == "nasobeni") { c = cislo1 * cislo2; } elseif (funkce == "deleni") { c = cislo1 / cislo2; } zadaniTextBox.Text = c.ToString(); funkce = ""; } } } Označení šablony a vzdělávací sady viz.rozpis

  8. 6) Spuštění • 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. 7) Ladění • 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. 8) Zdrojová aplikace • Kompletní projekt naleznete ZDE Označení šablony a vzdělávací sady viz.rozpis

More Related