Tamanini Postado Abril 13, 2007 Denunciar Share Postado Abril 13, 2007 Alguém sabe me dizer que função posso utilizar em C para saber se o caracter que estou digitando é um número? Ou o único jeito é fazer um:switch (var){ case '0': case '1': ... case '9': printf("é um número");} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Abril 15, 2007 Denunciar Share Postado Abril 15, 2007 veja isso:http://scriptbrasil.com.br/forum/index.php...23&hl=letra Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Pacheco Postado Abril 16, 2007 Denunciar Share Postado Abril 16, 2007 (editado) usa a isdigit()retorna 0 se não for numeroe qualquer coisa diferente de 0, se for numero#include <ctype.h>char s[4] = "1234";>> isdigit(s);1char s[3] = "ab2";>> isdigit(s);0char s = `p`;>> isdigit(s);0;) Editado Abril 16, 2007 por Rafael Pacheco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tamanini Postado Abril 16, 2007 Autor Denunciar Share Postado Abril 16, 2007 Vlw pessoal, vou testar aqui.Vi que também deve dar certo com a função isAlpha(). Mas só por curiosidade, qual seria a diferença de isAlpha() e isDigit()? Visto que as duas funções são da mesma biblioteca. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe Pedroso Postado Abril 16, 2007 Denunciar Share Postado Abril 16, 2007 (editado) Felipe recomenda:isalnum#include <cctype>int isalnum(int ch);The isalnum() function returns nonzero if its argument is either a letter of thealphabet or a digit. If the character is not alphanumeric, zero is returned.Related functions are isalpha() , iscntrl() , isdigit() , isgraph() , isprint() , ispunct() ,and isspace() .isalpha#include <cctype>int isalpha(int ch);The isalpha() function returns nonzero if ch is a letter of the alphabet; otherwisezero is returned. What constitutes a letter of the alphabet may vary from language tolanguage. For English, these are the upper- and lowercase letters A through Z.Related functions are isalnum() , iscntrl() , isdigit() , isgraph() , isprint() , ispunct() ,and isspace() .iscntrl#include <cctype>int iscntrl(int ch);The iscntrl() function returns nonzero if ch is between zero and 0x1F or is equal to0x7F (DEL); otherwise zero is returned.Related functions are isalnum() , isalpha() , isdigit() , isgraph() , isprint() , ispunct() ,and isspace() .isdigit#include <cctype>int isdigit(int ch);The isdigit() function returns nonzero if ch is a digit, that is, 0 through 9. Otherwisezero is returned.Related functions are isalnum() , isalpha() , iscntrl() , isgraph() , isprint() , ispunct() ,and isspace() .isgraph#include <cctype>int isgraph(int ch);The isgraph() function returns nonzero if ch is any printable character other than aspace; otherwise zero is returned. Printable characters are generally in the range 0x21through 0x7E.Related functions are isalnum() , isalpha() , iscntrl() , isdigit() , isprint() , ispunct() ,and isspace() .islower#include <cctype>int islower(int ch);The islower() function returns nonzero if ch is a lowercase letter; otherwise zerois returned.A related function is isupper() .isprint#include <cctype>int isprint(int ch);The isprint() function returns nonzero if ch is a printable character, including aspace; otherwise zero is returned. Printable characters are often in the range 0x20through 0x7E.Related functions are isalnum() , isalpha() , iscntrl() , isdigit() , isgraph() , ispunct() ,and isspace() .ispunct#include <cctype>int ispunct(int ch);The ispunct() function returns nonzero if ch is a punctuation character; otherwisezero is returned. The term "punctuation," as defined by this function, includes allprinting characters that are neither alphanumeric nor a space.Related functions are isalnum() , isalpha() , iscntrl() , isdigit() , isgraph() , andisspace() .isspace#include <cctype>int isspace(int ch);The isspace() function returns nonzero if ch is either a space, horizontal tab,vertical tab, formfeed, carriage return, or newline character; otherwise zero is returned.Related functions are isalnum() , isalpha() , iscntrl() , isdigit() , isgraph() , andispunct() .isupper#include <cctype>int isupper(int ch);The isupper() function returns nonzero if ch is an uppercase letter; otherwise zerois returned.A related function is islower() .isxdigit#include <cctype>int isxdigit(int ch);The isxdigit() function returns nonzero if ch is a hexadecimal digit; otherwise zerois returned. A hexadecimal digit will be in one of these ranges: A–F, a–f, or 0–9.Related functions are isalnum() , isalpha() , iscntrl() , isdigit() , isgraph() , ispunct() ,and isspace() .Retirado do Osborne C++ - The Complete Reference (3rd Ed.), pág. 720 Editado Abril 16, 2007 por Felipe Pedroso Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Tamanini
Alguém sabe me dizer que função posso utilizar em C para saber se o caracter que estou digitando é um número? Ou o único jeito é fazer um:
switch (var){
case '0':
case '1':
...
case '9':
printf("é um número");
}
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.