Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <regex>
- #include <limits>
- using namespace std;
- int main() {
- double d; //unsere double variable in der wir nen wert wollen
- regex reg_d("\\b(([0-9]+)\\.)[0-9]+\\b"); //regulärer ausdruck um ne kommazahl zu erkennen
- cout << "Bitte Gleitkommazahl eingeben oder mit \"Enter\" beenden." << endl;
- while (true) {
- //erstmal alles in nen string
- string in = "";
- cin >> in;
- //wenn istream fucked ist oder der string "in" noch leer ist (benutzer hat nur enter gedrückt) schleife abbrechen
- if (!cin || in == "")
- break;
- //wenn der string nen match mit regular expression "reg_d" hat
- if (regex_match(in, reg_d)) {
- //double d den wert des strings geben
- d = stod(in);
- cout << "Zahl ist: " << d << endl;
- }
- else //ansonsten
- cout << "Eingabe ist keine Gleitkommazahl" << endl;
- cout << "Weitere Zahl eingeben oder mit \"Enter\" beenden." << endl;
- //buffer wieder frei machen
- cin.ignore(numeric_limits<streamsize>::max());
- //auf zur nächsten runde
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement