На предыдущем уроке было рассмотрены варианты вывода данных на консоль, при этом данные были инициализированы в самой программе. В этом уроке рассмотрим примеры ввода данных с консоли и основные математические действия. И в этом нам снова поможет сайт https://metanit.com/. . Так же указываю прямую ссылку на данный материал https://metanit.com/sharp/tutorial/2.15.php
Данные для обработки мы будем получать с консоли. В паскале для этого были команды Read и Readln. В C# они также присутствуют. Рассмотрим самый простой пример ввода данных на вводе символьных переменных (строк).
using System; class MainClass { public static void Main () { Console.Write("Введите свое имя: "); string name = Console.ReadLine(); Console.WriteLine($"Привет {name}"); Console.Write("В каком городе ты живешь?"); string town = Console.ReadLine(); Console.WriteLine($"Город {town} очень хорош"); Console.WriteLine($"Пока {name}, который проживает в городе {town}"); Console.ReadKey(); } }
Этот же вариант программы, но с другим форматом вывода данных.
using System; class MainClass { public static void Main () { Console.Write("Введите свое имя: "); string name = Console.ReadLine(); Console.WriteLine("Привет {0}",name); Console.Write("В каком городе ты живешь?"); string town = Console.ReadLine(); Console.WriteLine("Город {0} очень хорош",town); Console.WriteLine("Пока {0}, который проживает в городе {1}", name, town); Console.ReadKey(); } }
Итак, думаю со строками понятно… Теперь перейдём к числам… Тут также есть несколько вариантов…Я предлагаю то, что мне понятнее с опыта Паскаля/Делфи. На этапе ввода данных число воспринимается как символ (буква), поэтому нам надо указать что это именно число. Для этого используется метод для конвертации в целое число Convert.ToInt32(параметр). Рассмотрим другие параметры конвертации для разных типов числовых переменных…
// convert string → float float value = Convert.ToSingle("234"); // convert string → double double value = Convert.ToDouble("234"); // convert string → short short value = Convert.ToInt16("234"); // convert string → int int value = Convert.ToInt32("234"); // convert string → long long value = Convert.ToInt64("234"); // convert string → ushort ushort value = Convert.ToUInt16("234"); // convert string → uint uint value = Convert.ToUInt32("234"); // convert string → ulong ulong value = Convert.ToUInt64("234");
А теперь пример работы программы с выполнением арифметических операций
using System; class MainClass { public static void Main () { // Запрашиваем у пользователя входные данные. Console.Write("Enter First number: "); int first = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter Second number: "); int second = Convert.ToInt32(Console.ReadLine()); ; // Сумма. int sum = first + second; Console.WriteLine($"Результат сложения {first} и {second} равен {sum}."); // Разность. int sub = first - second; Console.WriteLine($"Результат вычитания {first} и {second} равен {sub}."); // Умножение. int mul = first * second; Console.WriteLine($"Результат умножения {first} и {second} равен {mul}."); // Дробное деление. Приведение переменных double devd = (double)first / second; Console.WriteLine($"Результат деления дробного {first} и {second} равен {devd}."); // Остаток от деления. int mod = first % second; Console.WriteLine($"Результат остатка от деления {first} и {second} равен {mod}."); // Деление на цело. int dev = first / second; Console.WriteLine($"Результат деления на цело {first} и {second} равен {dev}."); //Число А + B в кубе int res = Math.Pow(sum, 3); Console.WriteLine($"({first} + {second}) ^ {3} = {res}"); //Корень квадратный из сумы чисел без форматирования double _sqrt = (double)Math.Sqrt(first + second); Console.WriteLine($"Результат квадратного корня из {first} + {second} равен {_sqrt}."); //Округляем корень квадратный из сумы чисел до 3 числа double res = Math.Round(_sqrt, 3); Console.WriteLine($"Результат округления квадратного корня из {first} + {second} до 3 цифры равен {res}."); //Отбрасываем дробную часть из корня из числа. Приведение переменных. double res1 = (int)Math.Truncate(_sqrt); Console.WriteLine($"Результат квадратного корня из {first} + {second} без дробной части равен {res1}."); //Форматируем вывод для десятичной дроби, указывая количество знаков после запятой f2 string res1_out = String.Format("{0:f2}", _sqrt); Console.WriteLine($"Результат квадратного корня из {first} + {second} с двумя знаками после запятой ={res1_out}."); Console.WriteLine($"Результат квадратного корня из {first} + {second} с двумя знаками после запятой ={_sqrt:f2}."); // Ожидаем ввода пользователя. Console.Write("Press any key to Exit...: "); Console.ReadLine(); } }