Advertisement
Leange

Untitled

Apr 26th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <regex>
  4. #include <limits>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.  
  10.     double d; //unsere double variable in der wir nen wert wollen
  11.     regex reg_d("\\b(([0-9]+)\\.)[0-9]+\\b"); //regulärer ausdruck um ne kommazahl zu erkennen
  12.  
  13.     cout << "Bitte Gleitkommazahl eingeben oder mit \"Enter\" beenden." << endl;
  14.  
  15.     while (true) {
  16.         //erstmal alles in nen string
  17.         string in = "";
  18.         cin >> in;
  19.  
  20.         //wenn istream fucked ist oder der string "in" noch leer ist (benutzer hat nur enter gedrückt) schleife abbrechen
  21.         if (!cin || in == "")
  22.             break;
  23.  
  24.         //wenn der string nen match mit regular expression "reg_d" hat
  25.         if (regex_match(in, reg_d)) {
  26.             //double d den wert des strings geben
  27.             d = stod(in);
  28.             cout << "Zahl ist: " << d << endl;
  29.         }
  30.         else //ansonsten
  31.             cout << "Eingabe ist keine Gleitkommazahl" << endl;
  32.  
  33.         cout << "Weitere Zahl eingeben oder mit \"Enter\" beenden." << endl;
  34.  
  35.         //buffer wieder frei machen
  36.         cin.ignore(numeric_limits<streamsize>::max());
  37.  
  38.         //auf zur nächsten runde
  39.     }
  40.     return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement