Toon posts:

[CPP] Invoer controle

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe kan ik in c++ een controle uitvoeren op een variable of deze uit getallen betstaat of uit letters.

Met isdigit wil me dit niet lukken omdat die het maar met 1 teken doet.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

code:
1
2
3
4
if( invoer[ i ] >= '0'  && invoer[i] <= '9' )
{
    getal++;
}

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zondag 17 maart 2002 22:04 schreef D2k het volgende:
code:
1
2
3
4
if( invoer[ i ] >= '0'  && invoer[i] <= '9' )
{
    getal++;
}
Je bedoeld dat ik dan karakter voor karakter moet gan inlezen???
Is er geen makkelijkere manier????

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
als je een buffer hebt, dan kun je deze toch doorlopen met isdigit() ? Bijvoorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
  char *Buffer; // hier zit dan de invoer in
  ...
  long i = 0;
  while( Buffer && Buffer[i])
  {
    if( !isdigit( Buffer[i++]))  break;
  }
  if( Buffer[i])
  {
    // Buffer is niet numeriek
  }

ff reactie op hierboven nog:
per karakter inlezen gaat razendsnel, merk je niks van hoor...

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
atoi() ofzo iets.

https://fgheysels.github.io/


  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Schrijf een functie die een gegeven array karakter voor karakter bekijkt en je vertelt of het uit letters of cijfers bestaat :D Efficiënter kan het niet, tenzij je het in ASM wil gaan doen :P

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

whoami: atoi() ofzo iets.

Nah met deze converteer je char naar int.

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:50
Op zondag 17 maart 2002 22:11 schreef stylee het volgende:
whoami: atoi() ofzo iets.

Nah met deze converteer je char naar int.
Maar die returned toch een bepaalde waarde als het niet lukt dacht ik. Ik denk, dat als je een karakter converteert mbhv atoi, en het karakter is niet converteerbaar je 0 terugkrijgt. (Als uw karakter 0 is, dan heb je wel een probleem natuurlijk).

En ik denk ook dat atoi strings aankan...

https://fgheysels.github.io/


Verwijderd

Even een std:: oplossinkje tussendoor:
code:
1
2
if (find_if(s.begin(), s.end(), (int(*)(int)) &isdigit) == s.end())
    /* string bevat geen cijfers */

:)
Pagina: 1