Verwenden Sie Schalter mit der Nummer Fall ist, und Fall char

Möchte ich ein switch Schleife.

Wenn der Eingang wird von 1 zu 5. Gibt es eine Nummer. Sonst wird es drucken "this is not a number". Und wenn die Eingabe 'e'. Die switch Schleife beendet werden sollte.

Kann ich die Anzahl Teil, aber ich weiß nicht, wie kann ich machen Eingang mit 'e'. Es einfach nicht Lesen. Hier ist mein code:

int main() {
int i,a = 0;
printf("Write something:");
scanf("%d", &i);
    do{
    switch (i)
    {
    case 1:
        printf("1");
        break;
    case 2:
        printf("2");
        break;
    case 3:
        printf("3");
        break;
    case 4:
        printf("4");
        break;
    case 5:
        printf("5");
        break;
    case 'e':
        a=1;
        break;
    default:
        printf("This is not a number”); 
        break;
    }
}while (a==0);}

Mein problem ist das ich nicht haben kann-Eingabe als 'e' oder jedem char. Denn wenn ich das Tue, werde ich erstellen ein paradox, Schleife oder einfach überhaupt nicht arbeiten. Wo bin ich falsch?

  • Warum sind Sie versuchen zu mischen, Zeichen und zahlen in der gleichen (int) variable?
  • Und was für ein Paradoxon-Schleife ist?
  • Ich denke, dass mein Anfänger-Fehler. Die übung sagen Sie mir zu tun, Fälle mit zahlen und char 'e'. Also ich habe irgendwie hier verloren, und ich versuche so...
  • Wenn ich eine Schleife, die nicht ein Ende haben. Es wird nicht aufhören, bis man alle Speicher. Für mich, mit diesem code: Es hält den Druck "Dies ist keine Zahl" Tausende von Zeit.
Schreibe einen Kommentar