• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

edurocks

BI

2 mensagens neste tópico

Pessoal eu desenvolvi o seguinte código para um problema que eu tenho que fazer para verificar a veracidade do bi só que ele me diz que o bi é sempre falso. O que está errado? Alguém consegue me dar uma ajuda?. Obrigado.

int main()
{
    long bi;
    int i=1,num,soma=0;
printf("Digite seu BI:\n");
scanf("%d",&bi);
while(num>0){
    a=num%10;
    soma=soma+i*a;
    i++;
    num=num/10;
}
if(soma%11==0)
printf("BI e verdadeiro");
else
printf("BI e falso");
return 0;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens vários erros nesse programa, no algoritmo de verificação e na implementação do mesmo.

A variável num não percebi de onde é que bem... Devia ser bi, não?

Depois estás a começar a multiplicação do a (variável que nem foi declarada) por 1 (valor com que i é iniciado), mas  o a vai percorrer todos os dígitos do BI a partir do fim. Logo devias começar em 9 e ir decrementando a variável.

Ao nível do algoritmo, o módulo não tem que ser obrigatoriamente 0, tem sim que ser igual ao dígito que aparece nos BIs depois do número (excepto se for 0, que tanto pode corresponder a um resto 0 como resto 10).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora