IF-THEN-ELSE ABFRAGE AUF DER KONSOLE EINFACHES BEISPIEL

  • C#

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Pascalony.

    IF-THEN-ELSE ABFRAGE AUF DER KONSOLE EINFACHES BEISPIEL

    Hallo!

    Sollte eigentlich eine simple Abfrage auf der Console werden....aber...:
    warum kommt nach Eingabe von 1 nach der richtigen Antwort "Sie haben die eins gedrückt!" und nach dem Return die Meldung der letzten Option "Überprüfen Sie ihre Eingabe!"?
    ...und gibt es eine andere Art bei der Console auf ein Return zu warten!
    Schon mal vielen Dank für Beiträge und Antworten! :thumbsup:



    Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. using System.Threading.Tasks;
    6. namespace ConsoleTest1
    7. {
    8. class Program
    9. {
    10. static void Main(string[] args)
    11. {
    12. int x;
    13. Char auswahl;
    14. Console.Write("GEBEN SIE 1 ODER 2 EIN!:");
    15. x = Console.Read();
    16. auswahl = Convert.ToChar(x);
    17. if (auswahl == '1')
    18. {
    19. Console.Write("SIE HABEN DIE EINS GEDRÜCKT!");
    20. Console.ReadLine();
    21. Console.ReadLine();
    22. }
    23. if (
    24. auswahl == '2')
    25. {
    26. Console.Write("SIE HABEN DIE ZWEI GEDRÜCKT!");
    27. Console.ReadLine();
    28. Console.ReadLine();
    29. }
    30. else
    31. {
    32. Console.WriteLine("ÜBERPRÜFEN SIE IHRE EINGABE!");
    33. Console.ReadLine();
    34. Console.ReadLine();
    35. }
    36. }
    37. }
    38. }
    "Why the heck is this peace of shit not work'in?" ?( ......."Oh...i see! ..cause I'm not work'in!!" 8|
    Deine If Abfragen sind aufgeteilt. Die erste Abfrage wertet nur '1' aus. Danach folgt einer neuerlicher If Block welcher '2' auswertet und einen else Zweit beinhaltet. Somit ist '1' true und schreibt dir den Text in die Console und in der zweite Abfrage fällt er in den else Zweig da es ja nicht '2' war.

    Ändere die Abfrage auf '2' auf else if (auswahl == '2') und es funzt.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Vollzitat entfernt

    So ähnlich wollte ich das auch schreiben - Aber es sollte Funktionieren :)
    Teste es einfach mal, wenn es nicht gehen sollte lass es uns wissen ;)

    ~blaze~: Vollzitat entfernt
    Mit Freundlichen Grüßen
    AtomiX

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    Danke! Super schnelle Antwort!
    Jetzt tut das so wie es soll!
    Ich habe auch statt Readline ein ReadKey() eingebaut!
    Hatte ich schon mal drinn da haben aber die Klammern gefehlt und dann tut das nich denn ReadKey erwartet ja einen Rückgabewert. ?(
    Danke für die Tipps :thumbsup:

    Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. using System.Threading.Tasks;
    6. namespace ConsoleTest1
    7. {
    8. class Program
    9. {
    10. static void Main(string[] args)
    11. {
    12. int x;
    13. Char auswahl;
    14. Console.Write("GEBEN SIE 1 ODER 2 EIN!:");
    15. x = Console.Read();
    16. auswahl = Convert.ToChar(x);
    17. if (auswahl == '1')
    18. {
    19. Console.WriteLine("SIE HABEN DIE EINS GEDRÜCKT!");
    20. Console.ReadKey();
    21. }
    22. else if (auswahl == '2')
    23. {
    24. Console.WriteLine("SIE HABEN DIE ZWEI GEDRÜCKT!");
    25. Console.ReadKey();
    26. }
    27. else
    28. {
    29. Console.WriteLine("ÜBERPRÜFEN SIE IHRE EINGABE!");
    30. Console.ReadKey();
    31. }
    32. }
    33. }
    34. }
    "Why the heck is this peace of shit not work'in?" ?( ......."Oh...i see! ..cause I'm not work'in!!" 8|

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Beppi4u“ ()