Jak poprawnie użyć "Console.ReadLine()"?

0

Pisze program który ma pobierać liczby mniejsze niż 100 i w pętli while nie mogę użyć Console.ReadLine(i). Co zrobić w tej sytuacji?

using System;

namespace srednia_liczb
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Console.WriteLine("Podaj liczbe mniejsza niz 100: ");
            int i = int.Parse(Console.ReadLine());

            while (i < 100)
                {
                Console.WriteLine("Podaj kolejna liczbe: ");
                Console.ReadLine(i);
            }
            Console.ReadKey();

            
        }
    }
}
5

Próbowałeś zamiast Console.ReadLine(i); zrobić i = int.Parse(Console.ReadLine());?

0

Trochę brakuje założeń tego programu Ile ten program ma pobrać tych liczb mniejszych niz 100?

while (i < 100)
                {
                Console.WriteLine("Podaj kolejna liczbe: ");
                Console.ReadLine(i);

Na tym przykładzie Parsujesz liczbę i jeżeli jest ona mniejsza niż 100 to każe ci wprowadzić kolejną

Na danym przykładzie zastosował bym pętle do-while która w bloku do pobierała by dane wejsciowe (Console.ReadLine) a w bloku while by je przetwarzała
Jeżeli podasz pełna treść zadania to wtedy bardziej będziemy mogli pomóc. Zaznaczam pomóc, a nie rozwiązać problem za ciebie.

1

Od siebie dodam, żeby w tej sytuacji użyć int.TryParse() zamiast int.Parse. Przewaga nad TryParse() jest taka, że nie rzuci wyjątku przy próbie sparsowania danych wejściowych jeśli nie są liczbą, na przykład, gdy użytkownik zamiast liczby wprowadzi znak lub liczbę, tylko zwróci true lub false i potem można sobie ładnie to obsłużyć i w przypadku gdy nie da się sparsować danych wejściowych wyświetlić użytkownikowi ładny komunikat.

0
using System;

namespace srednia_liczb
{
    class Program
    {
        static void Main(string[] args)
        {
            for(int value;;)
            {
                Console.WriteLine("Podaj liczbe mniejsza niz 100: ");
                if(!int.TryParser(Console.ReadLine(),out value) || (value>=100)) break;
            }
            //Console.ReadKey(); // Weź w ustawieniach zrób aby nie zamykało okna po zakończeniu
        }
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1