#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <sstream>
#include <string>
#include <cmath>
#include <math.h>
#include <iomanip>
#include <ctype.h>
#include <windows.h>
#include <stdio.h>
#include "funktionen.h"
#define Anzahl 1
using namespace std;
double abfangd(string Textd);
int abfangi(string Texti);
float abfangf(string Textf);
unsigned long abfangul(string Textul);
int main(int argc, char *argv[])
{ //start main
char c = 184, ue = 129, oe = 148, ae = 132, ss = 225, Ue = 154 ; //Sonderzeichen char
string ues(1,ue), oes(1,oe), aes(1,ae), sss(1,ss), Ues(1,Ue); //Sonderzeichen string
cout << c <<" by xxx\tVersion: xxx";
string sAuswahl, text, erneut;
int Fkt;
version();
cout << endl;
do
{ //start do erneut
cout << "W"<<ae<<"hlen Sie bitte aus was Sie berechnen m"<<oe<<"chten:\n";
cout << "1 = Aufprallgeschwindigkeit nach einem freien Fall\n";
//cout << "2 = Bahngeschwindigkeit eines Sateliten auf einer gesostation"<<ae<<"ren Kreisbahn;\n";
cout << "3 = Brennweite, Bildweite, Gegenstandsgr"<<oe<<""<<ss<<"e und Bildgr"<<oe<<""<<ss<<"e einer optische Linse\n";
cout << "4 = Die Fakult"<<ae<<"t einer ganzen Zahl\n";
cout << "5 = Die Lineareregression einer Messreihe mit zehn Wertepaaren\n";
cout << "6 = Eine beliebig lange Reihe ganzer Zahlen sortiert\n";
cout << "7 = Kapital,MwSt, Bruttopreis, Zinsen;[BUG]\n";
cout << "8 = Ladezustand eines aufladenden Kondensators\n";
cout << "9 = Momentanwert der "<<Ue<<"berlagerung zweier sinförmiger-Spannungen;\n";
cout << "10 = Nullstellen eines Polynoms f"<<ue<<"nfter Ordnung;[BUG]\n";
//cout << "11 = Schwingungsdauer eines ged"<<ae<<"mpften Pendels;\n";
cout << "12 = Umrechnung einer Bin"<<ae<<"rzahl in eine Dezimalzahl\n";
cout << "13 = Umrechnung einer Dezimalzahl in eine Bin"<<ae<<"rzahl;\n";
cout << "14 = Volumen und Oberfl"<<ae<<"che einer Pyramide\n";
cout << "15 = Volumen und Oberfl"<<ae<<"che eines Quaders\n";
cout << "16 = Volumen und Oberfl"<<ae<<"chen einer Kugel\n";
cout << "17 = Volumen und Oberfl"<<ae<<"chen eines Ellipsoids\n";
cout << "18 = Volumen und Oberfl"<<ae<<"chen eines Kegels\n";
cout << "19 = Volumen und Oberfl"<<ae<<"cheneines Prismas\n";
cout << "20 = Wurfweite, Wurfh"<<oe<<"he und Wurfwinkel eines schiefen Wurfs\n";
cout << "\nAuswahl:\t";
cin >> sAuswahl;
while (sAuswahl != "1" && sAuswahl /* != "2"&& sAuswahl */ != "3"&& sAuswahl != "4"&& sAuswahl != "5"&& sAuswahl != "6"&& sAuswahl != "7"&& sAuswahl != "8"&& sAuswahl != "9"&& sAuswahl != "10"&& sAuswahl /* != "11"&& sAuswahl */ != "12"&& sAuswahl != "13"&& sAuswahl != "14"&& sAuswahl != "15"&& sAuswahl != "16"&& sAuswahl != "17"&& sAuswahl != "18"&& sAuswahl != "19"&& sAuswahl != "20")
{ //while auswahl berechnung start
cout << "Fehler! Bitte wiederholen Sie die Eingabe:\n";
cin >> sAuswahl;
} //while auswahl berechnung ende
stringstream convertsAuswahltoint;
convertsAuswahltoint << sAuswahl;
convertsAuswahltoint >> Fkt;
cout << endl;
switch (Fkt){ //start switch berechnung
case 1:
{ //start case 1
cout << "---Aufprallgeschwindigkeit nach einem freien Fall---\n\n";
string einheit = "m/s";
text = "Geben Sie bitte die H"+oes+"he [in m] ein:\n";
float Eingabe = abfangf(text);
float Ausgabe = aufprall (Eingabe);
cout << "Ergebnis:\t";
cout << Ausgabe << einheit;
} //ende case 1
break;
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
case 2:
{ //start case 2
cout << "---Bahngeschwindigkeit eines Sateliten auf einer gesostation"<<ae<<"ren Kreisbahn---\n\n";
cout <<"\n zur Zeit noch in Arbeit\n";
/* double Ausgabe, radius, entfernung, time;
cout << "Geben Sie bitte den Radius des Planeten ein:\n";
cin >> radius;
cout << "Geben Sie bitte die Entfernung des Satelliten zum Planten an:\n";
cin >> entfernung;
cout << "Geben Sie bitte die Zeit an:\n";
cin >> time;
Ausgabe = geostanonaersat (radius, entfernung, time);
cout << "Ergebnis:\t";
cout << Ausgabe; */
} //ende case 2
break;
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
case 3:
{ //start case 3
cout << "---Brennweite, Bildweite, Gegenstandsgr"<<oe<<""<<ss<<"e und Bildgr"<<oe<<""<<ss<<"e einer optische Linse---\n\n";
double Ausgabe, brennweite, bildweite, gegenstandsweite, gegenstandsgroesse, bildgroesse;
int Auswahl;
string einheit;
text = "W"+aes+"hlen Sie bitte aus, ob Sie die Brennweite[1], die Bildweite[2], Gegenstandsweite[3] oder die Bildgr"+oes+sss+"e[4] berechnen m"+oes+"chten\n";
Auswahl = abfangi(text);
while (Auswahl != 1 && Auswahl != 2 && Auswahl != 3 && Auswahl != 4)
{ //start Abfang der Auswahl
text = "W"+aes+"hlen Sie bitte aus, ob Sie die Brennweite[1], die Bildweite[2], Gegenstandsweite[3] oder die Bildgr"+oes+sss+"e[4] berechnen m"+oes+"chten\n";
Auswahl = abfangi(text);
} //ende Abfang der Auswahl
switch (Auswahl){ //start switch Brenn-, Bildweite, Gegenstands- und Bildgröße
case 1:
{ //start case 1 Brenn-, Bildweite, Gegenstands- und Bildgröße
einheit = "cm";
text = "Geben Sie bitte die Bildweite [in cm] ein:\n";
bildweite = abfangd(text);
text = "Genben Sie bitte die Gegenstandsweite [in cm] ein:\n";
gegenstandsweite = abfangd(text);
cout << "Brennweite:\t";
} //ende case 1 Brenn-, Bildweite, Gegenstands- und Bildgröße
break;
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
case 11:
{ //start case 11
cout << "---Schwingungsdauer eines ged"<<ae<<"mpften Pendels---\n\n";
cout <<"\n zur Zeit noch in Arbeit\n";
} //ende case 11
break;
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
case 12:
{ //start case 12
cout << "---Umrechnung einer Bin"<<ae<<"rzahl in eine Dezimalzahl---\n";
int check = 0;
char tEingabe[Anzahl];
cout << "Geben Sie bitte ein Zahl f"<<ue<<"r die Umrechnung ein:\n";
do{
cin >> tEingabe;
check = 0;
// for (int i=0; i<strlen(tEingabe); i++)
for (int i=0; i<Anzahl; i++)
{
if(tEingabe[i] != '0' tEingabe[i] != '1')
{
check = 1;
}
}
if (check==1)
{
cout << "Fehler! "<<"Geben Sie bitte ein Zahl f"<<ue<<"r die Umrechnung ein:\n";
}
}
while(check==1);
cout << "Ergebnis:\t";
bid (tEingabe);
} //ende case 12
break;
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
default: cout << "Fehler-Code: 1683954x6734******!!\n\n";
break;
} //ende switch berechnung
cout << endl;
cout << "\nM"<<oe<<"chten Sie erneut etwas berechnen? [ja = j oder nein = n]\n";
cin >> erneut;
while (erneut != "j" && erneut != "n")
{
cout <<"Fehler! " <<"M"<<oe<<"chten Sie erneut etwas berechnen? [ja = j oder nein = n]\n";
cin >> erneut;
}
cout <<endl;
} //ende do erneut
while (erneut == "j");
Fkt = 0;
cout << "\n\n\t\t\tTsch" << ue << "ss";
Sleep(1000);
} //ende main
double abfangd(string Textd){
char eingabe[2000000];
int check;
cout << Textd;
do{
check = 0;
cin >> eingabe;
for (int i=0; i<strlen(eingabe); i++)
{
if(eingabe[i] != '0' && eingabe[i] != '1' && eingabe[i] != '2' && eingabe[i] != '3' && eingabe[i] != '4' && eingabe[i] != '5' && eingabe[i] != '6' && eingabe[i] != '7' && eingabe[i] != '8' && eingabe[i] != '9' && eingabe[i] != ',' && eingabe[i] != '.'){
check = 1;
}
if (eingabe[i] == ',')
{
eingabe[i] = '.';
}
}
if (check==1)
{
cout << "Fehler! "<<Textd;
}
}
while(check==1);
double eingabed = atof(eingabe);
return eingabed;
}
int abfangi(string Texti){
char eingabe[2000000];
int check;
cout << Texti;
do{
check = 0;
cin >> eingabe;
for (int i=0; i<strlen(eingabe); i++){
if(eingabe[i] != '0' && eingabe[i] != '1' && eingabe[i] != '2' && eingabe[i] != '3' && eingabe[i] != '4' && eingabe[i] != '5' && eingabe[i] != '6' && eingabe[i] != '7' && eingabe[i] != '8' && eingabe[i] != '9')
{
check = 1;
}
}
if (check==1)
{
cout << "Fehler! "<<Texti;
}
}
while(check==1);
int eingabei = atoi(eingabe);
return eingabei;
}
float abfangf(string Textf){
char eingabe[2000000];
int check;
cout << Textf;
do{
check = 0;
cin >> eingabe;
for (int i=0; i<strlen(eingabe); i++){
if(eingabe[i] != '0' && eingabe[i] != '1' && eingabe[i] != '2' && eingabe[i] != '3' && eingabe[i] != '4' && eingabe[i] != '5' && eingabe[i] != '6' && eingabe[i] != '7' && eingabe[i] != '8' && eingabe[i] != '9' && eingabe[i] != ',' && eingabe[i] != '.'){
check = 1;
}
if (eingabe[i] == ',')
{
eingabe[i] = '.';
}
}
if (check==1)
{
cout << "Fehler! "<<Textf;
}
}
while(check==1);
float eingabef = atof(eingabe);
return eingabef;
}
unsigned long abfangul(string Textul){
char eingabe[2000000];
int check;
cout << Textul;
do{
check = 0;
cin >> eingabe;
for (int i=0; i<strlen(eingabe); i++){
if(eingabe[i] != '0' && eingabe[i] != '1' && eingabe[i] != '2' && eingabe[i] != '3' && eingabe[i] != '4' && eingabe[i] != '5' && eingabe[i] != '6' && eingabe[i] != '7' && eingabe[i] != '8' && eingabe[i] != '9' && eingabe[i] != ',' && eingabe[i] != '.'){
check = 1;
}
if (eingabe[i] == ',')
{
eingabe[i] = '.';
}
}
if (check==1)
{
cout << "Fehler! "<<Textul;
}
}
while(check==1);
unsigned long eingabeul = (unsigned long) eingabe;
return eingabeul;
}