1. #1

    Registriert seit
    01.12.2011
    Beiträge
    135
    Thanked 75 Times in 53 Posts

    Standard C# - kein Zeilenumbruch nach ReadLine

    Moin moin,

    was mich schon länger stört sind die Zeilenumbrüche nach der Methode Console.ReadLine(). Ich würde diese gerne vermeiden, um so nach der Eingabe noch zusätzliche Zeichen einzufügen, wie die Einheit von Euro oder Prozent.

                Console.Write("Umsatz:");
    double umsatz1 = Convert.ToDouble(Console.ReadLine());


    Wie könnte ich es ermöglichen, dass die Konsole nach der Umsatz-Eingabe nicht eine Zeile weiter nach unten springt, so dass ich mit Methode Console.Write oder Console.WriteLine ein zusätzliches "EUR" beifügen könnte?


    Lieben Gruß
    Geändert von Gast78236 (22.11.2013 um 16:00 Uhr)

  2. #2

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard AW: C# - kein Zeilenumbruch nach ReadLine



  3. #3
    Avatar von Saad
    Registriert seit
    18.11.2011
    Beiträge
    786
    Thanked 621 Times in 219 Posts

    Standard AW: C# - kein Zeilenumbruch nach ReadLine

    Console.Read () ?
    Bis auf Sonderschüler kannst du alle Leute fragen - Saad ist PERFEKT wie 'ne Zeitform der deutschen Sprache.

  4. #4

    Registriert seit
    01.12.2011
    Beiträge
    135
    Thanked 75 Times in 53 Posts

    Standard AW: C# - kein Zeilenumbruch nach ReadLine

    Danke für eure Antworten.

    Wenn ich nun folgenden Code anwende

                Console.Write("Umsatz: ");
    double umsatz1 = Convert.ToDouble(Console.Read());
    Console.Write("€");


    und in der Konsole den Umsatz mit Enter bestätige, denn wechselt die Einheit € leider trotzdem in die nächste Zeile.. Sprich:

    Umsatz: 3000


    Gewünscht ist die Ausgabe:
    Umsatz: 3000 €

    Lieben Gruß
    Geändert von Gast78236 (22.11.2013 um 17:08 Uhr)

  5. #5
    Avatar von rVs14
    Registriert seit
    18.11.2011
    Beiträge
    985
    Thanked 513 Times in 338 Posts

    Standard AW: C# - kein Zeilenumbruch nach ReadLine

    Console.Write(umsatz1 + "€");
    


    Ist doch klar, du hast nirgendwo angegeben das der double umsatz1 ausgegeben werden soll.
    Geändert von rVs14 (22.11.2013 um 17:58 Uhr)

  6. #6
    Gelöschter Benutzer
    Gast

    Standard AW: C# - kein Zeilenumbruch nach ReadLine

    Zitat Zitat von rVs14 Beitrag anzeigen
    Console.Write(umsatz1 + "€");
    


    Ist doch klar, du hast nirgendwo angegeben das der double umsatz1 ausgegeben werden soll.
    brauch man auch nicht ausgeben, weil es vom user eingegeben wird und somit direkt in der konsole steht

  7. #7
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.080
    Thanked 9.118 Times in 2.995 Posts
    Blog Entries
    5

    Standard AW: C# - kein Zeilenumbruch nach ReadLine

    Darum gehts ihm auch nicht, sondern um den Zeilenumbruch. Ich würde die gesamte Zeile mit einer Lücke für die Eingabe ausgeben und anschließend mit Console.SetCursorPosition in die Lücke springen. Für jede eingegebene Zahl muss das ganze dann logischerweise ein Zeichen nach rechts verschoben werden, damit die Einheit nicht überschrieben wird. Hat auch den Vorteil, dass die Einheit von Anfang da steht und nicht erst nach der Eingabe.


    class Program {
    static void Main(string[] args) {
    string textBefore = "Umsatz: ";
    string textAfter = " Euro";
    Console.Write(textBefore + textAfter);
    int textBeforeLength = textBefore.Length;
    Console.SetCursorPosition(textBeforeLength, Console.CursorTop);
    char key;
    while ((key = Console.ReadKey().KeyChar) != (char)ConsoleKey.Enter) {
    textBeforeLength++;
    Console.Write(textAfter);
    Console.SetCursorPosition(textBeforeLength, Console.CursorTop);
    }
    Console.ReadKey();
    }
    }



  8. #8

    Registriert seit
    01.12.2011
    Beiträge
    135
    Thanked 75 Times in 53 Posts

    Standard AW: C# - kein Zeilenumbruch nach ReadLine

    Danke für die Hilfe. Ich habe mir schon gedacht, dass die Lösung nicht ganz so einfach sein wird..

    Alternativ bin ich noch auf die Methode Console.Clear() gekommen, wobei die nach einiger Zeit eben so viel Source verbrauchen könnte:

     
    Console.Clear();
    Console.Write("Umsatz 1? ");
    double umsatz = Convert.ToDouble(Console.ReadLine());

    Console.Clear();
    Console.WriteLine("Umsatz 1? " + umsatz + " EUR");
    Geändert von Gast78236 (22.11.2013 um 19:07 Uhr)

Ähnliche Themen

  1. Radio: Kein Strom nach eingesetzter Sicherung
    Von DMW007 im Forum Internet und Technik
    Antworten: 4
    Letzter Beitrag: 31.12.2013, 10:01
  2. [CSS] Zeilenumbruch verhindern
    Von exception im Forum CSS
    Antworten: 3
    Letzter Beitrag: 19.10.2013, 17:06
  3. Zeilenumbruch funktioniert nicht :/
    Von ZarneXxX im Forum PHP
    Antworten: 10
    Letzter Beitrag: 22.06.2013, 20:38
  4. Bot Problem - Zeilenumbruch
    Von GameGott im Forum Knuddels Bots
    Antworten: 8
    Letzter Beitrag: 01.10.2012, 23:56
  5. Zeilenumbruch
    Von GameGott im Forum Fragen & Probleme
    Antworten: 1
    Letzter Beitrag: 29.06.2012, 01:45
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.