Escreva um trecho de código para fazer a criação dos novos tipos de dados conforme solicitado abaixo:
- Horário: composto de hora, minutos e segundos.
- Data: composto de dia, mês e ano.
- Compromisso: composto de uma data, horário e texto que descreve o compromisso.
Passo 1
Neste exercício precisamos definir três tipos compostos em C: Horário, Data e Compromisso. Para isso, em C usamos a palavra-chave
typedef
junto com struct
para criar novos tipos de dados compostos.Passo 2
Definimos o tipo
Definimos o tipo
Definimos o tipo
Horario
com três campos inteiros: hora
, minuto
e segundo
.Definimos o tipo
Data
com três campos inteiros: dia
, mês
e ano
.Definimos o tipo
Compromisso
que agrupa uma Data
, um Horario
e uma string para a descrição.Resposta
#include <stdio.h>
typedef struct {
int hora;
int minuto;
int segundo;
} Horario;
int hora;
int minuto;
int segundo;
} Horario;
typedef struct {
int dia;
int mes;
int ano;
} Data;
int dia;
int mes;
int ano;
} Data;
typedef struct {
Data data;
Horario horario;
char descricao[100];
} Compromisso;
Data data;
Horario horario;
char descricao[100];
} Compromisso;
int main() {
Compromisso c;
c.data.dia = 15;
c.data.mes = 8;
c.data.ano = 2024;
c.horario.hora = 14;
c.horario.minuto = 30;
c.horario.segundo = 0;
snprintf(c.descricao, sizeof(c.descricao), “Reunião de projeto”);
Compromisso c;
c.data.dia = 15;
c.data.mes = 8;
c.data.ano = 2024;
c.horario.hora = 14;
c.horario.minuto = 30;
c.horario.segundo = 0;
snprintf(c.descricao, sizeof(c.descricao), “Reunião de projeto”);
printf("Data: %02d/%02d/%04d\n", c.data.dia, c.data.mes, c.data.ano);
printf("Horário: %02d:%02d:%02d\n", c.horario.hora, c.horario.minuto, c.horario.segundo);
printf("Descrição: %s\n", c.descricao);
return 0;
}