Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » String pruefen ob nur Zahlen und groesser als 5 Stellig

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.01.2005, 17:33 Uhr
Negr0-Robert S.-



Hallo,

wie kann ich einen String darauf pruefen ob er nur Zahlen enthaelt udn nicht groesser ist als 5 Stellen? Das ganze ist fuer die Eingabe einer PLZ. mit Atoi kann ich da ja leider nicht arbeiten da das keine Strings annimmt. Dann ist da noch ein Problem wenn ich hin gehe und sage

PLZ < 99999

wird die eingabe zwar nie groesser als als 99999 aber kann durch aus lauten 099999 und ist somit 6 stellig. Hat da jemand eine Idee?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.01.2005, 17:47 Uhr
Pablo
Supertux
(Operator)


Benutze isdigit(3)
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.01.2005, 17:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


als string (char-array) einlesen und dann den inhalt des strings parsen (z.b. dabei isdigit verwenden)

oder direkt mit scanf einlesen und checken obs ne zahl ar und wenn ja ob die kleiner ist als 100000

wenn ich mich nicht irre sind postleitzahlen immer 5 stellig oder?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.01.2005, 18:02 Uhr
Negr0-Robert S.-



jop, sind immer 5 Stellig werds probieren.

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.01.2005, 18:27 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


in dem fall (das postleitzahlen wirklich immer genau 5 stellen haben, und mindestens mit ner 1 beginnen)kannst du ja auch einfach als char-array oder string einlesen und dann mittels atoi checken ob das ding >10000 und kleiner 100000 ist und die sache ist gegessen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.01.2005, 18:39 Uhr
Pablo
Supertux
(Operator)


also, so on the fly. Die Funktion leifert 0 bei Fehlern zurück, die Postleitzahl sonst


C++:
int plz(const char* buffer)
{
    int plz=0;
    int i;
    int basis=1;
    for(i=0;i<5;++i)
    {
         if(!isdigit(buffer[i])) return 0;
         plz += basis*(buffer[i]-'0');
         basis *= 10;          
    }
    if(plz<10000 || plz > 99999) return 0;
    return plz;
}




Bearbeitung von Windalf:

kleines flüchtigkeitsfehlerchen verbessert. ess muss <10000 und nicht <1000 heissen


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 15.01.2005 um 19:08 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.01.2005, 00:52 Uhr
virtual
Sexiest Bit alive
(Operator)


@Windalf
IMHO Gibt es auch PLZ, die mit 0 beginnen...
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.01.2005, 01:55 Uhr
Hans
Library Walker
(Operator)



Zitat von virtual:
@Windalf
IMHO Gibt es auch PLZ, die mit 0 beginnen...


Yep, das sehe ich auch so.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.01.2005, 13:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ups ich wusst das nicht deswegen hab ich ja auch nachgefragt... anscheinend sind diese plz für den aufgabensteller ja nicht interessant sonst hätte er ja was anderes gesagt
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
16.01.2005, 14:11 Uhr
Hans
Library Walker
(Operator)



Zitat von Windalf:
ups ich wusst das nicht deswegen hab ich ja auch nachgefragt... anscheinend sind diese plz für den aufgabensteller ja nicht interessant sonst hätte er ja was anderes gesagt

Hi,
soweit wie ich informiert bin, brauchst Du doch bloss aus Berlin heraus fahren, dann hast Du über all Postleitzahlen, die mit 0 anfangen. Zumindest solange, wie Du in den Ostländern bleibst...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: