Ir ao conteúdo
  • Cadastre-se

Função isdigit()


Mattpolaris

Posts recomendados

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!

Link para o comentário
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;
}

Link para o comentário
Compartilhar em outros sites

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...

Link para o comentário
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

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...