Skip to content

Instantly share code, notes, and snippets.

@marhoily
Created July 31, 2015 08:27
Show Gist options
  • Save marhoily/17c644d3a9719f4149cf to your computer and use it in GitHub Desktop.
Save marhoily/17c644d3a9719f4149cf to your computer and use it in GitHub Desktop.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
// Пример вызова функции без аргументов
var x = GetNumberFromConsole();
var y = GetNumberFromConsole();
// Пример вызова функции с аргументами
var printAsBase16 = PrintAsBase16(x + y);
Console.WriteLine("{0}+{1}={2}=0x{3} ", x, y, x + y, printAsBase16);
Console.WriteLine("нажать клавишу для завершения");
Console.ReadKey();
}
// Функция. Не обращайте пока внимания на слова
// "private" и "static". Принимает int в качестве аргумента
// возвращает строку
private static string PrintAsBase16(int value)
{
// Попробуйте реализовать эту функцию не прибегая
// к готовым решениям
return Convert.ToString(value, 16);
}
// Другая фкнкция. Не принимает аргументов. Возвращает число
private static int GetNumberFromConsole()
{
// Здесь мой вариант реализации вашей проверки корректности ввода
// Объявляем переменные без инициализации
// обычно в этом нет необходимости, но ради примера
int result;
bool isNumber;
// Пример цикла do-while
// Сейчас функция состоит из 14 строк кода
// поэксперементируйте как переписать ее короче
// (перевод фигурных скобок на ту же строку не считается)
// если не получится, спросите, я дам подсказку
do
{
Console.Write("Введите число и нажмите Enter:");
// out аргумент нужен функции
isNumber = int.TryParse(Console.ReadLine(), out result);
if (isNumber)
// пропускает остаток тела цикла
continue;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("некорректный ввод!");
Console.ResetColor();
}
while (!isNumber);
return result;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment