Operação em C sem sinal

1. Operação em C sem sinal

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/06/2016 - 15:36h

Fala ai galera tudo bem?
Galera se tiber algum programador em C e puder ajudar o jovem aprendiz padawan aqui ficarei muito grato!
A duvida é: Quero fazer um programa simples de cálculo de idade do usuário para treinar. No entando faço o cálculo mas no fim da operação aritmética no total aparece o sinal de (-) no total;
EXEMPLO:
#include <stdio.h>

void main(void)
{
int ano_nasc, ano_atual,idade;

printf("Digite seu ano de nascimento:").
scanf("%d",&ano_nasc);
printf("Digite o ano atual:");
scanf("%d",&ano_atual);
idade = ano_nasc - ano_atual;
printf("Sua idade é de : %d",idade);

No caso por exemplo irei digitar meu ano de nascimento = 1997 e o ano atual = 2016;
O total irá resultar em -19.
A pergunta é como tirar esse sinal de (-) e dar um resultado arredondado em apenas 19. Sem o sinal.
Desde já agradeço aos programadores do VOL que me ajudarem!
}


  


2. Re: Operação em C sem sinal

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/06/2016 - 15:46h

Natã Marques escreveu:

Fala ai galera tudo bem?
Galera se tiber algum programador em C e puder ajudar o jovem aprendiz padawan aqui ficarei muito grato!
A duvida é: Quero fazer um programa simples de cálculo de idade do usuário para treinar. No entando faço o cálculo mas no fim da operação aritmética no total aparece o sinal de (-) no total;
EXEMPLO:
#include <stdio.h>

void main(void)
{
int ano_nasc, ano_atual,idade;

printf("Digite seu ano de nascimento:").
scanf("%d",&ano_nasc);
printf("Digite o ano atual:");
scanf("%d",&ano_atual);
idade = ano_nasc - ano_atual;
printf("Sua idade é de : %d",idade);

No caso por exemplo irei digitar meu ano de nascimento = 1997 e o ano atual = 2016;
O total irá resultar em -19.
A pergunta é como tirar esse sinal de (-) e dar um resultado arredondado em apenas 19. Sem o sinal.
Desde já agradeço aos programadores do VOL que me ajudarem!
}


Essa é fácil:

idade = ano_nasc - ano_atual
idade = 1997 - 2016
idade = -19 // porque 1997 é menor que 2016.

O correto é

idade = ano_atual - ano_nasc
idade = 2016 - 1997
idade = 19 // porque 2016 é maior que 1997.

Simples assim.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts