![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Data e Hora |
Escreva um programa C para ler uma data no formato DD/MM/YYYY e informar se a data é válida ou não, considerando o caso do ano bissexto - Desafio de Programação Resolvido em CQuantidade de visualizações: 841 vezes |
|
Pergunta/Tarefa: Escreva um programa C para ler uma data no formato DD/MM/YYYY e informar se a data é válida ou não, considerando o caso do ano bissexto e a quantidade de dias máximos para cada mês. Sua saída deve ser parecida com: Informe a data no formato DD/MM/YYYY: 29/02/2024 A data informada é válida. Veja a resolução comentada deste exercício usando C console: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
int dia, mes, ano; // para guardar o dia, mês e ano
int dias_meses[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int valido = 0; // vamos supor que seja inválida já na saída
setlocale(LC_ALL,""); // para acentos do português
// vamos ler a data no formato 28/05/2019
printf("Informe a data no formato DD/MM/YYYY: ");
scanf("%i/%i/%i", &dia, &mes, &ano);
// o primeiro passo é testar se o ano é bissexto ou não
if(ano % 400 == 0 || (ano % 100 != 0 && ano % 4 == 0)){
dias_meses[1] = 29; // ajustamos o mês de fevereiro
}
// vamos testar se o ano é válido
if(ano >= 1900 && ano <= 9999){
// aqui nós testamos o mês
if(mes >= 1 && mes <= 12){
// e finalmente testamos a validade do dia
if(dia >= 1 && dia <= dias_meses[mes - 1]){
valido = 1; // data válida
}
}
}
if(valido){
printf("\nA data informada é válida.\n");
}
else{
printf("\nA data informada NÃO é válida.\n");
}
printf("\n\n");
system("pause");
return 0;
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
|
Exercício Resolvido de C - Como somar todos os números de 1 até o número informado pelo usuário em C |
Dicas e truques de outras linguagens |
|
Delphi - Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelected |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





