Created
September 29, 2025 16:45
-
-
Save keinermendoza/b8a0e7491c356345461a05066358351b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <stdio.h> | |
| #define DIAS 7 | |
| int main() { | |
| // Vetor com os nomes dos dias da semana | |
| char dias[DIAS][12] = {"Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"}; | |
| // Vetor para armazenar os minutos de atividade física de cada dia | |
| // inicializa o vetor com 0 para evitar problemas caso o usuário procure o dia com mais atividades antes de registrar dados | |
| int atividades[DIAS] = {0}; | |
| int opcao; // opção escolhida pelo usuário no menu | |
| int minutos; // minutos de atividade informados | |
| int index_dia_atual = 0; // índice que representa o "dia atual" (0 = Segunda) | |
| do { | |
| // Exibição do menu principal | |
| printf("\n=====================================\n"); | |
| printf(" ROTINA DE ATIVIDADE FÍSICA\n"); | |
| printf("=====================================\n"); | |
| printf("1 - Registrar atividade do dia\n"); | |
| printf("2 - Consultar atividades da semana\n"); | |
| printf("3 - Mostrar 'Top Day' (dia mais ativo)\n"); | |
| printf("0 - Sair do programa\n"); | |
| printf("-------------------------------------\n"); | |
| printf("Escolha uma opção: "); | |
| scanf("%d", &opcao); | |
| switch(opcao) { | |
| case 1: | |
| // verifica se ainda há dias disponíveis para registrar atividades | |
| if (index_dia_atual < DIAS) { | |
| // Registro da atividade do dia atual | |
| // O loop só encerra quando o usuário informar um valor válido (>= 0) | |
| while(1) { | |
| printf("\nInforme os minutos de atividade em %s: ", dias[index_dia_atual]); | |
| scanf("%d", &minutos); | |
| // valida a entrada do usuário | |
| if (minutos < 0) { | |
| printf("⚠️ Erro: insira um número maior ou igual a 0!\n"); | |
| } else { | |
| atividades[index_dia_atual] = minutos; | |
| printf("✅ Atividade registrada em %s com sucesso!\n", dias[index_dia_atual]); | |
| index_dia_atual++; // avança para o próximo dia da semana | |
| break; // encerra o loop de validação | |
| } | |
| } | |
| } else { | |
| printf("⚠️ Todas as atividades da semana já foram registradas!\n"); | |
| } | |
| break; | |
| case 2: | |
| // Exibe o relatório completo da semana | |
| printf("\n📋 RELATÓRIO DA SEMANA\n"); | |
| for (int i = 0; i < DIAS; i++) { | |
| // imprime o nome do dia seguido dos minutos de atividade registrados | |
| printf("%s: %d minutos\n", dias[i], atividades[i]); | |
| } | |
| break; | |
| case 3: { | |
| // Identifica o dia com maior tempo de atividade | |
| int max = atividades[0]; | |
| int indice_dia_max = 0; | |
| // percorre o vetor comparando cada quantidade com o primeiro elemento | |
| for (int i = 1; i < DIAS; i++) { | |
| if (atividades[i] > max) { | |
| max = atividades[i]; | |
| // atualiza o índice do dia com maior atividade | |
| indice_dia_max = i; | |
| } | |
| } | |
| // se houver dados registrados, mostra o dia com mais atividade | |
| if (max > 0) { | |
| printf("\n🏆 TOP DAY: %s com %d minutos de atividade!\n", dias[indice_dia_max], max); | |
| } else { | |
| printf("\n⚠️ Nenhuma atividade registrada ainda.\n"); | |
| } | |
| break; | |
| } | |
| // exibe a mensagem de despedida | |
| case 0: | |
| printf("\n✅ Programa encerrado. Obrigado por utilizar o sistema! Até a próxima. 👋\n"); | |
| break; | |
| default: | |
| printf("⚠️ Opção inválida! Tente novamente.\n"); | |
| } | |
| } while(opcao != 0); | |
| return 0; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment