Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

edurocks

BI

Mensagens Recomendadas

edurocks    0
edurocks

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;
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    309
Rui Carlos

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

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade