2016-05-02 10 views
-1

Ich erstelle ein Programm, mit dem der Benutzer eine Nummer eingeben kann. Dann addiert, subtrahiert, dividiert oder multipliziert es nacheinander mit der ersten eingegebenen Zahl und wird beendet, wenn x gedrückt wird.Wie beende ich ein Programm, indem ich einen Buchstaben eintippe?

Mein Code:

char o; 
    float N1,N2,res; 
    printf("Enter a Number Then Hit Enter> "); 
    scanf("%f",&N1); 
    res = N1; 
    printf("\n****Value = %f****\n",res); 

    while(1) { 
     printf("\nEnter an operation (+,-,*,/) or enter (x) to exit Then Hit Enter> "); 
     scanf("%*c%c",&o); 

     if(o=='x') { 
      break; 
     } 

     printf("Enter a Number Then Hit Enter> "); 
     scanf("%f",&N2); 

     switch(o) { 
     case '+': 
      res=res+N2; 
      printf("\n****Value = %f****\n",res); 
      break; 
     case '-': 
      res=res-N2; 
      printf("\n****Value = %f****\n",res); 
      break; 
     case '*': 
      res=res*N2; 
      printf("\n****Value = %f****\n",res); 
      break; 
     case '/': 
      res=res/N2; 
      printf("\n****Value = %f****\n",res); 
      break; 

     default: 
      printf("Illegal Operation Symbol ....Try again > "); 
     } 
    } 
    enter code here 
    return 0; 
} 

Ich möchte wissen, wie das Programm zu beenden und wenn es fehlt etwas?

+0

möchte ich wissen, wie das Programm zu beenden und wenn es smth fehlt –

+0

Bitte näher auf das, was Sie vielleicht denken, fehlen. Wie sollen wir wissen, ob etwas fehlt? –

+0

Der von Ihnen bereitgestellte Code sieht so aus, als würde er das Programm verlassen, wenn 'o == 'x'', zumindest bricht er aus der Schleife und ruft dann' return 0 'auf. Ist die Zeile 'Code hier eingeben 'in Ihrem Code enthalten? –

Antwort

1

Wie man ein Programm durch Eingabe eines Buchstabens beendet?

IMHO, sollte Ihr ursprüngliches Programm korrekt beendet werden. Wenn Sie jedoch versuchen, das Programm only auf einem Tastendruck zu beenden (diese Option wird Ihnen helfen, das Ausgabefenster wie im Fall von Visual Studio beizubehalten), können Sie Folgendes tun:

Ersatz:

enter code here 

mit

while(getchar()!='\n') 
    continue; //wasting the buffer 
printf("You have pressed the x option\n"); 
printf("Press any key to exit..") 
getchar(); 
+0

Nun, ja @JonnyHenly: D. Korrigiert & Danke, dass Sie darauf hingewiesen haben. – sjsam

+0

Ich mag die Logik in Ihrem Code. Danke, dass du dieses * winzige * Problem behoben hast. –

Verwandte Themen