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”
};
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;
imprimirDataPorExtenso(dia, mes, ano);

return 0;
}

Exercícios relacionados