Ir ao conteúdo
  • Cadastre-se
Mattpolaris

Função isdigit()

Recommended Posts

Olá pessoal!

Estou com um probleminha!

Nele pede os seguinte :Desenvolva na linguagem C a função int isdigit(char ch) que retorne verdade caso

o caractere passado como parâmetro (ch) seja um dígito, e falso caso contrário. Apresente também um

programa de testes para testar a função desenvolvida.

O código que fiz ficou desse jeito

Código

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

int isdigit (char ch)
{

for(;
{
ch=getchar();
if (ch == ' ')
break;
else
printf("%c é um dígito \n",ch);

}
}
int main()
{
int isdigit();

system("pause");
return 0;
}

Alguém poderia me esclarecer para melhorar esse código????

Desde já obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int isdigit (char ch)
{

while (ch != ' ')
{
ch = getchar ();
if (ch == ' ')
{
printf ("\n\n\n\n");
printf ("Ops! isso nao e um digito!");
getch ();
}
else
printf("\n|%c| e um digito",ch);

}
}
int main()
{
char ch;
isdigit(ch);
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Olá pessoal!

Estou com um probleminha!

Nele pede os seguinte :Desenvolva na linguagem C a função int isdigit(char ch) que retorne verdade caso

o caractere passado como parâmetro (ch) seja um dígito, e falso caso contrário. Apresente também um

programa de testes para testar a função desenvolvida.

O código que fiz ficou desse jeito

Código

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

int isdigit (char ch)
{

for(;
{
ch=getchar();
if (ch == ' ')
break;
else
printf("%c é um dígito \n",ch);

}
}
int main()
{
int isdigit();

system("pause");
return 0;
}

Alguém poderia me esclarecer para melhorar esse código????

Desde já obrigado!

Por dígito você quer dizer número? Se for assim, tem que verificar o código ASCII, se estiver entre 48 e 57 então é um número...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segundo o primeiro programa dele, dígito esta como qualquer caractere, ou seja, tudo menos o espaço.

@edit:

o programa que eu postei ali em cima da com um pequeno problema no scanf() que eu não consegui identificar, mas funciona perfeitamente. Então, quem quiser contribuir ai...:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se nao me engano nesse código, cada tecla corresponde a um numero na tabela ASCII.

Um jeito fácil para voce fazer, acho que seria algo assim:

 char ch;
ch = 'D';
printf ("%d", ch);

Bem, isso é só um exemplo, mas ele vai imprimir o D como inteiro, ou seja, vai mostrar o numero que ele corresponde na tabela ASCII.

Então, acho que é isto, espero ter ajudado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×