Simpler Taschenrechner in C
Thursday, 16 April 2009
Tolle Übungsaufgabe in C: ein simpler Konsolentaschenrechner der addieren, multiplizieren, subtrahiren und divieren kann. Ausserdem soll das Programm beendet werden wenn man ‘q’ eingibt.
/*********************** * Ein einfacher Taschenrechner * * Rainer Hihn */ #includevoid exit(int); float calculate(char optr, float opr1, float opr2) { float rErg = 0; switch(optr) { /** * addieren */ case '+': rErg = opr1 + opr2; break; /** * subtrahieren */ case '-': rErg = opr1 - opr2; break; /** * multiplizieren */ case '*': rErg = opr1 * opr2; break; /** * dividieren */ case '/': rErg = opr1 / opr2; break; /** * Wenn kein erlaubter * Operator eingegeben wurde */ default: printf("Falscher Operator \n"); exit(1); } return rErg; } int main(void) { /** * Variablendeklaration */ char cOptr; float fOpr1; float fOpr2; float fErg; while(1) { printf("Eingabe: Operator Operand1 Operand2 \n"); /** * Benutzereingabe Operator */ printf("Bitte Eingabe Operator \n"); scanf(" %c", &cOptr); /** * Programm wird beendet wenn * 'q' eingeben wird */ if(cOptr == 'q') { break; } /** * Benutzereingabe Operand 1 */ printf("Bitte Eingabe Operand1: \n"); scanf(" %f", &fOpr1); /** * Benutzereingabe Operand 2 */ printf("Bitte Eingabe Operand2: \n"); scanf(" %f", &fOpr2); if(cOptr == '/' && fOpr2 == 0) { printf("ehm ... nein? \n"); break; } /** * Ergebnis berechnen und ausgeben */ fErg = calculate(cOptr, fOpr1, fOpr2); printf("%f %c %f = %f \n\n", fOpr1, cOptr, fOpr2, fErg); } return 0; }