Fehler im Menü



  • Wo ist denn bitte der Fehler im Menü?

    Es gibt mir keinen default Ausgabe aus.

    Danke

    int a;
       char fehler;
    
       printf("\t\t****Menue****\n\n"); 
       printf("1.:Text 1\n");
       printf("2.:Text  2\n");
       printf("3.:Text 3\n");
       printf("4.:Text 4\n");
       printf("Bitte eine Zahl von 1 bis 4 eingeben:\n ");
       scanf("%d", &a);
    
       switch(a) { 
          case 1: printf("**Text 1** \n");
                  break;
    
          case 2: printf("**Text  2** \n");
    
    		  break;
    	  case 3:printf("**Text  3**\n");
    		  break;
          case 4: printf("**Text  4** \n");
    
    		  break;
          default: printf("%c ist keine Zahl zwischen 1-4 \n",fehler );
          }     
    
    	return 0;
    }
    


  • Wofür den char ?

    int a;
    
    	puts( "\t\t****Menue****\n" );
    	puts( "1: Text 1" );
    	puts( "2: Text 2" );
    	puts( "3: Text 3" );
    	puts( "4: Text 4" );
    	puts( "Bitte eine Zahl zwischen 1 und 4 eingeben:" );
    
    	scanf("%d", &a);
    
    	switch( a ) {
    
    		case 1:
    			puts( "** Text 1 **");
    			break;
    
    		case 2:
    			puts( "** Text 2 **" );
    			break;
    
    		case 3:
    			puts( "** Text 3 **" );
    			break;
    
    		case 4:
    			puts( "** Text 4 **" );
    			break;
    
    		default:
    			printf( "%d ist keine Zahl zwischen 1 und 4\n", a );
    	}
    

    greetz, Swordfish

    PS: 'a' und 'c' sind wieder mal tolle Namen...



  • Habe jetzt mal die Kleinigkeit geändert und es gibt mir immer noch nicht den Satz bei default aus.
    Das Programm schreibt nur : Drücken Sie eine beliebige Taste..........



  • Zeig' code.

    greetz, Swordfish



  • Sieht eigentlich aus wie deiner.

    int a;
    
       printf("\t\t****Menue****\n\n");
       printf("1.:Text 1\n");
       printf("2.:Text  2\n");
       printf("3.:Text 3\n");
       printf("4.:Text 4\n");
       printf("Bitte eine Zahl von 1 bis 4 eingeben:\n ");
       scanf("%d", &a);
    
       switch(a) {
          case 1: printf("**Text 1** \n");
                  break;
    
          case 2: printf("**Text  2** \n");
    
              break;
          case 3:printf("**Text  3**\n");
              break;
          case 4: printf("**Text  4** \n");
    
              break;
          default: printf("%d ist keine Zahl zwischen 1-4 \n",a);
          }    
    
        return 0;
    }
    


  • Keiner eine Idee?

    Wie müsste der Code aussehen damit ich nach einer falschen Eingabe eine Wiederholungsmöglichkeit habe?

    Schonmal Danke



  • #include <stdio.h>
    
    int main() { 
    	int a, run = 1;
    
    	while (run != 0) { // Solange bis run 0 ist!
    		printf("\t\t**** Menue ****\n\n");
    		printf("1.:\tText 1\n");
    		printf("2.:\tText 2\n");
    		printf("3.:\tText 3\n");
    		printf("4.:\tText 4\n");
    		printf("5.:\tBeenden\n");
    		printf("\nBitte eine Zahl von 1 bis 5 eingeben: ");
    		scanf("%d", &a);
    
    		switch(a) {
    			case 1: printf("**Text 1** \n"); break;
    			case 2: printf("**Text 2** \n"); break;
    			case 3: printf("**Text 3**\n"); break; 
    			case 4: printf("**Text 4** \n"); break;
    			case 5: run = 0; break; // run 0 setzen :)
    			default: printf("\nFehler: %d ist keine Zahl zwischen 1-5, neue Eingabe...\n\n",a);
    		}
    	}
    
    	return 0;
    }
    


  • Echt klasse danke.



  • Wenn ich ne falsche Zahl eingebe funktioniert alles.
    Aber wenn ich einen Buchstaben eingebe verfällt das Programm in ne Endlosschleife.

    Was kann man da machen?


Anmelden zum Antworten