Skip to content

Instantly share code, notes, and snippets.

@keinermendoza
Created September 29, 2025 16:45
Show Gist options
  • Select an option

  • Save keinermendoza/b8a0e7491c356345461a05066358351b to your computer and use it in GitHub Desktop.

Select an option

Save keinermendoza/b8a0e7491c356345461a05066358351b to your computer and use it in GitHub Desktop.
#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