while Schlefen in swich/case Problemme



  • Tag zusammen, schreib ein Programm das einen Text koddieren und wieder dekoddieren soll. Dazu erstell ich ein Menü, das eine Auswahl bietet, dazu benutze ich die switch/case Anweisung. für die Kodierung benutze ich eine while Schleife (dabei nimmt das programm einzelne Stellen des Textes und koddiert diese, stückweise)
    Problem: die Schleife while läuft nicht!
    jedoch läuft die while Schleife als eine Funktion (ohne switch/case)
    Mein Quellcode:

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    
    int main(){
        char szText[10000],szCod[10000],eingabe;
        int stel=0,i;
    
        printf("\n\n[1] Koddieren\n[2] Dekoddieren\n[3] Beenden\n# ");
        eingabe=getchar();
        switch(eingabe){
        case '1':
             printf("\nIhre Nachricht:\n");
             gets(szText);
            while (szText[stel]!='\0')
    {
         szCod[stel]=szText[stel]+3;
         stel++;                   
    }
    szCod[stel]='\0';
    
        for(i=0;szCod[i]!='\0';i++)
        {
             printf("%c",szCod[i]);
        }
             break;
    
        case'2':
                printf("\nenkoddieren");
                break;
        case'3':
                exit(1);       
    }
    
    getch();
    


  • Igitt, was sucht so ein Quelltext im C++ Board?
    Kannst du ansonsten mal das Problem etwas eingrenzen (schnapp dir einen Debugger und schau dir an, was zu Beginn der Schleife in deinem Feld steht).

    (Noch ein kleiner Tip: Du solltest vor der Schleife die Zählvariable auf 0 zurücksetzen)



  • Ich glaub du hast den unterschied zwischen C++ und C nihct begriffen.
    Das fängt bei den headern an (stdio.h => cstdio und für C++ <iostream>)

    Kann den thread einer verschieben?


Anmelden zum Antworten