Объясните строку int a = int.Parse(Console.ReadLine()); - C#
Формулировка задачи:
int a = int.Parse(Console.ReadLine()); Console.WriteLine("количество совершенных операций = {0}", j);
Решение задачи: «Объясните строку int a = int.Parse(Console.ReadLine());»
textual
Листинг программы
public enum EOrder { Less = 1, Greater, Equals } ; public interface IDriver { int Left { get; } int Rigth { get; } EOrder Result { get; } int Current { get; set; } void Complete(bool isFound, int opCount); } internal class ConsoleDriver : IDriver { #region Implementation of IDriver public int Left { get { return Read("Введите целое число с которого начать отсчет: "); } } public int Rigth { get { return Read("Введите целое число которым закончить отсчет: "); } } public EOrder Result { get { return ReadResult(); } } public int Current { get; set; } public void Complete(bool isFound, int opCnt) { if (isFound) { Console.WriteLine("ЧИСЛО ОТГАДАНО! С {0} ПОПЫТКИ", opCnt); } else { Console.WriteLine("Где-то Вы солгали, сударь или сударыня!"); } Console.WriteLine("The end."); } #endregion private EOrder ReadResult() { Console.WriteLine("это число {0}?", Current); Console.WriteLine("1 - меньше "); Console.WriteLine("2 - больше "); Console.WriteLine("3 - равно "); do { int ans = Read("Введите ответ от 1 до 3: "); if (ans < 1 || ans > 3) { PrintError("Чило может быть больше(2), меньше(1) или равно(3) загадонному!"); continue; } return (EOrder)ans; } while (true); } private static int Read(string invitation) { do { Console.Write(invitation); string str = Console.ReadLine(); if (string.IsNullOrEmpty(str)) { PrintError("неверный формат числа!"); continue; } int res; if (int.TryParse(str, out res)) { return res; } PrintError("неверный формат числа!"); } while (true); } private static void PrintError(string message) { Console.WriteLine(); Console.WriteLine("**************ОШИБКА!*******************"); Console.WriteLine(message); Console.WriteLine("****************************************"); Console.WriteLine(); } } class Fortuneteller : IEnumerator<int>, IEnumerable<int> { private readonly IDriver _driver; private int _left; private int _right; private bool _isFound; private int _op; public Fortuneteller(IDriver driver) { _driver = driver; _left = _driver.Left - 1; _right = _driver.Rigth + 1; _driver.Current = int.MinValue; } private void SetBounds(EOrder order) { switch (order) { case EOrder.Less: _right = _driver.Current; break; case EOrder.Greater: _left = _driver.Current; break; case EOrder.Equals: _left = _right = _driver.Current; _isFound = true; break; } } private int GetNext() { return (_left + _right) / 2; } #region Implementation of IDisposable public void Dispose() { _driver.Complete(_isFound, _op); } #endregion #region Implementation of IEnumerator public bool MoveNext() { if (_isFound || (_left >= _right)) return false; int t = GetNext(); if (t == _driver.Current) return false; _driver.Current = t; SetBounds(_driver.Result); ++_op; return true; } public void Reset() { } public int Current { get { return _driver.Current; } } object IEnumerator.Current { get { return Current; } } #endregion #region Implementation of IEnumerable public IEnumerator<int> GetEnumerator() { return this; } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } #endregion }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д