Методы для проверки условий - C#
Формулировка задачи:
Пишу программу по обработке массивов. Приходится постоянно писать проверку на правильность ввода, чтобы число было не вещественным или не отрицательным, использую пока try catch, другого не умеем. Собственно эти проверки занимают очень большую часть кода. Можно ли как-то написать функцию, где проходили бы эти проверки? Функции еще не изучали, поэтому представления о них не имею. Все что есть в интернете мне мало понятно.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int size = 0; Random rnd = new Random(); bool fl = false, ok = true; int sw = 0; int[] mas = null; do { try { Console.WriteLine("введите 1, если хотите случайное заполнение массива. Введите 2, если хотите заполнить массив сами."); sw = Convert.ToInt32(Console.ReadLine()); ok = true; } catch (FormatException) { Console.WriteLine("неправильный ввод"); ok = false; } } while (!ok); do { try { Console.WriteLine("введите размер массива"); size = Convert.ToInt32(Console.ReadLine()); ok = true; } catch (FormatException) { Console.WriteLine("неправильный ввод"); ok = false; break; } if (size <= 0) { Console.WriteLine("число <= 0"); ok = false; } } while (!ok); do { switch (sw) { case 1: mas = new int[size]; for (int i = 0; i < size; i++) mas[i] = rnd.Next(100); foreach (int x in mas) Console.Write(x + " "); Console.WriteLine(); fl = true; break; case 2: mas = new int[size]; for (int i = 0; i < size; i++) { Console.WriteLine("введите число"); mas[i] = int.Parse(Console.ReadLine()); } foreach (int x in mas) Console.Write(x + " "); Console.WriteLine(); fl = true; break; default: Console.WriteLine("Введите 1 или 2"); sw = Convert.ToInt32(Console.ReadLine()); break; } } while (fl == false); Console.WriteLine("введите кол-во элементов для удаления"); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("введите номер с которого удалять"); int k = Convert.ToInt32(Console.ReadLine()); int [] arr = null; for (int i = 0, j = 0; (i < k) || (k + n < i) || (i < size); i++) { arr[j] = mas[i]; j++; } foreach (int x in arr) Console.Write(x + " "); } } }
Решение задачи: «Методы для проверки условий»
textual
Листинг программы
UInt32 x; bool b; do { b = UInt32.TryParse(Console.ReadLine(), out x); } while (!b);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д