C-Programm gibt Eingabeaufforderung doppelt aus
Verfasst: So Jun 10, 2018 8:33 pm
Hallo
Ich habe ein C-Programm geschrieben zur Untersuchung einer einzugebenden Zahl. In einer While- Schleife kann dann mehrfach eine Zahluntersuchung gewählt werden. Das funktioniert bisher auch soweit, aber Das Menü , das angibt welche Zahluntersuchungen zur Auswahl stehen, zu Beginn der While-Schleife, wird bei jedem Durchlauf doppelt angezeigt und ich finde nicht heraus warum...

Ich habe ein C-Programm geschrieben zur Untersuchung einer einzugebenden Zahl. In einer While- Schleife kann dann mehrfach eine Zahluntersuchung gewählt werden. Das funktioniert bisher auch soweit, aber Das Menü , das angibt welche Zahluntersuchungen zur Auswahl stehen, zu Beginn der While-Schleife, wird bei jedem Durchlauf doppelt angezeigt und ich finde nicht heraus warum...

Code: Alles auswählen
#include<stdio.h>
#include<math.h>
int main(void){
char c;
int z,a,b,d,e;
printf("Geben Sie bitte eine natuerliche Zahl ein: ");
scanf("%d", &z);
while(c != 'X' && z>0){
printf("Zahluntersuchung waehlen: \n (Q) Quadratzahl? \n (V) Vollkommene Zahl? \n (B) Binaerdarstellung der Zahl \n (N) Neue Zahl \n (X) Exit \n");
scanf("%c", &c);
if(c=='X'){
printf("Auf Wiedersehen!");
}
if(c=='N'){
printf("Geben Sie bitte eine natuerliche Zahl ein: ");
scanf("%d", &z);
}
if(c=='Q'){
b=z;
a=sqrt(b);
if((a*a)==b){
printf("%d ist eine Quadratzahl. \n", z);
}else{
printf("%d ist keine Quadratzahl. \n", z);
}
}
}
return 0;
}