Informática, perguntado por PropPropina, 5 meses atrás

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

Soluções para a tarefa

Respondido por PvAbreu
1

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:


PropPropina: Mano, você tem como me ajudar com mais umas questões :( ?
PvAbreu: Posso sim, só que não direto. Estou estudando para algumas coisas e de vez em quando venho aqui me divertir resolvendo questões
PropPropina: oh loco poh mano vlw, eu tb to meio que em semana de prova, to me matando fazendo umas que eu me atrasei.
PropPropina: se tu puder olhar ai no meu perfil tem umas questões sobre funções e tals se puder me ajudar a faze-las vai me salvar MUITO.
PropPropina: tenho basicamente até sexta pra entregar esses exercicios.
Perguntas interessantes