Sehr schön.
Version 5.0 mit zusätzlich Modulo, Prozentsatz, Wurzelziehen, Fakultät, Bildschirminhalt löschen und Hilfetext erneut anzeigen... sowie Syntaxhervorhebung.#include<stdio.h>#include<math.h>#include<conio.h>#include<stdlib.h> /*Header werden eingebunden*/float zahl1,zahl2,endwert;double ergebnis;char operato;int zaehlvar=1,div0,end,abfrage,help,clear; /*Variablen werden definiert*/float add(float wert1,float wert2) {endwert = wert1 + wert2; return endwert;} /*Addition wird defiert*/float sub(float wert1,float wert2) {endwert = wert1 - wert2; return endwert;} /*Subtraktion wird definiert*/float mul(float wert1,float wert2) {endwert = wert1 * wert2; return endwert;} /*Multiplikation wird definiert*/float div(float wert1,float wert2) {endwert = wert1 / wert2; return endwert;} /*Division wird definiert*/float mod(float wert1,float wert2) {endwert = (int)wert1 % (int)wert2; return endwert;} /*Modulo wird definiert*/float per(float wert1,float wert2) {if(wert1==0||wert2==0) return 0;else return((fabs(wert1)*100.0) / fabs(wert2));} /*Prozentsatz wird definiert*/float wur(float wert2) {endwert = sqrt(wert2); return endwert;} /*Wurzelziehen wird definiert*/float fak(float wert2) {if(wert2==0){endwert=1;}else{endwert=wert2*fak(wert2-1);}return endwert;} /*Fakultät wird definiert*/main(){ printf("\nWillkommen. Moeglich sind : Addition : +\n"); /*Instruktionen*/ printf(" Subtraktion : -\n"); printf(" Multiplikation : *\n"); printf(" Division : /\n"); printf(" Prozentsatz : p\n"); printf(" Modulo : %%\n"); printf(" Sqrt : 2w\n"); printf(" Fakultaet(INT!): 1f\n\n"); printf("q als Operator zum beenden, also z.b.: 1q1 \n"); printf("h als Operator, um diesen Text erneut anzuzeigen!\n"); printf("c als Operator, um Bildschirminhalt zu loeschen."); do { help=0; ergebnis=0; clear=0; printf("\n\n--------- %d.Rechnung ---------\n\n\n",zaehlvar); scanf("%f",&zahl1);scanf("%c",&operato);scanf("%f",&zahl2); /*Werte werden eingelesen*/ switch(operato) /*Berechnung*/ { case '+': ergebnis=add(zahl1,zahl2); break; case '-': ergebnis=sub(zahl1,zahl2); break; case '*': ergebnis=mul(zahl1,zahl2); break; case '/': if(zahl2==0){div0=1;}else ergebnis=div(zahl1,zahl2); break; case '%': ergebnis=mod(zahl1,zahl2); break; case 'p': ergebnis=per(zahl1,zahl2); break; case 'w': ergebnis=wur(zahl2); break; case 'f': ergebnis=fak(zahl2); break; case 'h': printf("\nWillkommen. Moeglich sind : Addition : +\n"); /*Hilfe*/ printf(" Subtraktion : -\n"); printf(" Multiplikation : *\n"); printf(" Division : /\n"); printf(" Prozentsatz : p\n"); printf(" Modulo : %%\n"); printf(" Sqrt : 2w\n"); printf(" Fakultaet(INT!): 1f\n\n"); printf("q als Operator zum beenden, also z.b.: 1q1 \n"); printf("h als Operator, um diesen Text erneut anzuzeigen!\n"); help=1; break; case 'c': system("cls"); clear=1; break; default: end=1; } zaehlvar++; if(help!=1) { if(clear!=1) { if(end!=1) { if(div0!=1) { printf("\n\n= %f\n",ergebnis); /*Ausgabe*/ } else { printf("\n\nDIVISON DURCH 0!"); } } } } } while(end!=1); abfrage=getch(); /*Beliebiger Tastendruck*/}?>
Taschenrechner in C nich in C++ – Seite 2
Zitat
if(help!=1)
{
if(clear!=1)
{
if(end!=1)
{
if(div0!=1)
{
printf("\n\n= %f\n",ergebnis); /*Ausgabe*/
}
else
{
printf("\n\nDIVISON DURCH 0!");
}
}
}
}
}
Hier würd ich mal überlegen ob du nicht einfach if(bRechnungErfolg){}
einführst spart auch wieder ne ganze latte und das rückt nicht jedesmal tiefer wenn dir neue Optionen einfallen
| « Delphie lernen! | 4523 BG-Entwickler gesucht » | ||
Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!
| Mehr Themen zu "Taschenrechner nich C++"
