Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Escreva um programa C que informa o número de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente - Desafio de Programação Resolvido em CQuantidade de visualizações: 148 vezes |
Pergunta/Tarefa: Escreva um programa C que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente ao mês, na faixa de 1 a 12, e o ano. Verifique também se o ano é bissexto ou não. Sua saída deverá ser parecida com: Informe o mês (1 - 12): 4 Informe o ano: 2022 Abril de 2022 possui 30 dias. Veja a resolução comentada deste exercício usando C: #include <stdio.h> #include <stdlib.h> #include <string.h> // função principal do programa int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema // para guardar a quantidade de dias no mês int quant_dias_mes = 0; // para guardar o mês int mes; // para guardar o ano int ano; // para o nome do mês char nome_mes[20]; // vamos ler o número do mês printf("Informe o mês (1 - 12): "); scanf("%d", &mes); // vamos ler o ano printf("Informe o ano: "); scanf("%d", &ano); // agora usamos um switch para tratar o mês informado switch (mes){ case 1: strcpy(nome_mes, "Janeiro"); quant_dias_mes = 31; break; case 2: strcpy(nome_mes, "Fevereiro"); // é ano bissexto? if ((ano & 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))) { quant_dias_mes = 29; } else { quant_dias_mes = 28; } break; case 3: strcpy(nome_mes, "Março"); quant_dias_mes = 31; break; case 4: strcpy(nome_mes, "Abril"); quant_dias_mes = 30; break; case 5: strcpy(nome_mes, "Maio"); quant_dias_mes = 31; break; case 6: strcpy(nome_mes, "Junho"); quant_dias_mes = 30; break; case 7: strcpy(nome_mes, "Julho"); quant_dias_mes = 31; break; case 8: strcpy(nome_mes, "Agosto"); quant_dias_mes = 31; break; case 9: strcpy(nome_mes, "Setembro"); quant_dias_mes = 30; break; case 10: strcpy(nome_mes, "Outubro"); quant_dias_mes = 31; break; case 11: strcpy(nome_mes, "Novembro"); quant_dias_mes = 30; break; case 12: strcpy(nome_mes, "Dezembro"); quant_dias_mes = 31; break; } // mostra o resultado printf("%s de %d possui %d dias.", nome_mes, ano, quant_dias_mes); 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 |
Dicas e truques de outras linguagens |
Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |