- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 11

Thema: C-Programmierung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40

    C-Programmierung

    Ich hätte da mal kurz ne Frage:
    Wenn ich in C programmiere, dass eine unsichtbare Eingabe erfolgt und dafür die getch-Funktion nehme und diese mit if verknüpf, dann wird nach dem ersten drücken der Taste nur die erste if-Bedingung kontrolliert, wenn aber die zweite oder dritte if-Bedingung richtig wär, muss ich auch so oft draufdrücken! Was mach ich falsch?
    Hier mal kurz zur Erklärungdev C++ 4.9.9.2)
    ...
    ...
    ...
    ...
    if (getch("%d",&eingabe)=='a')
    {
    blablab
    }
    else if (getch("%d",&eingabe)=='b')
    {
    blablab
    }
    else if (getch("%d",&eingabe)=='c')
    {
    blablab
    }

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Wenn Du z.B. "b" drückst, dann frisst das getch im ersten if schon dieses Zeichen, so dass der Eingabepuffer wieder leer ist. Besser: vor der if-Konstruktion einmal getch und das Ergebnis in eine Variable speichern, und die Variable in der if-Konstruktion auswerten.

    viele Grüße
    Andreas
    #define true ('/'/'/')
    #define false ('-'-'-')

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    und wie mach ich das?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    int eing;
    int eingabe;
    int zufallszahl;
    getch("%c",&eingabe)=eing;
    if (eing=='l')
    {
    srand(time(0));
    zufallszahl = 1+(rand() % (10-1));
    printf("Die Zufallszahl ist diesmal %d\n\n",zufallszahl);
    }
    else if (eing=='m')
    {
    srand(time(0));
    zufallszahl = 1+(rand() % (25-1));
    printf("Die Zufallszahl ist diesmal %d\n\n",zufallszahl);
    }
    else if (eing=='s')
    {
    srand(time(0));
    zufallszahl = 1+(rand() % (50-1));
    printf("Die Zufallszahl ist diesmal %d\n\n",zufallszahl);
    }
    Geändert von powder999 (19.01.2012 um 17:21 Uhr)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    Das geht ned!!

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Variable links vom = wird mit dem Wert rechts vom = gefüllt:

    eing = getch("%c",&eingabe); wäre richtiger
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Zeile 4:
    Code:
    eing=getch("%c",&eingabe);
    #define true ('/'/'/')
    #define false ('-'-'-')

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    Danke für die schnellen Antworten, ihr seid super!

Ähnliche Themen

  1. Programmierung des I2C-Bus TWI
    Von bedboy27 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 31.01.2008, 15:35
  2. Led Programmierung
    Von cbr600 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 13.10.2007, 14:18
  3. I²C/TWI Programmierung
    Von ben21684 im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 04.06.2007, 19:29
  4. [ERLEDIGT] PIC-Programmierung
    Von im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 04.11.2005, 16:54
  5. IC Programmierung
    Von Foncy im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 11.08.2005, 19:46

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests