Programme hinzugefügt

This commit is contained in:
Leaced 2017-04-10 21:17:40 +02:00
parent e9dc6c0f6e
commit cacbe74855
3 changed files with 91 additions and 0 deletions

View file

@ -0,0 +1,47 @@
#include<iostream>
using namespace std;
long double Kommazahl(const std::string& str)
{
/*long double Zahl; //Alternative mit stold welche in der Deklaration der Nebenfunktion zusätzlich einen boolean wert benötigt ob es mt oder ohne Kommas arbeiten soll
bool Minus = false;
std::string::size_type idx;
std::string FNum = "";
for(char c:str)
{
if(c>='0' && c<='9') FNum += c;
else if(c == '-') Minus = true;
else if((c=='.' || c==',') && Komma) Komma = false, FNum += c;
}
Zahl = std::stold(FNum,&idx);
if(Minus) Zahl*=-1;
return(Zahl);*/
bool Komma=false, Minus=false;
long double Zahl = 0;
unsigned short Stelle = 0;
for(char c : str)
{
if(c>='0' && c<='9')
{
if(Komma == false)
{
Zahl *= 10;
Zahl += c - '0';
}
else
{
long double Zahl2 = c - '0';
for(unsigned short idx = 0; idx <= Stelle; idx++) Zahl2/=10;
Zahl += Zahl2;
Stelle++;
}
}
else if(c=='.') Komma=true;
else if(c=='-') Minus=true;
}
if(Minus==true) Zahl*=-1;
return(Zahl);
}

View file

@ -0,0 +1,17 @@
#include <iostream>
long double Runden(long double Zahl, int NK=0, bool mathematisch=true)
{
//Rückgabe Zahl auf NK Nachkommastellen gerundet
long long Schleife;
for(Schleife=NK;Schleife>0;Schleife--) Zahl*=10;
for(Schleife=NK;Schleife<0;Schleife++) Zahl/=10;
if(Zahl-(long long)Zahl>0.5 || Zahl-(long long)Zahl==0.5 && (mathematisch=false || (long long)Zahl%2!=0)) Zahl++;
Zahl=(long long)Zahl;
for(Schleife=NK;Schleife>0;Schleife--) Zahl/=10;
for(Schleife=NK;Schleife<0;Schleife++) Zahl*=10;
return(Zahl);
}

27
Sonstiges/Zähler.cpp Normal file
View file

@ -0,0 +1,27 @@
#include<iostream>
#include<conio.h>
#include<sstream>
#include<string>
int main ()
{
long long start=0, end=0;
std::string input;
std::cout << "Geben sie den Startwert ein: ";
getline(std::cin, input);
std::stringstream(input) >> start;
std::cout << "\nGeben sie den Endwert ein: ";
getline(std::cin, input);
std::stringstream(input) >> end;
std::cout << "\n";
if(start<end) for(int idx = start; idx<end; idx++) std::cout << idx << ", ";
else for(int idx = start; idx>end; idx--) std::cout << idx << ", ";
std::cout << end << "\n\nDie Summe der natuerlichen Zahlen von " << start << " bis " << end << " betraegt: " << (end*(end+1)-start*(start-1))/2;
getch();
return(0);
}