Avatar billede mr.burns Nybegynder
18. juni 2002 - 10:17 Der er 15 kommentarer og
2 løsninger

Kun tal !

Hey... jeg skal bruge en program stump der siger " Fejl i indtastning" når man trykker på andet end et tal. Det er C jeg bruger (xxx.c)

På Forhånd tak!
Avatar billede borrisholt Novice
18. juni 2002 - 10:34 #1
du kan læse på den keyboard kode du får ind ...

Jens B
Avatar billede ladyhawke Novice
18. juni 2002 - 10:44 #2
Prøv denne:

int isdigit(int c) -- True if c is a decimal digit

kræver:
#include <ctype.h>
Avatar billede ladyhawke Novice
18. juni 2002 - 10:44 #3
Avatar billede mr.burns Nybegynder
18. juni 2002 - 10:58 #4
hmm den skriver dette:
Error ..\..\WINDOWS\SKRIVE~1\TEST.C 17: Type mismatch in redeclaration of 'isdigit'
Avatar billede ladyhawke Novice
18. juni 2002 - 11:00 #5
Du skal ikke definere funktionen igen. Bare bruge:
int isTrue = isdigit('din character value');
og så tjekke værdien af isTrue...
Avatar billede mr.burns Nybegynder
18. juni 2002 - 11:03 #6
kan du ik komme med et eks. ? fatter ik helt hvad du mener...
Avatar billede ladyhawke Novice
18. juni 2002 - 11:04 #7
post koden du bruger for at tjekke om det er et tal, så¨skal jeg se om jeg kan hjælpe :-)
Avatar billede mr.burns Nybegynder
18. juni 2002 - 11:11 #8
jamen har ik noget kode... det er det jeg håber at få herinde.
Avatar billede ladyhawke Novice
18. juni 2002 - 11:15 #9
indlæser du ikke en karakter fra tastaturet? Hvor taster du henne i et dos vindue eller? skal du have hjnælp til at få karakteren indlæst også?
Jeg vil gerne hjælpe, men det skal helst væe nogenlunde specifikt :-)
Avatar billede mr.burns Nybegynder
18. juni 2002 - 11:24 #10
hmm jeg har lavet et gætte program... med at man skal indtaste max tal og min tal. men man må kun indtaste tal(0-9). så hvis man trykker på f.eks. k så skal den skrive fejl i indtastning!. det er meningen
Avatar billede ladyhawke Novice
18. juni 2002 - 11:37 #11
OK, prøv så:

#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]<'9' || input[i]>'0')
        cout << "ikke et tal : " << input[i] << endl;
}

Jeg har ikke testet det, men prøv ad...
Avatar billede mr.burns Nybegynder
18. juni 2002 - 12:03 #12
nop det skal kører i c++ og jeg kører i c
Avatar billede razersedge Nybegynder
18. juni 2002 - 12:22 #13
findes String i C ?
Avatar billede ladyhawke Novice
18. juni 2002 - 12:29 #14
du kan bare bruge char, især hvis du kun ska læse en ad gangen...
Avatar billede soepro Nybegynder
18. juni 2002 - 13:16 #15
#include <conio.h>

int laesTal(void)
{
  char talStr[16];
  int  talLen, tast;
 
  talLen = talStr[0] = '\x0';

  while (talLen          < sizeof(talStr)-1
    && (tast = getch()) != 0x1B
    &&  tast            != 0x0D)
  {
    if (tast >= '0' && tast <= '9')
    {
      talStr[talLen++] = tast;
    }
    else
    {
      cprintf("\aFEJL: %c er ikke et tal.\r\n", (char)tast);
    }
  }
  if (tast == 0x0D)
    return atoi(talStr);
  return -1;
} // laesTal

laesTal læser og returnerer et tal mellem 1 og 15 cifre - og -1 hvis intet tal læses. ESC afbryder rutinen - ENTER afslutter tallet. (Det gør det 15. ciffer også.)
Avatar billede ladyhawke Novice
19. juni 2002 - 08:29 #16
Har du ikke fået et brugbart svar nu?
Avatar billede mr.burns Nybegynder
20. juni 2002 - 09:21 #17
sorry har været en del afk, men skal ik bruge det alligevel... men takker.
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