Læse en string og komme med fejl hvis den indehodler andet end bokstaver

Tags:    c++

User
Bruger #891 @ 22.05.04 11:14
Hjælp.

Jeg er ved at lave et eksamensprojekt i ANSI C..

Jeg ska finde ud af hvordan man læser i en string og tjekker om den indeholder andet end bokstaver, hvis den gør det skal den så brokke sig..


Nogen der kan hjælpe mig???



Hej
Du kan undersøge hver tegn og se om aski værdien er uden for bokstavernes. Disse værdier kan du finde bag i den fleste bøger om C.

Læs den tekst brugeren skriver ind i et char array f.eks. på 150 tegn. Hver gang brugeren indtaster et tegn tjekker du om det er et tal eller et bokstav.

du kan bruge getch() eller andre funktioner der læser et tegn ind afgangen....

Jeg mener at tal går fra 0-9 og nogle bokstaver starter fra 48. 65 er et A...

Mvh
Janus S. Andersen




Du kan bruge isalpha() fra ctype.h, til at checke hver enkelt karakter til strengen, se f.ex:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt_isdigit.2c_.iswdigit.asp
Du læser strengen med fgets()

#include <stdio.h>
#include <ctype.h>
#include <string.h>
....

char Buffer[1024], *s;

fgets(Buffer, sizeof(Buffer), stdin);
/* Fjern \\n i enden af strengen */
if((s = strchr(Buffer, '\\n')) != NULL)
*s = 0;
for(s = Buffer; *s; s++)
if(!isalpha(*s))
printf("No a letter\\n");



Et godt google-søg ville ikke skade.

:)



t