Verdadeiro se for Dígito [RESOLVIDO]

1. Verdadeiro se for Dígito [RESOLVIDO]

Marco Brainiac
mbrainiac

(usa Debian)

Enviado em 29/07/2015 - 10:17h

olá,

No livro do Damas pede para criar uma função que diga se é verdadeiro se retornar dígito (números de 0 a 9)
na resposta do livro ele dá a função:
int isdigit(char c)
{
return (c >= '0' && c <= '9');
}


==>Tentei implementar
#include<stdio.h>

int isdigit(char c)
{
return (c >= '0' && c <= '9');
}


int main()
{
char x, b;


printf("Digite um caractere :"); scanf("%c", &x);



if(isdigit(x) )
b = 'V';
else
b = 'F';

printf("O caractere %c Não é dígito ===> %c\n", x, b);

return 0;
}

===> mas está dando um erro:

root@hotpc:/home/brainiac/C_programas# gcc damas05ex11_1.c -o damas05ex11_1.x
damas05ex11_1.c:3:5: warning: conflicting types for built-in function ‘isdigit’ [enabled by default]
root@hotpc:/home/brainiac/C_programas#


  


2. MELHOR RESPOSTA

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 29/07/2015 - 10:28h


Já existe uma função chamada is digit:

http://linux.die.net/man/3/isdigit

O compilador está avisando que está sombreando com essa função.

A função original faz exatamente a mesma coisa que a sua, valida se é um digito.

Pode mudar o nome da função para is_digit ou algo que não seja isdigit, ou ainda usar a original.


3. Re: Verdadeiro se for Dígito [RESOLVIDO]

Marco Brainiac
mbrainiac

(usa Debian)

Enviado em 29/07/2015 - 12:37h

uilianries escreveu:


Já existe uma função chamada is digit:

http://linux.die.net/man/3/isdigit

O compilador está avisando que está sombreando com essa função.

A função original faz exatamente a mesma coisa que a sua, valida se é um digito.

Pode mudar o nome da função para is_digit ou algo que não seja isdigit, ou ainda usar a original.



Muito obrigado, não achava o erro, me ajudou muito.






4. Re: Verdadeiro se for Dígito [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 30/07/2015 - 10:46h


Olá!

Sei que o tópico foi marcado como resolvido... mas vai mais uma dica:

Em uma "biblioteca" de funções para evitar esses tipos de mensagens, poderia definir a função assim(tipo static):

Exemplo:
static int nome_da_função (int bla_boa) {

}

E lembrando:
Essa função somente vale para o arquivo atual.

T+.



5. Re: Verdadeiro se for Dígito [RESOLVIDO]

Marco Brainiac
mbrainiac

(usa Debian)

Enviado em 30/07/2015 - 11:14h

gokernel escreveu:


Olá!

Sei que o tópico foi marcado como resolvido... mas vai mais uma dica:

Em uma "biblioteca" de funções para evitar esses tipos de mensagens, poderia definir a função assim(tipo static):

Exemplo:
static int nome_da_função (int bla_boa) {

}

E lembrando:
Essa função somente vale para o arquivo atual.

T+.



Valeu

Vou testar,

Obrigado







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts