switch/case

Moin,

schau doch einfach auf den Link, den Dir deepthroat am Anfang schon geschickt hat ... da steht doch alles drin :eek:

Das entscheidende ist :
Code:
switch ( test ) {

  case 1 : 
    // Process for test = 1
    ...
    break;

  case 5 : 
    // Process for test = 5
    ...
    break;

  default : 
    // Process for all other cases.
    ...
}

Gruß
Klaus
 
:offtopic:
Wenn Leute zu faul sind, sich nen Link anzuschauen, zeigt das meist das sie net wirklich interesse haben programmieren zu lernen
 
Bin nicht zu faul es geht nur nicht irgendwo hab ich wieder nen beschissenen Fehler drin der für euch leicht ist und für mich nicht das ich erst seit 10 std programmiere will hier niemand kappieren....... sauerei.... hab ich schon besser erlebt....

Falls mir mal jemand helfen will :
Die While Schleife wiederholt sich, aber der switch befehl wird nicht ein 2.mal aufgerufen...

Dankeschön!!


Code:
{
     do

       { printf("Auswahl: Kostenoptimiert <1> oder Technisch-Optimal <2>" );     // oder ENDE <3>\n\n
    
                      
          auswahl=0;
                     
          switch(auswahl=getchar())
            {
            case '1':   {auswahl1();break;  }
                         
                         
             
             case '2':   {auswahl2();break;   }   
                                                         
                               
               
              //default: {};break;
            
            }              
          printf("Wiederholen Ja[J]/Nein[N]?")    ;             
          scanf("%s",&wieder)  ;                       
      
       } while (wieder[0]== 'j' || wieder[0]=='J');   
    }
               
             }
 
Zuletzt bearbeitet:
Hallo,

das Hauptproblem hier dürfe sein, dass getchar nur das nächste Zeichen einliest. scanf lässt allerdings den Zeilenumbruch noch im Eingabepuffer stehen, sodass getchar dann im Anschluss eben diesen Zeilenumbruch ausliest. Du könntest aber statt scanf auch getchar verwenden (du bist ja nur an einem Zeichen interessiert), im Anschluss aber solange die restlichen Zeichen im Eingabepuffer auslesen, bis du auf einen Zeilenumbruch stößt:
C:
while (getchar() != '\n') /* noop */;
Selbiges müsstest du dann aber natürlich auch beim ersten getchar machen.

Grüße, Matthias
 
Zurück