Questão 4: Construir um programa em C que leia o ano de nascimento e o sexo de uma pessoa e que calcule sua idade aproximada. Se o sexo for igual a “M” (Masculino) e a idade for igual a 18, imprimir “Serviço Militar Obrigatório”, caso contrário, imprimir “Isento de Serviço Militar”
Soluções para a tarefa
Inicialmente programa pedido nos diz para perguntar o sexo de uma pessoa (masculino ou feminino) e ler o ano que uma pessoa nasceu para depois calcular a sua idade. Assim iremos primeiro declarar uma variável do tipo caractere (char) e fazer a leitura dela através da função scanf. Para isso poderíamos, também, utilizar outros métodos como o gets ou getchar, por exemplo.
O segundo passo seria declarar uma variável do tipo inteiro para armazenar o ano que a pessoa nasceu, a chamaremos de ano_de_nascimento.
Para calcular a idade de alguém basta subtrair o ano que estamos do ano que ela nasceu. Portanto, iremos declarar uma variável, também inteira, para guardar esse valor e ela se chamará idade.
Após isso, devemos verificar se o sexo da pessoa é masculino, ou no caso 'M', e se ela tem 18 anos já que caso isso seja verdadeiro devemos imprimir na tela “Serviço Militar Obrigatório” e caso seja falsa devemos imprimir “Isento de Serviço Militar”. Iremos fazer essa verificação com um laço condicional, o if.
Você pode observar o que foi dito no código abaixo:
#include <stdio.h>
int main ( ) {
char sexo;
int ano_de_nascimento, idade;
printf("Qual seu sexo? Digite M para Masculino e F para feminino: ");
scanf("%c", &sexo);
printf("Digite o ano de nascimento:");
scanf("%d",&ano_de_nascimento);
idade = (2019-ano_de_nascimento);
if ((sexo =='M') && idade == 18) {
printf("Serviço Militar Obrigatório");
} else{
printf("Isento de Serviço Militar");
}
return 0;
}
Espero ter ajudado, bons estudos :)