Undefined
By: mathfunctions.cpp | Date: Nov 28 2009 14:57 | Format: C++ | Expires: never | Size: 3.23 KB | Hits: 933
- //////////////////////////////////////////////////////////////////////////
- // //
- // Voelz, Michael Matr.-Nr.: 345451 //
- // //
- // //
- // modCalc //
- // ========= //
- // //
- //////////////////////////////////////////////////////////////////////////
- // //
- // Datum: 19.11.2006 //
- // //
- // //
- // //
- // //
- // Beschreibung des Programms: //
- // =========================== //
- // //
- // Funktion: //
- // Fordert zur Eingabe eines Operators und eines Operanden auf und //
- // gibt dann das ergebnis aus. Division durch 0 ist nicht erlaubt. //
- // Beenden mit 'e'. L�schen mit 'c'. //
- // //
- // Aufbau: //
- // enth�lt eine do-while Schleife in der die Berechnung und die //
- // Abfrage stattfindet. Am Anfang ein if um auf Eingabe von 'e' //
- // oder 'c' zu �berpr�fen. //
- // //
- // Benutzung: //
- // einfach nur starten und den Anweisungen folgen //
- // //
- // //
- // //
- //////////////////////////////////////////////////////////////////////////
- #include <iostream>
- #include "mathfunctions.h" // headerfile
- using namespace std;
- double potenz(double basis, int pot) // wenn potenz gr��er 0, normale potenz. wenn 0, dann 1. sonst negative potenzrechnung.
- {
- double potzwischen = 1;
- if (pot > 0)
- {
- for (int i=1; i<=pot; i++) // normal
- {
- potzwischen = potzwischen * basis;
- }
- }
- else
- {
- if (pot == 0)
- {
- potzwischen = 1; // potenz = 0
- }
- else
- {
- pot = pot * -1; // wenn negative potenz
- for (int i=1; i<=pot; i++)
- {
- potzwischen = potzwischen * basis;
- }
- potzwischen = 1 / potzwischen;
- }
- }
- return(potzwischen);
- }
- double fakultaet(double fak) // for-schleife f�r die fakult�t mit wenn overflow, dann rel. und abs. fehler ausgeben.
- {
- double fakerg2;
- double fakerg = 1;
- double relfehler;
- double absfehler;
- for (double i=1; i<=fak; i++) // fakult�t
- {
- fakerg2 = fakerg;
- fakerg = fakerg * i;
- absfehler = (fakerg / i) - fakerg2; // wenn kein overflow, dann ist absfehler = 0
- if (absfehler != 0) // wenn overflow
- {
- relfehler = absfehler / fakerg2; // relativen fehler wird berechnet
- cout << "Overflow bei " << i << endl; // wann overflow
- cout << "relativer Fehler: " << relfehler << endl; // relativen fehler ausgeben
- cout << "absoluter Fehler: " << absfehler << endl; // absoluten fehler ausgeben
- }
- }
- return(fakerg);
- }
- bool ganzZahl(double zahl) // ganze zahl?
- {
- if (double(int(zahl)) == zahl) // wenn int-wert von zahl = double-wert von zahl, dann true
- {
- return true; // wenn ganze zahl
- }
- else
- {
- return false; // wenn keine ganze zahl
- }
- }
- int runden(double wert)
- {
- if (wert - int(wert) >= 0.5)
- {
- return int(wert)+1;
- }
- else
- {
- return int(wert);
- }
- }
Latest pastes
2 days ago
2 days ago
2 days ago
2 days ago
2 days ago