[C#] mit if/else operator überprüfen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von aggrosiv, 26. Januar 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 26. Januar 2009
    mit if/else operator überprüfen

    tag!

    hab von meinem lehrer übungen zu einem test bekommen. jetz häng ich bei folgender frage:

    Sie sollen überprüfen ob die eingelesenen Zeichen ein logischer bzw. Bitoperator ist.
    Schreiben Sie diese Bedingung als IF/ELSE Konstruktion und verwenden Sie den richtigen Datentype.

    hab mir das irgendwie so vorgestellt, aber da bekomme ich gleich eine ganze reihe an fehlern.

    Code:
    char eingabe;
    
     eingabe = Convert.ToChar(txtEingabe.Text);
    
     if(eingabe=='&','&')
     Console.WriteLine("Sie haben logisch UND eingegeben");
     else
     {
     if(eingabe=='|','|')
     Console.WriteLine("Sie haben logisch ODER eingegeben");
     }
     Console.Write("Falsche Eingabe! Bitte UND oder ODER eingeben");

    kann mir da vielleicht jemand weiterhelfen?
     
  2. 26. Januar 2009
    AW: mit if/else operator überprüfen

    Hi,

    vlt. hilft dir ja das weiter:

    Quelle:Computerfreakz.org
     
  3. 26. Januar 2009
    AW: mit if/else operator überprüfen

    hm...naja nicht wirklich. soweit weiß ich das auch schon.

    das einzige was mir gerade eingefallen ist, man könnte ja den ascii code anstatt & hineinschreiben oder? der is in dem fall bei UND 38. das wäre sicher einfacher denk ich mal. doch beim test weiß ich den ascii code ja dann auch nicht auswendig. also muss es irgendwie anders auch möglich sein.
     
  4. 26. Januar 2009
    AW: mit if/else operator überprüfen

    Hi,

    naja du kannst den ja nach gucken und das halt mit ausgeben. Wenn sie oder haben möchten, geben sie das ein oder halt das.
     
  5. 26. Januar 2009
    AW: mit if/else operator überprüfen

    Also das problem ist: ein char kann nur immer ein Zeichen aufnehmen. Wenn du jetzt also "||" überprüfen willst, dann brauchst du einen String.
     
  6. 27. Januar 2009
    AW: mit if/else operator überprüfen

    und wie schreibe ich das da hin?
     
  7. 28. Januar 2009
    AW: mit if/else operator überprüfen

    Code:
    string check = txtEingabe.Text; //hier hast eh nen string
    if(check.Length > 2 || check.Length < 1) {
     //fehler, boolsche oder bit-operatoren haben entweder 2 oder 1 zeichen
    } else if(check.Length == 2 && (check.Equals("&&") || check.Equals("||"))) {
     //boolscher operator
    } else if(check.Equals("&") || check.Equals("|") || check.Equals("^")) {
     //bit operator
    } else {
     //kein boolscher oder bit-operator gegeben
    }
    bitwise fällt mir noch >> und << (= shift) ein, wenn du das auch abfragen willst haust du das noch in die zweite elseif-abfrage mit rein.
     
  8. 28. Januar 2009
    AW: mit if/else operator überprüfen

    murdoc dein vorschlag ist für das schulische Programmieren, (ich kenn das hab ich 4 jahre hinter mir) zu kompliziert

    Da wird dein Lehrer hundert pro Wissen dass das irgendwo rauskopiert ist.....

    eingabe = txtEingabe.Text;

    if(eingabe.equals "&&")
    ---Sie haben ausgegeben----
    else
    if(eingabe.equals "||")
    --- Sie haben so und so
    else
    ---Falsch



    falls du dich über das .equals wunderst ... das ist ne java Methode die String vergleicht ... musst mal suchen obs die bei C# auch so gibt oder wie die dort heißt

    Die äquivalente methode in C# heißt string.compare(string a, string b)

    beles dich da am besten mal selber weil da hab ich selbst keine peilung ^^
     
  9. 28. Januar 2009
    AW: mit if/else operator überprüfen

    da hast du volkommen recht.

    und das mi equals..hab ich noch nie gehört. weiß sonst vielleicht jemand wie das ganze in c# heißt?
     
  10. 28. Januar 2009
    AW: mit if/else operator überprüfen

    mein posting überlesen? das is c# ^^
     
  11. 28. Januar 2009
    AW: mit if/else operator überprüfen

    Code:
    
    string eingabe = Convert.ToString(Console.ReadLine()); //Eingabe einlesen
    
    if(eingabe=="&")
    {}
    else if(eingabe=="&&")
    {}
    else if(eingabe=="|")
    {}
    else if(eingabe=="||")
    {}
    else //kein if trifft zu 
    {}
    
    
    vlt etwas einfacher als Murdocs code
     
  12. 28. Januar 2009
    AW: mit if/else operator überprüfen

    Code:
     string eingabe;
    
     eingabe = Convert.ToString(Console.ReadLine(txtOp.Text));
    
     if (eingabe == "&")
     {
     lblErg.Text = "Sie haben & eingegeben";
     }
     else if (eingabe == "&&")
     {
     lblErg.Text = "Sie haben && eingegeben";
     }
     else if (eingabe == "|")
     {
     lblErg.Text = "Sie haben | eingegeben";
     }
     else if (eingabe == "||")
     {
     lblErg.Text = "Sie haben || eingegeben";
     }
     else
     {
     lblErg.Text = "Falsche Eingabe!";
     }
    habs jetz so versucht.

    Der Fehler: Keine Überladung für die ReadLine-Methode nimmt 1 Argumente an.
     
  13. 28. Januar 2009
    AW: mit if/else operator überprüfen

    ja, ein wenig mitdenken musst du schon auch...
    wenn der text in einem text-feld deiner gui steht, wie hoch is die wahrscheinlichkeit das du diesen dann von der konsole lesen musst?

    Code:
     string eingabe;
    
     eingabe = txtOp.Text; //sollte ein string sein, wenn nicht: Convert.ToString()
    
     if (eingabe == "&")
     {
     lblErg.Text = "Sie haben & eingegeben";
     }
     else if (eingabe == "&&")
     {
     lblErg.Text = "Sie haben && eingegeben";
     }
     else if (eingabe == "|")
     {
     lblErg.Text = "Sie haben | eingegeben";
     }
     else if (eingabe == "||")
     {
     lblErg.Text = "Sie haben || eingegeben";
     }
     else
     {
     lblErg.Text = "Falsche Eingabe!";
     }
    sollte laufen
     
  14. 29. Januar 2009
    ja das sind so die typischen anfänger fehler denk ich mal. ich hoffe es zumindest

    das haut jetz hin. vielen dank nochmals für die hilfe !

    bew is raus
     
  15. 30. Januar 2009
    ~closed~
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.