Назад Вперед Зміст


Оператор циклу з післяумовою (do - while)

Приклад

Вводяться будь-які цілі числа. Умова завершення вводу – введення однозначного додатного числа.

int N; string s; 
do 
{ 
  Console.Write("Введіть N="); 
  s = Console.ReadLine(); 
  N = Convert.ToInt32(s); 
} 
 while (N<0|| N>10); // умова продовження циклу
 Console.WriteLine("Введене число дорівнює {0} ", N); 

Оскільки OneCompiler не дає вам ввести дані, давайте зробимо код, який сам собі подає числа — імітує ввід. Так він працюватиме у будь-якому середовищі, включно з OneCompiler без поля STDIN.

Робочий приклад, який НЕ потребує вводу взагалі

using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        // Імітація вводу: черга чисел, які нібито вводить користувач
        // У реальній програмі тут був би Console.ReadLine()
        var inputs = new Queue<string>(new[] { "15", "-3", "abc", "5" });
        int N = 0;
        do
        {
            Console.Write("Введіть N=");
            // Беремо наступне число з черги (замість читання з клавіатури)
            string s = inputs.Count > 0 ? inputs.Dequeue() : null;
            Console.WriteLine(s ?? "<кінець вводу>");
            if (s == null)
            {
                Console.WriteLine("Ввід завершено.");
                return;
            }
            if (!int.TryParse(s, out N))
            {
                Console.WriteLine("Це не число. Спробуйте ще раз.");
                N = -1;
                continue;
            }
            if (N < 1 || N > 9)
            {
                Console.WriteLine($"Число {N} не є однозначним додатним.");
                continue;
            }
        }
        while (N < 1 || N > 9);
        Console.WriteLine($"Введене число дорівнює {N}");
    }
}


Введіть N=15
Число 15 не є однозначним додатним.
Введіть N=-3
Число -3 не є однозначним додатним.
Введіть N=abc
Це не число. Спробуйте ще раз.
Введіть N=5
Введене число дорівнює 5

Назад Вперед Зміст