If....Vergleichbaren Befehl



  • Pratwa schrieb:

    Das Funktioniert ja nicht bis "unendlich", und wenn ja wie soll das dann genau aussehen, if - elseif- else... und dann? wieder mit if beginnen aber ich glaube das funktioniert nicht

    Nur Mut, du wirst es schon schaffen unedlich viele verschieden Bedingungen zu stellen.

    Und es ist if else if , mit Leerzeichen zwischen else und if.



  • Pratwa schrieb:

    Das Funktioniert ja nicht bis "unendlich", [...]

    Ist der Speicher deines Rechners endlich?

    Pratwa schrieb:

    und wenn ja wie soll das dann genau aussehen, if - elseif- else... und dann?

    if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else {
    
        /* ... */
    
    }
    

    Für unendlich viele hab' ich im Moment keine Zeit - mach' ich dann später ...



  • So danke Swordfish, mit der Schleife in der main hab ich nicht verstanden um das programm wieder zu starten . . .. .
    Beispeil bitte

    herzlichen dank


  • Mod

    Da du ja anscheinend eine Komplettlösung suchst: Beschreib mal den geplanten Programmverlauf, dann bekommst du dein Beispiel maßgeschneidert.



  • Pratwa schrieb:

    So danke Swordfish, mit der Schleife in der main hab ich nicht verstanden um das programm wieder zu starten . . .. .
    Beispeil bitte

    herzlichen dank

    do
    {
    
      Was immer du auch für Code brauchst um deine Werte einzulesen bitte hierhin
    
      if( /* ... */ ) {
    
        /* ... */
    
      } else if( /* ... */ ) {
    
        /* ... */
    
      } else {
    
        /* ... */
    
      }
    
    } while (1);
    


  • ok, Beispiel:

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int main(int argc, char *argv[])
    {
    
    if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    }
    
    system("Pause";
    return 0;
    }
    


  • Pratwa schrieb:

    ok, Beispiel:

    #include <cstdlib>
    #include <iostream>
    

    Falsche Sprache. Hier ist C 🙂



  • ja sry..

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int main(int argc, char *argv[])
    {
    int ki, kd;
       scanf("%d",&ki);
       scanf("%d",&kd);
    
    if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    
    } else if( /* ... */ ) {
    
        /* ... */
    }
    
    system("Pause";
    return 0;
    


  • #include <stdlib>
    #include <stdio>
    
    int main( void )
    {
        int ki = 0;
        int kd = 0;
    
        if( scanf( "%d", &ki ) != 1 ) {
    
            /* Fehlerhafte Eingabe */
            return EXIT_FAILURE;
        }
    
        if( scanf( "%d", &kd ) != 1 ) {
    
            /* Fehlerhafte Eingabe */
            return EXIT_FAILURE;
        }
    
        do {
            if( /* ... */ ) {
    
                /* ... */
    
            } else if( /* ... */ ) {
    
                /* ... */
    
            } else if( /* ... */ ) {
    
                /* ... */
    
            } else if( /* ... */ ) {
    
                /* ... */
            }
    
        } while( 1 );
    }
    


  • Herzlichen Dank an Alle!

    Gelöst... 👍



  • Hmm,

    ich wollte es so haben:

    scanf("%d",&ki);
    scanf("%d",&kd);

    Das heisst man gibt 2 unterschiedliche Werte ein, diese sollen auch so berücksichtigt werden.

    Dann
    .
    .
    .

    if((ki==4,5) && (kd==2,3) {

    printf("True\n");

    } else if((ki==1,6) && (kd==9,11){

    printf("False\n");
    .
    .
    .

    Dass heisst.... man gibt 2 Werte am Anfang ein und in jeder Bedinung steht eine andere Kombination (kd,ki).

    Z.B.
    ki==4,5 && kd==2,3 -> True
    ki==1,6 && kd==1,3 -> False
    ki==0 && kd==23,44,45 -> False

    Kann das so wer lösen, von Zeile 1 ab (also ab inlcude :)) ?



  • #include <stdlib>
    #include <stdio>
    
    int main( void )
    {
        int ki = 0;
        int kd = 0;
    
        if( scanf( "%d", &ki ) != 1 ) {
    
            /* Fehlerhafte Eingabe */
            return EXIT_FAILURE;
        }
    
        if( scanf( "%d", &kd ) != 1 ) {
    
            /* Fehlerhafte Eingabe */
            return EXIT_FAILURE;
        }
    
        do {
            if( ( ki == 4 | ki == 5 ) && ( kd == 2 || kd == 3 ) ) {
    
                /* ... */
    
            } else if( ( ki == 1 || ki == 6 ) && ( kd == 1 || kd == 3 ) ) {
    
                /* ... */
    
            } else if( !ki && ( kd == 23 || kd == 44 || kd == 45 ) ) {
    
                /* ... */
    
            } /* what */ else /* ? */ {
    
                /* ... */
            }
    
        } while( 1 );
    }
    


  • da ist leider ein fehler, wenn es so z.B. ist

    Eingabe war kd 23 und kd 45

    ..
    } else if( !ki && ( kd == 23 || kd == 44 || kd == 45 ) ) {
     printf("true\n");
    ..
    

    schreibt er "unedliche" male true, ich wollte aber nur das das programm von neuem mit scanf anfängt und nicht true immer wieder wiederholt...



  • Edit ki23 nicht kd...



  • #include <stdlib>
    #include <stdio>
    
    int main( void )
    {
        int ki = 0;
        int kd = 0;
    
        do {
    
            if( scanf( "%d", &ki ) != 1 ) {
    
                /* Fehlerhafte Eingabe */
                return EXIT_FAILURE;
            }
    
            if( scanf( "%d", &kd ) != 1 ) {
    
                /* Fehlerhafte Eingabe */
                return EXIT_FAILURE;
            }
    
            if( ( ki == 4 | ki == 5 ) && ( kd == 2 || kd == 3 ) ) {
    
                /* ... */
    
            } else if( ( ki == 1 || ki == 6 ) && ( kd == 1 || kd == 3 ) ) {
    
                /* ... */
    
            } else if( !ki && ( kd == 23 || kd == 44 || kd == 45 ) ) {
    
                /* ... */
    
            } /* what */ else /* ? */ {
    
                /* ... */
            }
    
        } while( 1 );
    }
    

    Möchtest du vielleicht irgedwas auch selbst machen?


Anmelden zum Antworten