C Programm wiederholung / neustart



  • Hallo,

    Ich Bastel gerade ein kleines Programm in C, und möchte eine do while Schleife unter default haben damit es sich neustartet bzw. von anfang abfragt etc.
    Es muss nich unbedingt eine do while Schleife sein, das Programm soll halt nur alle Schritte von Anfang wiederholen.

    zB:

    ...
    switch(x){

    case 1: ...;
    break;

    default: "Programm Wiederholung"

    }

    Gruß
    mctiger



  • Setze doch einfach eine Variable als Bedingung ein wie z.B. so:

    int var;
    int neustart;
    
    do
    {
      neustart = 0;
      programm_aktionen();
      switch ( var )
      {
       case 1: ... break;
       default: neustart = 1;
      };
    }
    while( neustart == 1 );
    


  • #include <stdio.h>
    #include <conio.h>
    #include <time.h>
    #include <windows.h>
    main()
    {
     system("cls");
    int a;
    
     printf(" \n das ist nur ein test...\n\n\n\n");
     printf("\n W%chlen Sie :\n",132);
     printf(" 1:123 \n\n");
     scanf("%i",&a);
    
     printf ("\n\n Bitte warten!\n");
     Sleep(100); printf("%c", 219);Sleep(100); printf("%c", 219);Sleep(100); printf("%c", 219);Sleep(100); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250);
     system("cls");
     Sleep(250);
    
      switch(a){
        case 1:
        printf("\n Sie haben 123 angegeben.\n");
    
     break;
        default:
     printf ("\n\n Falsche Eingabe, versuchen sie das nocheinmal.\n");
     Sleep(100); printf("%c", 219);Sleep(100); printf("%c", 219);Sleep(100); printf("%c", 219);Sleep(100); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(150); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250); printf("%c", 219);Sleep(250);
     system("cls");
     Sleep(250);
    }
    
        getch();}
    

    Ich pack das nicht mit do und while warum auch immer ...
    So das ist nur ein Beispiel funktionier so auch 🙄

    Nun möchte ich hier eine Wiederholung oder halt Sprung Funktion einbauen, wenn "case 1" nicht zustimmt (also keine 1) das das programm bei "default" von vorne startet .... sprich wieder die abfrage : "printf(" \n das ist nur ein test...\n\n\n\n");"



  • Du solltest dir angewöhnen, deinen Text ordentlich zu formatieren, dann können ihn auch andere Leute lesen.
    Hast du den Quellcode denn selber geschrieben, oder ihn durch irgend ein Programm erzeugen lassen? Habe eben noch nie jemanden gesehen, der einen solchen Quellcode schreibt.
    Außerdem kapiere ich nicht, wie du den compilieren konntest, wenn main() noch nichtmal einen Datentyp hat.

    Habe jetzt mal versuch den Quellcode so zu verändern, wie ich denke, das du es so meinst.
    Was du mit den Zeilen:

    printf("\n W%chlen Sie :\n",132);
    printf("%c", 219);
    

    Meinst weiß ich nicht, sind das unter Windows irgendwelche Sonderzeichen mit Alt+NUMMER?
    Falls ja, musst du die Stellen anpassen.

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <time.h>
    #include <windows.h>
    
    int main(void)
    {
    	int a, i;
    	do
    	{
    		system("cls");
    
    		printf(" \n das ist nur ein test...\n\n\n\n");
    		printf("\n Waehlen Sie :\n");
    		printf(" 1:123\n\n");
    		scanf("%i",&a);
     		printf ("\n\n Bitte warten!\n");
    
    		for(i = 0; i < 15; i++)
    		{
    			Sleep(100);
    			printf("%c", '.');
    		}
    
    		switch(a)
    		{
        			case 1:
        			printf("\n Sie haben 1 angegeben.\n");
    			break;
    
        			case 123:
        			printf("\n Sie haben 123 angegeben.\n");
    			break;
    
        			default:
     			printf ("\n\n Falsche Eingabe, versuchen sie das nocheinmal.\n");
    		}
    	} while(a != 1);
    	return EXIT_SUCCESS;
    }
    


  • Ja den Quallcode habe ich selber geschrieben ^^ ich weiss das sieht lustig aus, sollte eine Beispiel prog sein.

    Vielen Dank für die Hilfe



  • Wieso packst du es nichta lles in ein Array und gibst es dann per for-Schleife aus, dazu dann noch ein Sleep ..
    Ist wesentlich platz, und nervensparender als dein printf .. Sleep, printf .. Sleep gekritzel da oben 🙄



  • schon geschehen ^^
    danke 🙂


Anmelden zum Antworten