Faça uma função que receba a data atual (dia, mês e ano em inteiro) e exiba-a na tela no formato textual por extenso. Exemplo: Data: 01/01/2000, Imprimir: 1 de janeiro de 2000.
Passo 1
O enunciado pede uma função que receba três inteiros (dia, mês e ano) e exiba a data por extenso no formato “D de mês de AAAA”. Vamos precisar mapear o número do mês para seu nome em português e depois montar a string final.
Passo 2
Crie um vetor de strings com os nomes dos 12 meses, onde o índice 0 corresponde a “janeiro”, 1 a “fevereiro” e assim por diante. Assim, dado o número do mês podemos acessar diretamente o nome correto.
Passo 3
Implemente a função
void imprimirDataPorExtenso(int dia, int mes, int ano)
que: 1) verifica se mes
está entre 1 e 12; 2) acessa meses[mes-1]
para obter o nome; 3) usa printf
para mostrar “%d de %s de %d”. Se o mês for inválido, imprime uma mensagem de erro.Passo 4
No
main
, basta chamar imprimirDataPorExtenso
passando os três inteiros. Assim, para a entrada (1, 1, 2000) teremos a saída “1 de janeiro de 2000”.Resposta
#include <stdio.h>
void imprimirDataPorExtenso(int dia, int mes, int ano) {
const char *meses[12] = {
“janeiro”, “fevereiro”, “março”, “abril”,
“maio”, “junho”, “julho”, “agosto”,
“setembro”, “outubro”, “novembro”, “dezembro”
};
const char *meses[12] = {
“janeiro”, “fevereiro”, “março”, “abril”,
“maio”, “junho”, “julho”, “agosto”,
“setembro”, “outubro”, “novembro”, “dezembro”
};
if (mes < 1 || mes > 12) {
printf("Mês inválido!\n");
return;
}
printf("%d de %s de %d\n", dia, meses[mes - 1], ano);
}
int main() {
int dia = 1;
int mes = 1;
int ano = 2000;
int dia = 1;
int mes = 1;
int ano = 2000;
imprimirDataPorExtenso(dia, mes, ano);
return 0;
}