
C# ošetření uživatelského vstupu v dvojrozměrném poli
Dobrý den,
Potřeboval bych poradit s ošetřením uživatelského vstupu. Na následujícím kódu jsem již jedno ošetření provedl ale potřeboval bych ošetřit vstup (r,s) kdy se tam prostě nesmí zadat jiná hodnota než KLADNÁ ČÍSLA.
Console.Write("Zadej počet řádků ( 5 a více ): ");
r = Convert.ToInt32(Console.ReadLine());
Console.Write("Zadej počet sloupců ( 5 a více ): ");
s = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
//deklarace pole----------------------------------------------
int[,] pole = new int[r, s];
//zadání položek pole-----------------------------------------
Console.WriteLine("Zadej položky " + (r * s));
for (i = 0; i < r; i++)
{
for (j = 0; j < s; j++)
{
try
{
pole[i, j] = Convert.ToInt32(Console.ReadLine());
}
catch
{
Console.WriteLine("Chyba zadání");
j = j - 1;
continue;
}
}
}
Console.WriteLine();
A co nevíš?
Při zadání počtu řádků a sloupců je problém v tom, že tam lze zadat i písmena (což samozřejmě nedává smysl a program spadne). Proto potřebuju nějakým způsobem ošetřit ten vstup pro zadání počtu sloupců a řádků aby tam šlo zadat pouze kladné čísla.
Na čísla to převáděj pomocí:
A celé to zadávání vstupní hodnoty a její kontrolu obal do..while cyklem. To ti zajistí, že program nebude pokračovat dál, dokud to nezadá správně.
https://msdn.microsoft.com/cs-cz/library/f02979c7( v=vs.110).aspx
https://msdn.microsoft.com/cs-cz/library/370s1zax. aspx