• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# Zabezpieczenie strumienia wejścia przed błędnym wprowadzaniem danych.

Object Storage Arubacloud
0 głosów
1,661 wizyt
pytanie zadane 22 listopada 2016 w C# przez Masciuch Nowicjusz (120 p.)

Witam, a więc chcę zrobić proste działanie matematyczne w języku C#, lecz nie mam pomysłu i nigdzie nie znalazłem jak zabezpieczyć strumień wejścia przed błędnymi danymi. 
Mam zadeklarowaną zmienną l1 jako int i jeśli zostanie tam wpisana literka to żeby program się nie wysypał tylko wyskoczył komunikat do użytkownika o błędnej wartości.

using System;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int l1;
            int l2;
            

            Console.Write("Podaj 1 liczbe: ");
            l1 = Convert.ToInt32( Console.ReadLine());
            Console.Write("Podaj 2 liczbe: ");
            l2 = Convert.ToInt32(Console.ReadLine());

            if (( l1 != int32 ) || ( l2 != int32 ))
            {
                   Console.WriteLine("Nieprawidłowa wartość.. Podaj liczbę !");
                
            }
            else
            {
           
                  if (l2 == 0)
                      {
                           Console.WriteLine("Nie dziel przez 0");
                       }
                else
                      {
                          Console.WriteLine("Iloraz: " + (l1 / l2));
                          Console.WriteLine("Reszta z dzielenia to: " + (l1 % l2));
                       }
             }
            Console.ReadKey();
           


        }
    }
}

 

3 odpowiedzi

+2 głosów
odpowiedź 28 września 2017 przez Dofosh Obywatel (1,480 p.)
            int i = 0;
            if (int.TryParse(Console.ReadLine(), out i)) { }
            else
            {
                Console.WriteLine("Musisz podać liczbę");
            }

 

+1 głos
odpowiedź 22 listopada 2016 przez pulson666 Stary wyjadacz (12,560 p.)
Oczywiście, jak ktoś wpiszę literkę to wyrzuci wyjątek dlatego poszukaj info na temat try catch
komentarz 11 grudnia 2016 przez Masciuch Nowicjusz (120 p.)
Poszukałem i znalazłem. Dzięki :)
+1 głos
odpowiedź 28 listopada 2016 przez KSYMEK Gaduła (3,280 p.)
using System;

namespace ConsoleApplication1 {

    class Program {
        static void Main(string[] args) {
            Start:
            int l1;
            int l2;

            try {
                Console.Write("Podaj 1 liczbe: ");
                l1 = Convert.ToInt32(Console.ReadLine());
                Console.Write("Podaj 2 liczbe: ");
                l2 = Convert.ToInt32(Console.ReadLine());
            }
            catch (FormatException exception) {
                Console.WriteLine("Musisz podać liczbe!");
                goto Start;
            }

            if (l2 == 0) {
                Console.WriteLine("Nie dziel przez 0");
            }
            else {
                Console.WriteLine("Iloraz: " + (l1/l2));
                Console.WriteLine("Reszta z dzielenia to: " + (l1%l2));
            }

            Console.ReadKey();
        }
    }

}

 

komentarz 11 grudnia 2016 przez Masciuch Nowicjusz (120 p.)
Dokładnie tak to zastosowałem. Dzięki za chęci :)
komentarz 28 września 2017 przez NowyUrzydgownig Mądrala (5,090 p.)
nie używaj goto.

Podobne pytania

0 głosów
0 odpowiedzi 113 wizyt
pytanie zadane 10 listopada 2023 w C i C++ przez filip142 Nowicjusz (120 p.)
+1 głos
3 odpowiedzi 799 wizyt
+1 głos
1 odpowiedź 184 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...