Hilfe beim Einlesen irgendwas stimmt da nicht ?



  • 😡 😡

    char ro;
    int col = 0;
    
    do {			
    		cin>>ro>>col;	
    		//fflush(stdin);
    	}while ((col > 3 || col < 1) && ( ro != 'a'|| ro != 'b'|| ro != 'c'));
    

    also die while schleife soll solange gehen bis ro entweder ein a,b oder c ist und col entweder ein 1,2 od 3 ist?-> alles ander ist eine falsche eingabe ? nur wie geht das????????
    was mach isch falsch und wie geht das mit dem fflush(stdin) brauch ich das bei cin auch??

    thx



  • sag mal, was du eingibst. 🙂

    btw: viele fragezeichen und 2 mad-smileys ganz am anfang führen nicht zwingend zu hilfsbereitschaft.



  • Was du willst, ist doch eigentlich:

    while (!( (col >= 1 && col <= 3) && ( (row == 'a') || (row == 'b') || (row == 'c') ) ));
    

    Das kannst du dann noch umformen:

    while ( (col < 1 || col > 3) || ( (row != 'a') && (row != 'b') && (row != 'c') ) );
    

    Dein Programm sieht dann so aus:

    char row;
    int col = 0;
    
    do
    {
      cin >> row >> col;
    }while ( (col < 1 || col > 3) || ( (row != 'a') && (row != 'b') && (row != 'c') ) );
    

    Gruß De Morgan 😉



  • char ro = 0;
    int col = 0;
    
    do
        cin>>ro>>col;   
    while (!(col >= 3 && col =< 1) && ( ro >= 'a'&& ro <= 'c'));
    

    Wie wärs damit? (Nicht probiert...)
    /edit: Jetzt sollte es funktionieren...



  • ness deines funzt nicht!
    aber die oberen thx!


Anmelden zum Antworten