C# deklarace povolených znaků

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Petrfoo
Level 2
Level 2
Příspěvky: 238
Registrován: srpen 17
Pohlaví: Muž

C# deklarace povolených znaků

Příspěvekod Petrfoo » 01 říj 2017 16:04

Zdravíčko přátelé! Ze začátku upozorňuji, že jsem v C# úplný začátečník, proto prosím buďte schovívavý pokud se ptám na nějakou jednoduchou kravinu.

Mám napsaný jednoduchý prográmek na různé operace s čísly a potřeboval bych nějak ošetřit situaci, kdy dotyčný do zadávacího pole napíše jiný znak než číslice 0-9. Ideálně aby po zadání jiného znaku a následném pokusu o výpočet vyskočil message box s informacemi o chybě. Jediná věc kterou potřebuji poradit je jak deklarovat, že jediné povolené znaky jsou číslice. Předpokládám že se to bude dělat přes funkci if (int != ...). Nebo na to jdu špatně?

Předem děkuji za rady!


Dell Inspiron 15 7560 / Intel i5-7200U / nVidia GeForce 940MX / RAM 8GB DDR4 2400 MHz / 256GB SSD
Xiaomi Redmi Note 2 / MediaTek MT6795 Octa Core / RAM 2GB

Reklama
KrisMan555
Level 1
Level 1
Příspěvky: 65
Registrován: květen 13
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod KrisMan555 » 01 říj 2017 16:15

Taky jsem začátečník ale vyřešil bych to tak že bych si proměnou ve který máš uložená čísla převedl do stringu a pak bych zkontroloval jestli obsahuje pouze čísla a pak to převed zpátky..

Petrfoo
Level 2
Level 2
Příspěvky: 238
Registrován: srpen 17
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod Petrfoo » 01 říj 2017 16:27

Já právě nevím jak deklarovat nebo zkontrolovat, zda-li na vstupu jsou pouze číslice. Šlo by to kontrolovat až na výstupu, protože pokud je zadáno do vstupu něco jiného než čísla, tak výsledkové pole zůstane prázdné. Ale na to jak deklarovat do podmínky prázdné pole jsem také nepřišel.
Dell Inspiron 15 7560 / Intel i5-7200U / nVidia GeForce 940MX / RAM 8GB DDR4 2400 MHz / 256GB SSD
Xiaomi Redmi Note 2 / MediaTek MT6795 Octa Core / RAM 2GB

KrisMan555
Level 1
Level 1
Příspěvky: 65
Registrován: květen 13
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod KrisMan555 » 01 říj 2017 16:43

Přidej sem kód bude to lepší.

Petrfoo
Level 2
Level 2
Příspěvky: 238
Registrován: srpen 17
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod Petrfoo » 01 říj 2017 16:47

Kód: Vybrat vše

public MainPage()
        {
            this.InitializeComponent();
        }

        private void btnCalc_Click(object sender, RoutedEventArgs e)
        {
            int A = int.Parse(txtA.Text);
            int B = int.Parse(txtB.Text);
            int C = int.Parse(txtC.Text);
            int D = int.Parse(txtD.Text);
            int E = int.Parse(txtE.Text);
            int F = int.Parse(txtF.Text);
            int G = int.Parse(txtG.Text);
            int H = int.Parse(txtH.Text);
            int I = int.Parse(txtI.Text);
            int vysledek = A * E * I + D * H * C + G * B * F - C * E * G - F * H * A - I * B * D;
            txtVysledek.Text = vysledek.ToString();


            if (vysledek == 0)
            {
                txtVysledek.Text = "Neplatne zadani!".ToString();
            }
       
        }
Dell Inspiron 15 7560 / Intel i5-7200U / nVidia GeForce 940MX / RAM 8GB DDR4 2400 MHz / 256GB SSD
Xiaomi Redmi Note 2 / MediaTek MT6795 Octa Core / RAM 2GB

KrisMan555
Level 1
Level 1
Příspěvky: 65
Registrován: květen 13
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod KrisMan555 » 01 říj 2017 17:12

Zkus jestli to jde.
► Zobrazit spoiler
Naposledy upravil(a) KrisMan555 dne 01 říj 2017 17:40, celkem upraveno 1 x.

Petrfoo
Level 2
Level 2
Příspěvky: 238
Registrován: srpen 17
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod Petrfoo » 01 říj 2017 17:22

Tohle nefunguje.

Dodatečně přidáno po 1 minutě 33 vteřinách:
Při zadání jiného znaku (například písmena) to vypíše Uživatelem neošetřenou výjimku System.FormatException: Input string was not in a correct format.

Dodatečně přidáno po 3 minutách 34 vteřinách:
Jak mám v tom kódu if tak toho si nevšímej, to se vztahuje pouze na nulový výsledek který ti za daných okolní vyjde při určité kombinaci čísel.
Dell Inspiron 15 7560 / Intel i5-7200U / nVidia GeForce 940MX / RAM 8GB DDR4 2400 MHz / 256GB SSD
Xiaomi Redmi Note 2 / MediaTek MT6795 Octa Core / RAM 2GB

Uživatelský avatar
faraon
Master Level 8
Master Level 8
Příspěvky: 6045
Registrován: prosinec 10
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod faraon » 01 říj 2017 22:12

C# nepatří mezi jazyky kterými bych se domluvil, ale napadá mě několik možností:
  • Odchytit tu výjimku při chybě, případně jí odchytávat v cyklu.
  • Před převodem projít cyklem celý string znak po znaku, jestli některý není mimo rozsah '0'..'9'.
  • Prostudovat si MSDN.
Nejhroznější sen linuxáka: nabootuje počítač, a tam Windows.
Nejhroznější sen windowsáka: nabootuje počítač, a tam Linux.
Nejkrásnější sen linuxáka: nabootuje počítač, a tam Linux.
Nejkrásnější sen windowsáka: nabootuje počítač.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8695
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž

Re: C# deklarace povolených znaků

Příspěvekod CZechBoY » 15 říj 2017 21:31

PHP, Nette, MySQL, Oracle SQL, C#
PhpStorm, xampp, WinSCP, Opera browser, Windows 10
Xiaomi 3S (RAM 2GB, CZ LTE)
Raspberry PI 3, bez chlazení, v krabičce, 8 GB SD, KODI, Raspbian


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Klávesnice-více znaků
    od tomuha » 14 úno 2017 14:03 » v Problémy s hardwarem
    5
    343
    od tomuha
    19 úno 2017 21:42

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Bing [Bot], CommonCrawl [Bot] a 2 hosti