Используя только буквенный ввод, ввести непустую последовательность цифр - C#
Формулировка задачи:
Используя только буквенный ввод, то есть процедуру read (c), где с-буквенная переменная, ввести непустую последовательность цифр, перед которой может находиться знак «+» или «-», за которой следует пробел и, получив соответствующее целое число, присвоить его целой переменной k.
Решение задачи: «Используя только буквенный ввод, ввести непустую последовательность цифр»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
private static int ReadNum()
{
string str = Console.ReadLine();
int Num = 0;//число
bool Start = false;//метка старта
foreach (var CharValue in str)//Пока не нажмем Enter
{
if (CharValue == ' ' || CharValue == '-' || CharValue == '+')
{//Если наткнемся на разделитель после числа - выйдем
if (Start) return Num;
}
else
if (CharValue >= '0' && CharValue <= '9')
{//обработка цифры
Start = true;//Число началось
Num = Num * 10 + (byte)(CharValue - '0');//накоплние цифры
}
else
{//Если ввели не цифру, и не '+','-',' ' - напшем сообщение и выйдем
Console.WriteLine("Был введен недопустимый символ - {0}", CharValue);
return 0;
}
}
return Num;
}
static void Main(string[] args)
{
Console.WriteLine(ReadNum());
}
}
}