C-Code um eine Abfrage erweitern!

v!ta

Neuling
Thread Starter
Mitglied seit
20.04.2007
Beiträge
84
hi,

hab hier mal nen kleinen rechner in die tasten reingehauen!

nur fehlt noch eine kleinigkeit die ich nicht reinbekomme!

am ende der rechnung soll der user gefragt werden ob er nochmal rechnen will. bei ja soll das ganze von vorne beginnen, bei nein -> ende!

Code:
#include <stdio.h>

double add(double op_1, double op_2, double *result){
	*result = op_1 + op_2;
}

double sub(double op_1, double op_2, double *result){
	*result = op_1 - op_2;
}

double mul(double op_1, double op_2, double *result){
	*result = op_1 * op_2;
}

double div(double op_1, double op_2, double *result){
	*result = op_1 / op_2;
}

int main (void){
	
	double op_1, op_2, result;
	char op;

	printf("operand 1: ");
	scanf("%lf", &op_1);

	printf("operand 2: ");
	scanf("%lf", &op_2);

	printf("operator: ");
	scanf("%c", &op);
	op = getchar();
	
	if(op_2 == 0 && op == '/'){
		printf("FALSCHE EINGABE: Zunzulaessiger Operation\n");
		}
	
	else{	
		if(op == '+' || op == '-' || op == '*' || op == '/'){
			switch(op){
				case '+': add(op_1,op_2, &result); break;
				case '-': sub(op_1,op_2, &result); break;
				case '*': mul(op_1,op_2, &result); break;
				case '/': div(op_1,op_2, &result); break;
				default: printf("FALSCHE EINGABE!\n"); break;
			}

			printf("ergebnis: %lf", result);
	}

	else{
		printf("FALSCHE EINGABE: Zunzulaessiger Operator\n");
	}
	}
	
return 0; 
}
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
was haelst du von soetwas?
Code:
bool weiter = true;
int janein;
while(weiter){
//DEIN CODE der main
cout << "moechten sie weiter rechnene? 1=ja 0=nein";
cin >> janein;
if(janein == 1){
weiter = true;
}else{
weiter = false;
}
}

ist jetzt nicht getestet,aber bin der meinung das wir das in der schule immer so gemacht haben
 
int weiter = 1;

while(weiter){
//DEIN CODE der main
//oder die Funktion z. B. void Berechnen()
cout << "moechten sie weiter rechnene? 1=ja 0=nein";
cin >> weiter;
}
 
Wieso eine INT-Variable? ist doch RAM-Verschwendung.
Da nimmt man direkt BOOL. Und ja, man kann auch einer Bool-Variable eine 1 zuweisen, das gilt automatisch als TRUE; die 0 als FALSE.

DK
 
soviel ich weiß ist BOOL in C, C++ nichts anderes als INT oder?
 
wie wärs mit ner do while schleife ?
char retry='n';
do{..........
........
printf("weiter rechnen \t-j/n- ?\n")
scanf(scanf("%c", &retry);
}while(retry != 'j');

da kann man jetzt noch nen bissel dran rumbasteln aller If(retry != 'j' || retry != 'n') und etc....
 
Zuletzt bearbeitet:
Boolean true ist nichts weiter als ne 1, und false ne 0. Außerdem wird Bool auch in (mindestens) ein Byte aufgelöst, weil man nicht weniger adressieren kann.

Aber Bool ist meiner Meinung nach um einiges lesbarer, vorausgesetzt man nutzt c++ und nicht c.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh