Witam!
Proszę jeśli wiecie czemu jak wprowadzam np. "asd" to nie sprawdza mi, że to tekst.
Sprawdzanie i wprowadzanie danych są tak jakby w dwóch różnych blokach, które ze sobą nie współgrają. Jak to połączyć aby działało sprawdzanie poprawności danych?
using System;
using System.IO;
namespace Prawidłowy_wzor
{
class Program
{
static void WriteLineErrorMessage(string Message)
{
ConsoleColor PreviousForegoundColor = Console.ForegroundColor;
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine(Message);
Console.ForegroundColor = PreviousForegoundColor;
}
static float ReadFloatNumber(string Message)
{
int Result;
string Wejscie;
while (true)
{
//string Wejscie;
Console.Write(Message);
#region Próba odczytu wiersza z konsoli
try
{
Wejscie = Console.ReadLine();
}
catch (OutOfMemoryException e)
{
WriteLineErrorMessage("Brak pamięci operacyjnej.\nProgram zostanie zakończony");
throw e;
}
catch (IOException e)
{
WriteLineErrorMessage("Krytyczny błąd wejścia/wyjścia.\nProgram zostanie zakończony");
throw e;
}
#endregion
#region Konwersja wczytanych danych
try
{
Result = int.Parse(Wejscie);
break;
}
catch (FormatException)
{
WriteLineErrorMessage("Wprowadzono liczbę w złym formacie");
}
catch (OverflowException)
{
WriteLineErrorMessage("Wprowadzona liczba jest poza dopuszczalnym zakresem");
}
catch (ArgumentNullException) // ^Z
{
WriteLineErrorMessage("Napotkano koniec strumienia");
}
Console.WriteLine("Błędne dane, wprowadź ponownie");
#endregion
}
return Result;
}
static void Main(string[] args)
{
#region Ustawienie parametrów konsoli
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Clear();
#endregion
string Dane;
#region Wprowadzenie liczby Dane
Console.WriteLine("Podaj liczbę");
Dane = Console.ReadLine();
#endregion
int liczba;
liczba = int.Parse(Dane);
//liczba = int.Parse(Wejscie);
// int liczba = Dane;
//Obliczenia
int reszta; //Reszta to wynik działania liczba % 10
int suma = 0;
while (liczba > 0)
{
reszta = liczba % 10;
suma = suma + reszta;
liczba = liczba / 10;
}
Console.WriteLine("Suma rozwinięcia dziesiętnego wynosi: " + suma);
Console.ReadLine();
}
}
}