1. Klassen

Files at this revision

API Documentation at this revision

Comitter:
robertbuc
Date:
Tue Apr 28 10:20:41 2020 +0000
Parent:
4:9ba8639f8c01
Commit message:
.

Changed in this revision

Rbuch_3_uebung18_21_04_2020.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 9ba8639f8c01 -r 5a933dd926c4 Rbuch_3_uebung18_21_04_2020.cpp
--- a/Rbuch_3_uebung18_21_04_2020.cpp	Tue Apr 21 18:02:24 2020 +0000
+++ b/Rbuch_3_uebung18_21_04_2020.cpp	Tue Apr 28 10:20:41 2020 +0000
@@ -6,7 +6,7 @@
 
 Zusatz für Fortgeschrittene:
 Bei Falscheingaben (Buchstaben, Sonderzeichen, etz.) soll der User darüber informiert werden.
-Bei den Versuchen >10 soll eine führende Null mit ausgegeben werden (also statt 1,2,3 soll 01, 02 ,03 ausgegeben werden.)
+Bei den Versuchen <10 soll eine führende Null mit ausgegeben werden (also statt 1,2,3 soll 01, 02 ,03 ausgegeben werden.)
 Bei der wiederholten Eingabe einer Zahl soll der User darüber informiert werden.
 Der User soll den Bereich in dem die Zufallszahl liegen soll, selbst definieren.
 Der User soll informiert werden, wenn sein Versuch ausserhalb des definierten Bereichs liegt.
@@ -15,11 +15,38 @@
 *******************************************************************************/
 
 #include <iostream>
-//#include <string> //kontrolle ob zahl
 #include <time.h> 
 #include <stdlib.h>
+#include <string>
+
 using namespace std;
 
+
+int zahlencheck(string streingabe,int nurzahlen)
+{
+    char x =0;
+    do
+    {
+        if(streingabe[x] >= '0' && streingabe[x] <= '9')
+        {
+            x++;
+            nurzahlen=0;
+        }
+        else
+        {
+            cout<<"Bitte nur Z A H L E N eingeben\n"; 
+            nurzahlen=1; 
+            break;
+        }
+        
+    }while (x<streingabe.length()); //|| wrong==1 
+    return (nurzahlen);
+}
+
+
+
+
+
 int main(void)
 {
     int ug; //untergrenze
@@ -31,40 +58,63 @@
     cout << "Bitte erraten sie die gesuchte Zahl, sie befindet sich zwischen " << ug << " und " << og <<endl;
     
     srand(time(NULL));
-    
     int zahl = ug + rand()%(og-ug);
+    int i=1;
+    string streingabe;
     int eingabe=0;
-    int i=1;
-    do{  
+
 
-            printf("Ihr %d. Versuch: ",i);
-            cin >> eingabe;
+    do{  
+           if(i<10) //Versuche
+            {
+                printf("Ihr 0%d. Versuch: ",i);
+            }
+            else
+            {
+                printf("Ihr %d. Versuch: ",i);
+            }
+            cin >> streingabe;
+            //cin.ignore(numeric_limits<streamsize>::max(), '\n' );
+            cin.clear();
+            int x=0;
             
-            if(eingabe < ug || eingabe >og)
-            {
-                printf("Die eingegebene Zahl befindet sich außerhalb des von ihnen definierten Bereichs.\n");
-            }
+            int wrong = zahlencheck(streingabe,wrong); // keine Buchstaben, keine Sonderzeichen
             
-            else if(eingabe < zahl)
-            {
-            printf("Die gesuchte Zahl ist groeßer\n");
-            }
-            else if(eingabe > zahl)
+      
+            if(wrong==0) //Ausgabe
             {
-            printf("Die gesuchte Zahl ist kleiner\n");
-            }
-            else if(eingabe == zahl)
-            {
-            printf("Glückwunsch die von Ihnen eingegebene Zahl (%d) stimmt mit der gesuchten Zahl überein. \n", eingabe);
+                eingabe = std::stoi(streingabe); //string auf int
+       
+                if(eingabe < ug || eingabe >og)
+                {
+                printf("Die eingegebene Zahl befindet sich außerhalb des von ihnen definierten Bereichs.\n");
+                }
+                else if(eingabe < zahl)
+                {
+                printf("Die gesuchte Zahl ist groeßer\n");
+                }
+                else if(eingabe > zahl)
+                {
+                printf("Die gesuchte Zahl ist kleiner\n");
+                }
+                else if(eingabe == zahl)
+                {
+                printf("Glückwunsch die von Ihnen eingegebene Zahl (%d) stimmt mit der gesuchten Zahl überein. \n", eingabe);
+                } 
             } 
-        
             i++;    
         }while(eingabe != zahl);
     
-    
-    
 return 0;
 }
 
 
 
+
+
+
+
+
+
+
+