C-Programm gibt Eingabeaufforderung doppelt aus

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Gerowia
Beiträge: 14
Registriert: Di Jan 03, 2017 10:38 am

C-Programm gibt Eingabeaufforderung doppelt aus

Beitrag von Gerowia » 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... :?

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;
}



Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8472
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C-Programm gibt Eingabeaufforderung doppelt aus

Beitrag von Xin » So Jun 10, 2018 10:20 pm

Hey

Schau mal hier findest Du die Lösung zu deinem Problem: Standard-Eingabe löschen
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten