Escreva um programa que receba duas Structs do tipo dma, cada um representando uma data válida, e calcule o número de dias que decorreram entre as duas datas inseridas.
struct dma{
int dia;
int mes;
int ano;
};
Respostas
Resposta:
#include <stdio.h>
#include <math.h>
typedef struct dma_struct{
int dia;
int mes;
int ano;
}dma;
int main(){
/*
Aqui cê vai criar os comandos de leitura de dados, eu vou preencher direto.
lembrando que:
1 - Cada mês == quantMês * 30 dias;
2 - Cada ano = quantAno * 365 dias;
*/
dma estrutura1, estrutura2;
estrutura1.dia = 12;
estrutura1.mes = 2;
estrutura1.ano = 1;
// Como o problema diz que vai ser recebido uma data válida, eu não vou me preocurar com um valor tipo
// mês = 27, o que é um absurdo já que mês só pode ir do intervalo [1-12] assim como dia[1-30];
estrutura2.dia = 20;
estrutura2.mes = 1;
estrutura2.ano = 2;
int diasEst1 = (estrutura1.dia)+(30*estrutura1.mes)+(365*estrutura1.ano);
int diasEst2 = estrutura2.dia+(30*estrutura2.mes)+(365*estrutura2.ano);
printf("Dias passadas para estrutura 1: %d\n", diasEst1);
printf("Dias passadas para estrutura 2: %d\n", diasEst2);
printf("Diferença entre o maior e menor: %d\n", abs(diasEst1-diasEst2));
}
Explicação: