Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

13.06.2006, 20:44

Eingabeüberprüfung

hi ho,

ich hab da was für euch :)

und zwar wurde mir mal wieder gezeigt dass die einfachsten sachen die schwestern sind :/

seit 1 woche versuche ich ganz einfach eine benutzerabfrage zu erstellen die komplett wasserdicht ist.

es werden zu erst 2 zufallszahlen erstellt und man muss eine zahl zwischen den beiden erstellten eingeben. den leerstring fängt er durch das cin ja automatisch ab aber sobald man einen buchstaben eingibt wiederholt er die schleife unendlich. aber hier der kot:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream.h>

using namespace std;

int ValidNum(char a[])
{
  for(unsigned i = 0; i <= 10; i++)
  {
    if(!isdigit(a[i]));
      return -1;
  }
  
  return atoi(a);
}  

long int GetNum(long int a, long int b)
{
  int num;
  char tmp[10];

  do
  {
    cout << "Bitte eine Zahl zwischen " << a << " und " << b << " eingeben" << endl;
    cin >> tmp;
  } while(((ValidNum(tmp) < 0)) || (num < a) || (num > b));
  
  return num;
}

int main()
{
  long int a, b;

  srand(time(NULL));

  a = rand() % 100;
  b = rand() % 100 + 100;

  GetNum(a, b);

  cout << "krass";

  return 0;
}

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

13.06.2006, 20:50

"...einfachsten sachen die schwestern sind ..." Da werden dir wohl Tausende Brüder und Schwestern widersprechen ^_^

Kurze Frage, warum machst du nicht einfach cin>>num; und schaust, ob die zahl in dem Bereich liegt? Ich muss aber ehrlich sagen, dass ich nicht weiß, wie cin in Komination mit int auf Buchstaben als Eingabe reagiert.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

ext

Treue Seele

  • Private Nachricht senden

3

13.06.2006, 20:55


Anonymous

unregistriert

4

13.06.2006, 21:27

Also ich muß schon sagen: Dieser Code ist mehr als nur gefährlich!

5

14.06.2006, 15:22

ja ich hab zu erst versucht ganz einfach mit ner while schleife abzufragen ob die zahl im richtigen bereich liegt und mit isdigit() obs ne nummer is aber das funktioniert ja nur bei einstelligen zahlen...

aber danke ext damit funktioniert es :>

Thunder Storm

Treue Seele

Beiträge: 297

Wohnort: fragt einfach per pm nix da ;)

Beruf: Ausbildung (Technischer Assistent für Software Technologie)

  • Private Nachricht senden

6

14.06.2006, 18:43

oh man
Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, daß Sie sie äußern dürfen.

Voltaire

john

Alter Hase

Beiträge: 786

Beruf: Schüler

  • Private Nachricht senden

7

14.06.2006, 23:52

Zitat von »"Thunder Storm"«

oh man

Ganz genau.
mfg
john

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

8

14.06.2006, 23:54

nana, keinen anflamen nur weil er neu auf dem gebiet ist..

Thunder Storm

Treue Seele

Beiträge: 297

Wohnort: fragt einfach per pm nix da ;)

Beruf: Ausbildung (Technischer Assistent für Software Technologie)

  • Private Nachricht senden

9

14.06.2006, 23:57

ging net ums zu flamen dacht mir nur das wir das nie auf die art gemacht haben im ersten lehrjahr...
Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, daß Sie sie äußern dürfen.

Voltaire

john

Alter Hase

Beiträge: 786

Beruf: Schüler

  • Private Nachricht senden

10

15.06.2006, 00:00

Ich weiß jetzt nicht genau ob mich jemand falsch verstanden hat, sieht nur so aus. ^^
Mit meinem "Ganz genau." wollte ich genau das sagen was Spik eben gesagt hat. (Richtete sich insofern an Thunder Storm)
mfg
john

Werbeanzeige