Avatar billede jamal_s Nybegynder
16. januar 2002 - 21:11 Der er 10 kommentarer og
1 løsning

tjekke om talet indholder ?

hej ?

jeg har siddet nu og knoklet med at finde en løsning til min kode...men den vil ik virke...kan du hjælpe mig med at tjekke om brugeren har skrevet bogstaver eller andre tegn som (komma, punktum, minus tegn osv...) ?
Avatar billede jpk Nybegynder
16. januar 2002 - 22:10 #1
Du skulle måske skrive lidt mere om hvad det er du vil have...!
Hvis du vil se om en karakter er et bestemt tegn, fx \"-\", kan du gøre således:
char ch=\'-\'; // Først sætter vi værdien

// Sammenligning
if(ch == \'-\')
{
  // Tegnet var \"-\"...
}

Avatar billede chries Nybegynder
16. januar 2002 - 22:15 #2
Følgende fanger når der ikke indtastes tal (næsten altid... f.eks 1s vil blive genkendt som 1 )

#include \"stdafx.h\"
#include \"conio.h\"
#include <stdio.h>

int main(int argc, char* argv[])
{
    int tal;
   
    printf( \"indtast tal:\" );
    int status = scanf( \"%d\", &tal );

    if( status == 0 )
    {
        printf( \"Du indstatede ikke et tal\" );
    }
    else
    {
        printf( \"God dreng!\" );
    }

    getch();
    return 0;
}
Avatar billede chries Nybegynder
16. januar 2002 - 22:17 #3
Den her fanger også 1s :-)

#include \"stdafx.h\"
#include \"conio.h\"
#include <stdio.h>

int main(int argc, char* argv[])
{
    int tal;
    char array[1024];
   
    printf( \"indtast tal:\" );
    int status = scanf( \"%d%s\", &tal, array );

    if( status == 1 )
    {
        printf( \"God dreng!\" );
    }
    else
    {
        printf( \"Du indstatede ikke et tal\" );
    }

    getch();
    return 0;
}
Avatar billede chries Nybegynder
16. januar 2002 - 22:19 #4
yikes, prøvede lige at skrive -1 ... gik ikke så godt :-)
Avatar billede chries Nybegynder
16. januar 2002 - 22:24 #5
Eksempel 2 skodder helt :-)
Avatar billede chries Nybegynder
16. januar 2002 - 22:34 #6
En sidste eks, det her virker i en win32 konsol. den fanger så snart han er på afveje:

#include <stdio.h>
#include <conio.h>

void main( void )
{
  int  result, i;

  _cprintf( \"Enter integer: \");
  result = _cscanf( \"%i\", &i  );

  if( result == 0 )
  {
        printf( \"\\nIkke et tal fjols\" );
  }
  else
  {
        printf( \"God dreng: %i\\n\", i );
  }

  getch(); // fang den forkerte indtastede bogstav
  getch(); // pause
}
Avatar billede - Nybegynder
17. januar 2002 - 02:07 #7
#include <iostream.h>
#include <cstring.h>

void main()
{
string input;

cout << \"skriv et eller andet\";
cin >> input;

for (int i=0 ; i<input.length(); i++)
    if (input[i]<\'A\' || input[i]>\'Z\')
        if (input[i]<\'a\' || input[i]>\'z\')
            cout << \"ikke bogstav : \" << input[i] << endl;
}
Avatar billede - Nybegynder
17. januar 2002 - 02:09 #8
ups -> fik ikke lige læst oplægget rigtigt ovenstående tjekker for andet en bogstaver. Det er sent ;)
Avatar billede professoren Nybegynder
21. januar 2002 - 15:40 #9
Der findes en del \"standard libraries\" for dette!
såsom isascii() isdigit()--både for c og c++

Why reinvent the wheel?
Avatar billede jamal_s Nybegynder
21. januar 2002 - 22:48 #10
jeg vil ha jer til at teste det med følgende tal...(bogstaver)

asd321
321asd
321,asd
asd,321
1\'¨¨-a
a.ø\'¨¨\'5
Avatar billede jamal_s Nybegynder
22. januar 2002 - 21:28 #11
nå..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester