001
20.08.2005, 18:35 Uhr
(un)wissender
Niveauwart
|
Wo liegt das Problem?
C++: |
#include <iostream>
using namespace std;
double zahl1; //Variable double zahl2; char rechnen;
double summe(double x, double y){ //Addition return (x+y); }
double differenz(double x, double y){ //Subtraktion return (x-y); }
double produkt(double x, double y){ //Multiplikation return (x*y); }
double divisor(double x, double y){ //Division return (x/y); }
void doThemAll(double x, double y) { cout << "Das Ergebnis der Addition lautet: "<<summe(x,y)<<'\n'; cout << "Das Ergebnis der Subtraktion lautet: "<<differenz(x,y) << '\n'; cout << "Das Ergebnis der Multiplikation lautet: "<<produkt(x,y) << '\n'; if (y == 0.0 ) //Schutz gegen Division durch Null { cout << "Sie haben eine Null eingegeben!"<<endl; cout << "Die Division durch Null ist nicht erlaubt!"; } else { cout << "Das Ergebnis der Division lautet: "<<divisor(x,y) << '\n'; } }
int main() {
cout << "Geben Sie die erste Zahl ein: "; //Einlesen cin >> zahl1;
cout << "Geben Sie die zweite Zahl ein: "; cin >> zahl2;
doThemAll(zahl1, zahl2);
cout << "Geben Sie die Rechenoperation ein: (+ , - , * , /) "; cin >> rechnen;
switch(rechnen){ case '+': cout << "Das Ergebnis der Addition lautet: "<<summe(zahl1,zahl2)<<endl; break;
case '-': cout << "Das Ergebnis der Subtraktion lautet: "<<differenz(zahl1,zahl2); break;
case '*': cout << "Das Ergebnis der Multiplikation lautet: "<<produkt(zahl1,zahl2); break;
case '/': if (zahl2==0){ //Schutz gegen Division durch Null cout << "Sie haben eine Null eingegeben!"<<endl; cout << "Die Division durch Null ist nicht erlaubt!"; break; } else{cout << "Das Ergebnis der Division lautet: "<<divisor(zahl1,zahl2); break; }
default: //Schutz gegen falsches Zeichen cout << "Sie haben keine Rechenfunktion gewaehlt !!!"; } char p[50]; cin.getline (p,50); cin.getline (p,50); }
|
-- Wer früher stirbt ist länger tot. |