IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Cvičenie 2 - Dátové typy

V predchádzajúcom cvičení, Cvičenie 1 - Spájanie textu, sme si precvičili získané skúsenosti z predchádzajúcich lekcií.

Zdravím Vás u ďalšieho Cvičenie, kde si ukážeme prácu s celými číslami a tiež si objasníme aký typ údajov použiť a následne ako ho využiť pri programovaní aplikácie.

Základné dátové typy

Dátový typ definuje v programovaní druh alebo význam hodnôt, ktorých môže nadobúdať premenná (alebo konštanta).

Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms

Je nutné si uvedomiť, že počítačové spracovanie dát rozlišuje medzi textom a číslom. Ak zadáte číslo do textového poľa, program ho považuje za text. Z matematických operácií sa text môže len sčítať, takže pokus vynásobiť jeden text druhým skončí chybou.

Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms

»Vytvorenie celočíselného dátového typu

V tomto príklade si vytvoríme dátový typ integer (celočíselný), ktorý si pomenujeme cislo. Ďalším riadkom je naplnenie premenné cislo a to číslom 25. A posledný riadok vypíše cislo do labelu (popisku) Vysledok. Teda po stlačení tlačidla Vypis sa zobrazí v labelu číslo 25.

Komponenty:

  • 1x Button (Vypis)
  • 1x Label (Vysledok)
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms

Zdrojový kód:

private void Vypis_Click(object sender, EventArgs e)
{
   int cislo;
   cislo = 25;

   Vysledek.Text = cislo.ToString();
}

.ToString () - Metóda, ktorá prevádza číslo na text.

cislo je premenná, rovnako ako v matematike x alebo y. Premenná znamená, že môže obsahovať rôzne hodnoty, a tie sa môžu v priebehu práce s programom meniť. Rôzne neznamená akékoľvek. Naša premenná má priradené kľúčové slovo int, čo znamená, že môže obsahovať iba celé čísla.

»Vstup čísla do premennej + matematické operácie

Táto aplikácia podobná ako tá predchádzajúca len s jedným rozdielom, že používateľ definuje svoje číslo pomocou textového poľa.

Komponenty:

  • 1x Button (Vypocet)
  • 2x TextBox (pocetKusu, cenaKus)
  • 1x Label (Vysledok)
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms

Zdrojový kód:

private void Vypocet_Click(object sender, EventArgs e)
{
   int vypocet;
   vypocet = int.Parse(pocetKusu.Text) * int.Parse(cenaKus.Text);
   Vysledek.Text = "Celková cena je " + vypocet + " ,-Kč";
}

int.Parse (String) - je popis funkcie, ktorá prevádza text na celé číslo. String je textový reťazec, zatiaľ sme používali len označenie text. Pokiaľ chcete použiť funkciu int.Parse, nesmiete zabudnúť do okrúhlych zátvoriek zapísať názov premennej, v ktorej je uložený text, prevádzaný na číslo.

»Pre zvedavé

Ak sa vám podarila aplikácie vytvoriť a je funkčný, predsa to má jeden háčik. Ak vyplníme obe polia (pocetKusu, cenaKus) tak aplikácie vynásobí obe čísla a výsledok zobrazí v labelu Vysledok. Ale čo sa stane keď používateľ nevyplní ani jedno pole a alebo len jedno? Bohužiaľ aplikácie spadne. Tejto udalosti sa môžeme vyhnúť viacerými spôsobmi, ale dočasným najideálnejším riešením budú podmienky a nova funkcia int.TryParse.

Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms

Int.TryParse - je popis funkcie, ktorá sa pokúša previesť text na celé číslo. Do okrúhlych zátvoriek zapisujte zdroj textu. V našom prípade to sú 2 textové polia. Do zátvoriek nesmieme zabudnúť výstup (out) po prevedení (out nazev_promenne_ty­pu_int)

Zdrojový kód:

//Vytvoření proměnných typu int (pk = počet kusů; ck = cena za kus)
int pk, ck;

//Vytvoření logického typu vstup1 a funkce TryParse pro pk
bool vstup1 = int.TryParse(pocetKusu.Text, out pk);

//Vytvoření logického typu vstup2 a funkce TryParse pro ck
bool vstup2 = int.TryParse(cenaKus.Text, out ck);


//Vytvoří podmínku pro textové pole pocetKusu. Když bude v textovém poli něco jiného než celé číslo a nebo když v poli nebude nic, tak se vypíše hláška resp. MessageBox.
if (!vstup1)
{
    MessageBox.Show("Nezadali jste číslo nebo číslo je ve špatném formátu !");
}

//Vytvoří podmínku pro textové pole cenaKus.
if (!vstup2)
{
    MessageBox.Show("Nezadali jste číslo nebo číslo je ve špatném formátu !");
}

//Pokud budou vyplněna všechna pole a v polích bude celé číslo, tak se přeskočí předchozí podmínky a vykoná se část zdrojového kódu v sekci else.
else
{
    int vypocet;
    vypocet = pk * ck;
    Vysledek.Text = "Celková cena je " + vypocet + " ,-Kč";
}

Ak by sme chceli, aby do textových polí išli zadávať aj čísla s desatinným rozvojom, potom stačí namiesto int vložiť double. Tiež potom nesmieme zabudnúť zmeniť dátový typ u funkcií int.TryParse.

Zdrojový kód:

double pk, ck;
bool vstup1 = double.TryParse(pocetKusu.Text, out pk);
bool vstup2 = double.TryParse(cenaKus.Text, out ck);

if (!vstup1)
{
    MessageBox.Show("Nezadali jste číslo nebo číslo je ve špatném formátu !");
}
if (!vstup2)
{
    MessageBox.Show("Nezadali jste číslo nebo číslo je ve špatném formátu !");
}
else
{
    double vypocet;
    vypocet = pk * ck;
    Vysledek.Text = "Celková cena je " + vypocet + " ,-Kč";
}

 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 272x (1.5 MB)
Aplikácia je vrátane zdrojových kódov v jazyku C#

 

Na absolvovanie tohto cvičenia prosím splň všetky príklady tým, že ich úspešne odovzdáš na otestovanie.

Predchádzajúci článok
Cvičenie 1 - Spájanie textu
Všetky články v sekcii
Zdrojákoviště C # .NET - Okenné aplikácie Windows Forms
Článok pre vás napísal JoohnnyCZ
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity