Wątek przeniesiony 2016-10-09 09:56 z C# i .NET przez DibbyDum.

Wczytywanie i wyświetlanie danych z konsoli.

0

Mam w konsoli zrobić program co pyta o imię, nazwisko, płeć i wiek, a potem prosi o edycję imienia i nazwiska, oto fragment kodu:

...
int wiek = Convert.ToInt32(Console.ReadLine()); 
Console.Write("Imie: ", imie= Console.ReadLine()); //tutaj edytuje imie
Console.Write("Nazwisko: ", nazwisko= Console.ReadLine());
...

Potem wyświetlam wszystko, i problem jest taki, że:

  • jak wpiszę wiek i zatwierdzam enterem w konsoli to konsola oczekuje znowu na enter, następnie wyświetla pole "Imie: " (to do edycji), ja wpisuje imię, po czym nie mogę już wpisać nazwiska bo pole "Imie: " jest puste a w polu "Nazwisko: " jest wpisane (to nowe) imię;
    domyślam się że to przez ReadLine() :
 
int wiek = Convert.ToInt32(Console.ReadLine()); 

, tyle że z samym Console.Read() źle wychodzi(bo działa tylko na 1-cyfrowych);

Pewnie 'string wiek' byłoby łatwiejsze ale akurat musi być ten 'int wiek'.

0

Napisz to jak człowiek. W tej chwili masz
Console.Write("Imie: ", imie= Console.ReadLine());
najpierw wczytaj z konsoli potem wyświetl. Najpierw program liczy argument "imie= Console.ReadLine", a następnie wyświetla.
Powinno być coś w stylu:

Console.Write("Imie: ");
imie= Console.ReadLine();
 

Zaznaczam, że pisałem w tym języku wieki temu.

0

Domyslam sie ze chodzi ci o takie cos:

 
            Console.WriteLine("Podaj wiek");
            int wiek = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Podaj imie");
            string imie = Console.ReadLine();

            Console.WriteLine("Podaj nazwisko");
            string nazwisko = Console.ReadLine();

            Console.Write($"Imie: {imie} \nNazwisko: {nazwisko} \nLat: {wiek} ");

            Console.ReadLine();

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