14. oktober 2004 - 18:20Der er
14 kommentarer og 1 løsning
Tjek om input er nummer (begynder)
Hej! Jeg er nybegynder i C og har brug for lidt hjaelp.. Jeg har tidligere med succes brugt foelgende maade til at sikre mig at brugerens input er et nummer
int num, status;
printf("Enter a number or q to quit: "); status = scanf("%d", &num); while (status == 1) { KODE }
Men hvis jeg aendrer "num" til at vaere en float faar jeg problemer. Programmet finder ganske rigtig ud af om "status" skal vaere 1 eller 0, men "num" bliver gemt som 0.000 lige meget hvad!!
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
Når man udskriver en float med printf bliver den lavet om til en double (det gælder for alle floats overført vha ...) derfor er der ikke forskel på at udskrive en float og en double. Men når man læser en float vha scanf overfører man en float * vha ..., denne bliver ikke lavet om til en double *, derfor er der forskel på at læse en float og en double.
Hvis du skal sikre dig at brugeren indtaster et tal kan du bruge isdigit(), den returnere true eller false...
Synes godt om
Ny brugerNybegynder
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.