Calculo calorico visando perca de gordura e definicao muscular
Publicado por Carlos Baldocchi 06/05/2009 (última atualizaçăo em 11/11/2011)
[ Hits: 10.391 ]
Download 1320719316.anabolismo.cpp (versăo 2)
Fiz esse programa para satisfazer minhas próprias necessidades. Ele faz todos os cálculos automáticos sobre percentual de gordura corporal, consumo diário calórico, e mais algumas coisas.
Não sou nenhum programador avançado, e sei apenas o básico de C que aprendi na faculdade e como hobbie. O interessante nesse programa é a metodologia que empreguei, tentando criar uma interface o mais intuitiva possível, clara e bem explicada
para o usuário.
Compilado em Windows: Dev-C++
Versăo 2 - Enviado por Carlos Baldocchi em 08/11/2011
Changelog: Nova versăo! Agora com balanço calórico balanceado para dias de semana e finais de semana.
Download 1320719316.anabolismo.cpp
#include <stdio.h>
//#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
// by Carlos E. Baldocchi
// contato: carlos.baldocchi@gmail.com
// Agradecimento ŕ http://www.guiadohardware.net
char nome[101], sexo, metodo, none, tecla_espaco, tecla_enter;
int idade, controle, abc, menu;
float altura, massa, imc, massa_fim;
float massa_magra_ini, massa_magra_fim, massa_gorda_ini, massa_gorda_fim;
float calorias_dia, quilos_semana;
float perc_gord_ini, perc_gord_fim;
float calorias_diarias_teorico, calorias_diarias_real;
int subprog_ajuda ();
int subprog_printf_percentual ();
int subprog_calc_cintura ();
int subprog_gasto_calorico_diario ();
int subprog_salvar ();
int subprog_config_teclado ();
int main()
{
char s_ou_n, pergunta_salvar, percentual;
printf("=== Calculo calorico visando perca de gordura e definicao muscular ===");
printf("\n=== Hipertrofia.ORG ===");
printf("\n=== by C.E.B - 02/05/2009 - versao: B 0.0.5 ===");
printf("\n\nPressione [espaco] para selecionar e [ENTER] para continuar\n\n");
// *************
menu=1;
do
{
if (menu==1) printf("(*) Configurar o teclado\n( ) Iniciar o programa\n( ) Ajuda\n( ) Sair");
else if (menu==2) printf("( ) Configurar o teclado\n(*) Iniciar o programa\n( ) Ajuda\n( ) Sair");
else if (menu==3) printf("( ) Configurar o teclado\n( ) Iniciar o programa\n(*) Ajuda\n( ) Sair");
else if (menu==4) printf("( ) Configurar o teclado\n( ) Iniciar o programa\n( ) Ajuda\n(*) Sair");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==5) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("\nERRO! Pressione [espaco] para selecionar.\nSe o erro persistir pressione [ENTER] para configurar o teclado.");
printf("\n\n");
}while(!((none==13)||(none==tecla_enter)));
if (menu==1) subprog_config_teclado();
if (menu==3) subprog_ajuda();
if (menu==4) goto AUTOR;
{
printf("Entre com seu nome: ");
fgets (nome,100,stdin);
}
printf("\nEntre com seu sexo\n(Pressione [espaco] para selecionar e [ENTER] para continuar)\n:\n");
menu=1;
do
{
if (menu==1) printf("(*) Homem\n( ) Mulher");
else if (menu==2) printf("( ) Homem\n(*) Mulher");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==3) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("\nERRO! Pressione [espaco] para selecionar.");
printf("\n\n");
}while(!((none==13)||(none==tecla_enter)));
if (menu==1) sexo='H';
if (menu==2) sexo='M';
// do{
// printf("\nEntre com seu sexo - H(homem) / M(mulher): ");
// sexo=getche();
// if ( (sexo!='H') && (sexo!='h') && (sexo!='M') && (sexo!='m') ) printf("\nERRO! Pressione apenas \"H\" ou \"M\".\n");
// }while( (sexo!='H') && (sexo!='h') && (sexo!='M') && (sexo!='m') );
do
{
printf("Entre com sua idade\n[unidade: anos - exemplo: 22]\n: ");
scanf("%d",&idade);
if ( (!((idade>0)&&(idade<=99))) ) printf("ERRO! Limitado entre 0 e 99 anos.\n\n");
}while( (!((idade>0)&&(idade<=99))) );
do
{
printf("\nEntre com sua altura\n[unidade: cm - exemplo: 180]\n: ");
scanf("%f",&altura);
if ( (!((altura>0)&&(altura<=250))) ) printf("ERRO! Limitado entre 0 e 250 cm.\n");
}while( !( (altura>0) && (altura<=250) ) );
do
{
printf("\nEntre com sua massa\n[unidade: kG - exemplo: 87.5]\n: ");
scanf("%f",&massa);
if ( (!((massa>0)&&(massa<=220))) ) printf("ERRO! Limitado entre 0 e 220 kG.\n");
}while( (!((massa>0)&&(massa<=220))) );
imc=(massa/((altura/100)*(altura/100)));
VOLTA1:
printf("\nVoce sabe seu percentual de gordura corporal?\n(Pressione [espaco] para selecionar e [ENTER] para continuar)\n:\n");
menu=1;
do
{
if (menu==1) printf("(*) Sim - utilizar o valor que possuo\n( ) Nao - utilizar o programa para calcular\n( ) Ajuda...");
else if (menu==2) printf("( ) Sim - utilizar o valor que possuo\n(*) Nao - utilizar o programa para calcular\n( ) Ajuda...");
else if (menu==3) printf("( ) Sim - utilizar o valor que possuo\n( ) Nao - utilizar o programa para calcular\n(*) Ajuda...");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==4) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("\nERRO! Pressione [espaco] para selecionar.");
printf("\n\n");
}while(!((none==13)||(none==tecla_enter)));
if (menu==1) percentual='S';
if (menu==2) percentual='N';
if (menu==3) percentual='H';
// do
// {
// printf("\nVoce sabe seu percentual de gordura corporal?\nS (sim - utilizar o valor que possuo)\nN (nao - utilizar o programa para calcular)\nPressione \"h\" para ajuda\n: ");
// percentual=getche();
// if ( (percentual!='S') && (percentual!='s') && (percentual!='N') && (percentual!='n') && (percentual!='H') && (percentual!='h') ) printf("\nERRO! Pressione apenas \"S\" ou \"N\" ou \"H\".\n");
// }while( (percentual!='S') && (percentual!='s') && (percentual!='N') && (percentual!='n') && (percentual!='H') && (percentual!='h') );
if ((percentual=='S')||(percentual=='s'))
{
do
{
printf("Entre com seu atual percentual de gordura corporal\n[unidade: %% x 100 - exemplo: 22.5]\n: ");
scanf("%f",&perc_gord_ini);
if ( (!((perc_gord_ini>=0)&&(perc_gord_ini<100))) ) printf("ERRO! Limitado entre 0 e 100%%.\n\n");
}while( (!((perc_gord_ini>0)&&(perc_gord_ini<100))) );
}
if ((percentual=='H')||(percentual=='h'))
{
subprog_printf_percentual ();
goto VOLTA1;
}
if ((percentual=='N')||(percentual=='n')) subprog_calc_cintura();
do
{
printf("\nEntre com seu desejado percentual de gordura corporal\n[unidade: %% x 100 - exemplo: 11.5]\nPressione \"0\" para ajuda\n: ");
scanf("%f",&perc_gord_fim);
if (perc_gord_fim==0) subprog_printf_percentual();
if ( (!((perc_gord_fim>=0)&&(perc_gord_fim<100))) ) printf("ERRO! Limitado entre 0 e 100%%.\n");
}while( (!((perc_gord_fim>0)&&(perc_gord_fim<100))) );
if(perc_gord_fim>=perc_gord_ini)
{
printf("\nPercentual nao aceito!\nSeu percentual inicial e: %.0f%%\nSeu percentual desejado e: %.0f%%\nVoce deseja engordar!!!\n\n",perc_gord_ini,perc_gord_fim);
system("pause");
goto FINISH;
return(1);
}
system("cls");
printf("Voce sabe quantas calorias gasta diariamente?\n(Pressione [espaco] para selecionar e [ENTER] para continuar)\n:\n");
menu=1;
do
{
if (menu==1) printf("(*) Sim - utilizar o valor que possuo\n( ) Nao - utilizar o programa para calcular");
else if (menu==2) printf("( ) Sim - utilizar o valor que possuo\n(*) Nao - utilizar o programa para calcular");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==3) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("\nERRO! Pressione [espaco] para selecionar.");
printf("\n\n");
}while(!((none==13)||(none==tecla_enter)));
if (menu==1) s_ou_n='S';
if (menu==2) s_ou_n='N';
// do
// {
// if (u==0) printf("Voce sabe quantas calorias gasta diariamente?\nS (sim - utilizar o valor que possuo)\nN (nao - utilizar o programa para calcular)\n: ");
// if (u==1) printf("\nVoce sabe quantas calorias gasta diariamente?\nS (sim - utilizar o valor que possuo)\nN (nao - utilizar o programa para calcular)\n: ");
// u=1;
// s_ou_n=getche();
// if ( (s_ou_n!='S') && (s_ou_n!='s') && (s_ou_n!='N') && (s_ou_n!='n') ) printf("\nERRO! Pressione apenas \"S\" ou \"N\".\n");
// }while( (s_ou_n!='S') && (s_ou_n!='s') && (s_ou_n!='N') && (s_ou_n!='n') );
if ( (s_ou_n=='S')||(s_ou_n=='s') )
{
do
{
printf("Entre com o seu gasto calorico diario\n[unidade: kcal - exemplo: 1250]\n: ");
scanf("%f",&calorias_diarias_real);
if ( (!((calorias_diarias_real>0)&&(calorias_diarias_real<=12000))) ) printf("ERRO! Limitado entre 0 e 12000 kcal / dia.\n\n");
}while( (!((calorias_diarias_real>0)&&(calorias_diarias_real<=12000))) );
}
if ( (s_ou_n=='N')||(s_ou_n=='n') ) subprog_gasto_calorico_diario();
system("cls");
printf("Selecione o metodo de calculo:\n(Pressione [espaco] para selecionar e [ENTER] para continuar)\n:\n");
menu=1;
do
{
if (menu==1) printf("(*) A - Quantidade calorica a ser perdida diariamente.\n( ) B - Quantidade massica a ser perdida por semana.\n");
else if (menu==2) printf("( ) A - Quantidade calorica a ser perdida diariamente.\n(*) B - Quantidade massica a ser perdida por semana.\n");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==3) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("ERRO! Pressione [espaco] para selecionar.\n");
printf("\n");
}while(!((none==13)||(none==tecla_enter)));
if (menu==1) metodo='A';
if (menu==2) metodo='B';
// do{
// if (u==0) printf("Selecione o metodo de calculo:\nA - Quantidade calorica a ser perdida diariamente.\nB - Quantidade massica a ser perdida por semana.\n: ");
// if (u==1) printf("\nSelecione o metodo de calculo:\nA - Quantidade calorica a ser perdida diariamente.\nB - Quantidade massica a ser perdida por semana.\n: ");
// u+1;
// metodo=getche();
// if ( (metodo!='A') && (metodo!='a') && (metodo!='B') && (metodo!='b') ) printf("\nERRO! Pressione apenas \"A\" ou \"B\".\n\n");
// }while( (metodo!='A') && (metodo!='a') && (metodo!='B') && (metodo!='b') );
if ( (metodo=='A')||(metodo=='a') )
{
do
{
printf("\nEntre com a quantidade calorica a ser perdida diariamente\n[unidade: kcal - exemplo: 500]\n: ");
scanf("%f",&calorias_dia);
if ( (!((calorias_dia>0)&&(calorias_dia<=3000))) ) printf("ERRO! Limitado entre 0 e 3000 kcal / dia.\n");
}while( (!((calorias_dia>0)&&(calorias_dia<=3000))) );
}
if ( (metodo=='B')||(metodo=='b') )
{
do
{
printf("Entre com a quantidade massica a ser perdida semanalmente\n[unidade: kG - exemplo: 1 ou 1.2 ou 1.5... etc]\n: ");
scanf("%f",&quilos_semana);
if ( (!((quilos_semana>0)&&(quilos_semana<=2.5))) ) printf("ERRO! Limitado entre 0 e 2.5 kG / semana.\n\n");
}while( (!((quilos_semana>0)&&(quilos_semana<=2.5))) );
}
system("cls");
printf("===================================================================");
massa_magra_ini=(massa*(1-(perc_gord_ini/100)));
massa_gorda_ini=(massa*(perc_gord_ini/100));
massa_magra_fim=(massa*(1-(perc_gord_ini/100)));
massa_gorda_fim=((massa_magra_fim/(1-(perc_gord_fim/100)))-massa_magra_fim);
massa_fim=(massa_magra_fim+massa_gorda_fim);
imc=(massa/((altura/100)*(altura/100)));
printf("\nNome: %s",nome);
printf("\nSexo: ");
if ( (sexo=='H') || (sexo=='h') ) printf("Masculino.");
else if ( (sexo=='M') || (sexo=='m') ) printf("Feminino.");
printf("\nIdade: %d anos.",idade);
printf("\nAltura: %.2f metros.",altura/100);
printf("\nMassa: %.1f kG.",massa);
printf("\nIMC: %.2f kG / m^2",imc);
if ( ( (sexo=='H') || (sexo=='h') ) && (imc>=28) ) printf(" - acima do normal, verifique isso!");
else if (((sexo=='M')||(sexo=='m'))&&(imc>=25)) printf(" - acima do normal, verifique isso!");
else printf(".");
printf("\n\nATUAL:");
printf("\n|-> Massa magra: %.1f kG (%.1f%%)",massa_magra_ini,(100-perc_gord_ini));
printf("\n|-> Massa gorda: %.1f kG (%.1f%%)",massa_gorda_ini,perc_gord_ini);
printf("\n=>> Massa total: %.1f kG (100%%)",massa);
printf("\n\nDESEJADO:");
printf("\n|-> Massa magra: %.1f kG (%.1f%%)",massa_magra_fim,(100-perc_gord_fim));
printf("\n|-> Massa gorda: %.1f kG (%.1f%%)",massa_gorda_fim,perc_gord_fim);
printf("\n=>> Massa total: %.1f kG (100%%)",massa_fim);
printf("\n\nDIFERENCA:");
printf("\n|-> Massa magra a ser perdida: %.1f kG",(massa_magra_fim-massa_magra_ini));
printf("\n|-> Massa gorda a ser perdida: %.1f kG",(massa_gorda_ini-massa_gorda_fim));
printf("\n=>> Massa total a ser perdida: %.1f kG",(massa-massa_fim));
if (controle==1) printf("\n\nO percentual de gordura foi calculado atraves\ndo programa e esse valor nao e muito aconselhado\npara se levar em consideracao!");
printf("\n\nValor metabolico de repouso (MMR): %.0f calorias / dia",calorias_diarias_real);
if ( (metodo=='A')||(metodo=='a') )
{
printf("\n\nQuantidade calorica diaria a ser perdida: %.0f kcal",calorias_dia);
printf("\nQuantidade calorica semanal a ser perdida: %.0f kcal ou %.2f kG",calorias_dia*7,((calorias_dia*7/9)/1000));
if ((calorias_diarias_real-calorias_dia)>=0) printf("\n\nQuantidade calorica diaria a ser consumida: %.0f kcal",calorias_diarias_real-calorias_dia);
if ((calorias_diarias_real-calorias_dia)<0) printf("\n\nQuantidade calorica diaria a ser consumida: 0 kcal\nATENCAO: Esta dieta tende a ser perigosa.",calorias_diarias_real-calorias_dia);
printf("\n\nQuantidade calorica total a ser perdida: %.0f kcal",(massa_gorda_ini-massa_gorda_fim)*1000*9);
printf("\n\nDuracao da dieta: %.0f dias ou %.0f semanas.",(((massa_gorda_ini-massa_gorda_fim)*1000*9))/calorias_dia,((((massa_gorda_ini-massa_gorda_fim)*1000*9))/calorias_dia/7));
}
if ( (metodo=='B')||(metodo=='b') )
{
printf("\n\nQuantidade calorica diaria a ser perdida: %.0f kcal",((quilos_semana*1000*9)/7));
printf("\nQuantidade calorica semanal a ser perdida: %.0f kcal ou %.2f kG",(quilos_semana*1000*9),quilos_semana);
if ((calorias_diarias_real-((quilos_semana*1000*9)/7))>=0) printf("\n\nQuantidade calorica diaria a ser consumida: %.0f kcal",calorias_diarias_real-((quilos_semana*1000*9)/7));
if ((calorias_diarias_real-((quilos_semana*1000*9)/7))<0) printf("\n\nQuantidade calorica diaria a ser consumida: 0 kcal\nATENCAO: Esta dieta tende a ser perigosa.",calorias_diarias_real-((quilos_semana*1000*9)/7));
printf("\n\nQuantidade calorica total a ser perdida: %.0f kcal",(massa_gorda_ini-massa_gorda_fim)*1000*9);
printf("\n\nDuracao da dieta: %.0f dias ou %.0f semanas.",(((massa_gorda_ini-massa_gorda_fim)*1000*9))/((quilos_semana*1000*9)/7),((((massa_gorda_ini-massa_gorda_fim)*1000*9))/((quilos_semana*1000*9)/7)/7));
}
printf("\n\n===================================================================");
do{
printf("\n\nDeseja salvar a saida? - S(sim) / N(nao): ");
pergunta_salvar=getche();
if ( (pergunta_salvar!='S') && (pergunta_salvar!='s') && (pergunta_salvar!='N') && (pergunta_salvar!='n') ) printf("\nERRO! Pressione apenas \"S\" ou \"N\".");
}while( (pergunta_salvar!='S') && (pergunta_salvar!='s') && (pergunta_salvar!='N') && (pergunta_salvar!='n') );
printf("\nAguarde");
for (abc=0;abc<=25;abc++)
{
printf(".");
Sleep(100);
}
AUTOR:
if ( (pergunta_salvar=='S')||(pergunta_salvar=='s') ) subprog_salvar();
printf("\n\n\nAutor: Carlos E. Baldocchi\nBug e contato: carlos.baldocchi@gmail.com\nOferecimento a: http://www.guiadohardware.net/\n http://www.hipertrofia.org/\n\n");
system("pause");
FINISH:
return(0);
}
int subprog_ajuda ()
{
system("cls");
printf("Esse programa foi desenvolvido com o objetivo de auxiliar pessoas\nem dietas com o objetivo de perca de peso e definiçăo muscular.\n\nEmbora o programa inclua calculo de percentual de gordura com base\nem pessoas com IMC acima de 25 kG / m^2, o programa eh destinado\na atletas.\n\nEh mais adequado utilizar o programa se voce souber o seu percentual\nde gordura. Utilizar o algoritmo de percentual de gordura corporal\nincluido no programa pode gerar muitos erros devido ao seu biotipo\nfisico e gerar valores e dados incorretos.\n\n===== Tabela de conversao calorica: =====\n| |\n| 1 grama de Carboidrato...4kcal |\n| 1 grama de proteina......4kcal |\n| 1 grama de gordura.......4kcal |\n| |\n=========================================\n\n\nDesenvolvedor: Carlos E. Baldocchi\nBug e contato: carlos.baldocchi@gmail.com\nOferecimento a: http://www.guiadohardware.net/\n http://www.hipertrofia.org/\n\n");
system("pause");
system("cls");
}
int subprog_config_teclado ()
{
system("cls");
printf("Aperte a tecla [ESPACO]: ");
tecla_espaco=getch();
printf("\nTecla espaco = %d",tecla_espaco);
printf("\n\nAperte a tecla [ENTER]: ");
tecla_enter=getch();
printf("\nTecla enter = %d",tecla_enter);
printf("\n\nTeclado configurado com sucesso!\n\n");
system("pause");
system("cls");
return(0);
}
int subprog_printf_percentual ()
{
printf("\n>> 5-7%% >> Pareces mais pequeno vestido, mas ficas fantastico despido! Vascularizacao na parte inferior do abdomen e pernas.");
printf("\n\n>> 7-9%% >> Abdominais completamente visiveis, bracos mais vascularizados, separacao do peito e costas e completamente visivel e a cara comeca a ficar mais angular.");
printf("\n\n>> 10-12%% >> Separacao muscular mais profunda nos bracos, peito, pernas e costas. Abdominais ficam visiveis quando contraidos.");
printf("\n\n>> 12-14%% >> Aparece mais alguma separacao muscular, especialmente no peito e nas costas, começam a aparecer tracos de definicao nos abdominais.");
printf("\n\n>> 15-19%% >> Alguma separacao muscular entre os deltoides e a parte superior do braco. Os abdominais continuam nao visiveis.");
printf("\n\n>> 20%% ou mais de gordura >> definicao muscular nula!\n");
return(0);
}
int subprog_calc_cintura ()
{
char pergunta;
float perimetro_punho, perimetro_abdomem, perimetro_gluteo;
controle=1;
printf("Esse metodo nao e o mais adequado mas serve como solucao para consultas rapidas.Lembre-se que esse metodo pode gerar muitos erros devido ao seu biotipo fisico.\n");
VOLTA2:
{
if (((sexo=='H')||(sexo=='h')) && ((imc>=0)&&(imc<=28)))
{
do
{
printf("\nEntre com a circunferencia do seu punho\n[unidade: cm - exemplo: 19.7]\n: ");
scanf("%f",&perimetro_punho);
if ( (!((perimetro_punho>0)&&(perimetro_punho<=50))) ) printf("ERRO! Limitado entre 0 e 50 cm.\n\n");
}while( (!((perimetro_punho>0)&&(perimetro_punho<=50))) );
do
{
printf("\nEntre com a circunferencia do seu abdomem\n[unidade: cm - exemplo: 67.5]\n: ");
scanf("%f",&perimetro_abdomem);
if ( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=200))) ) printf("ERRO! Limitado entre 0 e 200 cm.\n\n");
}while( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=200))) );
perc_gord_ini=(((massa-(41.955+(1.038786*massa)-(0.82816*(perimetro_abdomem-perimetro_punho))))/massa)*100);
}
if (((sexo=='H')||(sexo=='h')) && (imc>28))
{
printf("\nSeu IMC esta acima de 28 apontando abesidade. Deseja utilizar a formula para pessoas obesas?\n(Pressione [espaco] para selecionar e [ENTER] para continuar)\n:\n");
menu=1;
do
{
if (menu==1) printf("(*) Sim - ...continuar\n( ) Nao - utilizar s formula para pessoas nao-obesas");
else if (menu==2) printf("( ) Sim - ...continuar\n(*) Nao - utilizar s formula para pessoas nao-obesas");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==3) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("\nERRO! Pressione [espaco] para selecionar.");
printf("\n\n");
}while(!((none==13)||(none==tecla_enter)));
if (menu==1) pergunta='S';
if (menu==2) pergunta='N';
// do{
// printf("\nSeu IMC esta acima de 28 apontando abesidade. Deseja utilizar a formula para pessoas obesas?\nS (sim - ...continuar)\nN (nao - utilizar s formula para pessoas nao-obesas)\n: ");
// pergunta=getche();
// if ( (pergunta!='S') && (pergunta!='s') && (pergunta!='N') && (pergunta!='n') ) printf("\nERRO! Pressione apenas \"S\" ou \"N\".\n");
// }while( (pergunta!='S') && (pergunta!='s') && (pergunta!='N') && (pergunta!='n') );
if ((pergunta=='N')||(pergunta=='n'))
{
printf("\n");
imc=28;
goto VOLTA2;
}
do
{
printf("\n\nEntre com a circunferencia do seu abdomem\n[unidade: cm - exemplo: 67.5]\n: ");
scanf("%f",&perimetro_abdomem);
if ( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=200))) ) printf("ERRO! Limitado entre 0 e 200 cm.\n\n");
}while( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=200))) );
perc_gord_ini=((0.31457*perimetro_abdomem)-(0.10969*massa)+10.8336);
}
}
{
if (((sexo=='M')||(sexo=='m')) && ((imc>=0)&&(imc<=25)))
{
do
{
printf("\nEntre com a circunferencia do seu gluteo\n[unidade: cm - exemplo: 45.5]\n: ");
scanf("%f",&perimetro_gluteo);
if ( (!((perimetro_gluteo>0)&&(perimetro_gluteo<=150))) ) printf("ERRO! Limitado entre 0 e 150 cm.\n\n");
}while( (!((perimetro_gluteo>0)&&(perimetro_gluteo<=150))) );
do
{
printf("\nEntre com a circunferencia do seu abdomem\n[unidade: cm - exemplo: 65.5]\n: ");
scanf("%f",&perimetro_abdomem);
if ( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=180))) ) printf("ERRO! Limitado entre 0 e 180 cm.\n\n");
}while( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=180))) );
perc_gord_ini=((0.55*perimetro_gluteo)-(0.24*altura)+(0.28*perimetro_abdomem)-8.43);
}
if (((sexo=='M')||(sexo=='m')) && (imc>25))
{
printf("\nSeu IMC esta acima de 25 apontando abesidade. Deseja utilizar a formula para pessoas obesas?\n(Pressione [espaco] para selecionar e [ENTER] para continuar)\n:\n");
menu=1;
do
{
if (menu==1) printf("(*) Sim - ...continuar\n( ) Nao - utilizar s formula para pessoas nao-obesas");
else if (menu==2) printf("( ) Sim - ...continuar\n(*) Nao - utilizar s formula para pessoas nao-obesas");
none=getch();
if ((none==32)||(none==tecla_espaco))
{
menu++;
if (menu==3) menu=1;
}
else if (!((none==13)||(none==tecla_enter))) printf("\nERRO! Pressione [espaco] para selecionar.");
printf("\n\n");
}while(none!=13);
if (menu==1) pergunta='S';
if (menu==2) pergunta='N';
// do{
// printf("\nSeu IMC esta acima de 25 apontando abesidade. Deseja utilizar a formula para pessoas obesas?\nS (sim - ...continuar)\nN (nao - utilizar s formula para pessoas nao-obesas)\n: ");
// pergunta=getche();
// if ( (pergunta!='S') && (pergunta!='s') && (pergunta!='N') && (pergunta!='n') ) printf("\nERRO! Pressione apenas \"S\" ou \"N\".\n");
// }while( (pergunta!='S') && (pergunta!='s') && (pergunta!='N') && (pergunta!='n') );
if ((pergunta=='N')||(pergunta=='n'))
{
printf("\n");
imc=25;
goto VOLTA2;
}
do
{
printf("\n\nEntre com a circunferencia do seu abdomem\n[unidade: cm - exemplo: 65.5]\n: ");
scanf("%f",&perimetro_abdomem);
if ( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=180))) ) printf("ERRO! Limitado entre 0 e 180 cm.\n\n");
}while( (!((perimetro_abdomem>0)&&(perimetro_abdomem<=180))) );
perc_gord_ini=((0.11077*perimetro_abdomem)-(0.17666*altura)+(0.14354*massa)+51.03301);
}
}
if ((perc_gord_ini>5)&&(perc_gord_ini<=22))
{
printf("Seu atual percentual de gordura e: %.2f%%\n",perc_gord_ini);
}
else if (((perc_gord_ini>0)&&(perc_gord_ini<=5))||((perc_gord_ini>22)&&(perc_gord_ini<=100)))
{
if ((perc_gord_ini>0)&&(perc_gord_ini<=5))
{
printf("Seu atual percentual de gordura e: %.2f%%",perc_gord_ini);
printf("\nEsteja ciente que esse valor esta muito baixo e talvez nao coincida com a realidade.\n");
system("pause");
}
else if ((perc_gord_ini>22)&&(perc_gord_ini<=100))
{
printf("Seu atual percentual de gordura e: %.2f%%",perc_gord_ini);
printf("\nEsteja ciente que esse valor esta muito alto e talvez nao coincida com a realidade.\n");
system("pause");
}
}
else
{
printf("Seu atual percentual de gordura e: %.2f%%",perc_gord_ini);
printf("\nValor impossivel! Esteja ciente que isso pode ocorrer devido ao erro no programa.\n",perc_gord_ini);
system("pause");
return(1);
}
return(0);
}
int subprog_gasto_calorico_diario ()
{
float seg_a_sex_rep, seg_a_sex_mle, seg_a_sex_lev, seg_a_sex_mod, seg_a_sex_int;
float sab_e_dom_rep, sab_e_dom_mle, sab_e_dom_lev, sab_e_dom_mod, sab_e_dom_int;
float fator_total, fator_seg_a_sex, fator_sab_e_dom;
if ( (sexo=='H')||(sexo=='h') ) calorias_diarias_teorico=(66.5+(13.7*massa)+(5*altura)+(6.8*idade));
else if ( (sexo=='M')||(sexo=='m') ) calorias_diarias_teorico=(655.1+(9.56*massa)+(1.85*altura)+(4.7*idade));
do
{
printf("Nos dias de Segunda a Sexta entre com o valor de quantas horas diarias voce realiza:\n(Lembre-se que o total de horas deve somar 24H.)\n");
do
{
printf("\nRepouso\n(dormir, ler na cama, etc...)\n[unidade: horas - exemplo: 8]\n: ");
scanf("%f",&seg_a_sex_rep);
if ( (!((seg_a_sex_rep>=0)&&(seg_a_sex_rep<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n");
}while( (!((seg_a_sex_rep>=0)&&(seg_a_sex_rep<=24))) );
do
{
printf("\nMuito Leve\n(em pe, escrever, jogar cartas, tocar instrumento musical, etc...)\n[unidade: horas - exemplo: 8]\n: ");
scanf("%f",&seg_a_sex_mle);
if ( (!((seg_a_sex_mle>=0)&&(seg_a_sex_mle<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n");
}while( (!((seg_a_sex_mle>=0)&&(seg_a_sex_mle<=24))) );
do
{
printf("\nLeve\n(caminhar (4-5km/h), limpar a casa, tenis de mesa, etc...)\n[unidade: horas - exemplo: 5]\n: ");
scanf("%f",&seg_a_sex_lev);
if ( (!((seg_a_sex_lev>=0)&&(seg_a_sex_lev<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n");
}while( (!((seg_a_sex_lev>=0)&&(seg_a_sex_lev<=24))) );
do
{
printf("\nModerado\n(caminhar (5.5-6.5km/h), andar de bicicleta, dancar, jogar tenis, etc...)\n[unidade: horas - exemplo: 1.5]\n: ");
scanf("%f",&seg_a_sex_mod);
if ( (!((seg_a_sex_mod>=0)&&(seg_a_sex_mod<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n");
}while( (!((seg_a_sex_mod>=0)&&(seg_a_sex_mod<=24))) );
do
{
printf("\nIntenso\n(correr (7ou mais km/h), musculacao, futebol, escalada, etc...)\n[unidade: horas - exemplo: 1.5]\n: ");
scanf("%f",&seg_a_sex_int);
if ( (!((seg_a_sex_int>=0)&&(seg_a_sex_int<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n");
}while( (!((seg_a_sex_int>=0)&&(seg_a_sex_int<=24))) );
if ((seg_a_sex_rep+seg_a_sex_mle+seg_a_sex_lev+seg_a_sex_mod+seg_a_sex_int)!=24)
{
printf("ERRO! O total de horas soma: %.1f horas.\nLembre-se que o total de horas deve somar 24.\n",seg_a_sex_rep+seg_a_sex_mle+seg_a_sex_lev+seg_a_sex_mod+seg_a_sex_int);
printf("\n");
system("pause");
system("cls");
}
}while ((seg_a_sex_rep+seg_a_sex_mle+seg_a_sex_lev+seg_a_sex_mod+seg_a_sex_int)!=24);
system("cls");
do
{
printf("Nos dias de Sabado e Domingo entre com o valor de quantas horas diarias voce realiza:\n(Lembre-se que o total de horas deve somar 24H.)\n");
do
{
printf("\nRepouso\n(dormir, ler na cama, etc...)\n[unidade: horas - exemplo: 8]\n: ");
scanf("%f",&sab_e_dom_rep);
if ( (!((sab_e_dom_rep>=0)&&(sab_e_dom_rep<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n\n");
}while( (!((sab_e_dom_rep>=0)&&(sab_e_dom_rep<=24))) );
do
{
printf("\nMuito Leve\n(em pe, escrever, jogar cartas, tocar instrumento musical, etc...)\n[unidade: horas - exemplo: 8]\n: ");
scanf("%f",&sab_e_dom_mle);
if ( (!((sab_e_dom_mle>=0)&&(sab_e_dom_mle<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n\n");
}while( (!((sab_e_dom_mle>=0)&&(sab_e_dom_mle<=24))) );
do
{
printf("\nLeve\n(caminhar (4-5 km/h), limpar a casa, tenis de mesa, etc...)\n[unidade: horas - exemplo: 5]\n: ");
scanf("%f",&sab_e_dom_lev);
if ( (!((sab_e_dom_lev>=0)&&(sab_e_dom_lev<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n\n");
}while( (!((sab_e_dom_lev>=0)&&(sab_e_dom_lev<=24))) );
do
{
printf("\nModerado\n(caminhar (5.5-6.5 km/h), andar de bicicleta, dancar, jogar tenis, etc...)\n[unidade: horas - exemplo: 1.5]\n: ");
scanf("%f",&sab_e_dom_mod);
if ( (!((sab_e_dom_mod>=0)&&(sab_e_dom_mod<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n\n");
}while( (!((sab_e_dom_mod>=0)&&(sab_e_dom_mod<=24))) );
do
{
printf("\nIntenso\n(correr (7ou mais km/h), musculacao, futebol, escalada, etc...)\n[unidade: horas - exemplo: 1.5]\n: ");
scanf("%f",&sab_e_dom_int);
if ( (!((sab_e_dom_int>=0)&&(sab_e_dom_int<=24))) ) printf("ERRO! Entre com um valor entre 0 e 24 horas.\n\n");
}while( (!((sab_e_dom_int>=0)&&(sab_e_dom_int<=24))) );
if ((sab_e_dom_rep+sab_e_dom_mle+sab_e_dom_lev+sab_e_dom_mod+sab_e_dom_int)!=24)
{
printf("ERRO! O total de horas soma: %.1f horas.\nLembre-se que o total de horas deve somar 24.\n",sab_e_dom_rep+sab_e_dom_mle+sab_e_dom_lev+sab_e_dom_mod+sab_e_dom_int);
printf("\n");
system("pause");
system("cls");
}
}while ((sab_e_dom_rep+sab_e_dom_mle+sab_e_dom_lev+sab_e_dom_mod+sab_e_dom_int)!=24);
printf("cls");
fator_seg_a_sex=(((seg_a_sex_rep*1)+(seg_a_sex_mle*1.5)+(seg_a_sex_lev*2.5)+(seg_a_sex_mod*5)+(seg_a_sex_int*7))/24);
fator_sab_e_dom=(((sab_e_dom_rep*1)+(sab_e_dom_mle*1.5)+(sab_e_dom_lev*2.5)+(sab_e_dom_mod*5)+(sab_e_dom_int*7))/24);
fator_total=(((fator_seg_a_sex*5)+(fator_sab_e_dom*2))/7);
calorias_diarias_real=(calorias_diarias_teorico*fator_total);
imc = ( massa / ( (altura/100)*(altura/100) ) );
return(0);
}
int subprog_salvar ()
{
FILE *p;
char nome_arquivo[41];
int i;
printf("\nEntre com o nome do arquivo: ");
scanf("%s",&nome_arquivo);
for (i=0 ; nome_arquivo[i]!='{FONTE}' ; i++);
nome_arquivo[i]='.';
nome_arquivo[i+1]='t';
nome_arquivo[i+2]='x';
nome_arquivo[i+3]='t';
nome_arquivo[i+4]='{FONTE}';
if (!(p = fopen(nome_arquivo,"w")))
{
printf("\nErro! Impossivel abrir o arquivo.\n\n");
system("pause");
exit(1);
}
//inicio
{
fprintf(p,"===================================================================");
fprintf(p,"\nNome: %s",nome);
fprintf(p,"\nSexo: ");
if ( (sexo=='H') || (sexo=='h') ) fprintf(p,"Masculino.");
else if ( (sexo=='M') || (sexo=='m') ) fprintf(p,"Feminino.");
fprintf(p,"\nIdade: %d anos.",idade);
fprintf(p,"\nAltura: %.2f metros.",altura/100);
fprintf(p,"\nMassa: %.1f kG.",massa);
fprintf(p,"\nIMC: %.2f kG / m^2.",imc);
if ( ( (sexo=='H') || (sexo=='h') ) && (imc>=28) ) fprintf(p," - acima do normal, verifique isso!");
else if (((sexo=='M')||(sexo=='m'))&&(imc>=25)) fprintf(p," - acima do normal, verifique isso!");
else fprintf(p,".");
fprintf(p,"\n\nATUAL:");
fprintf(p,"\n|-> Massa magra: %.1f kG (%.1f%%)",massa_magra_ini,(100-perc_gord_ini));
fprintf(p,"\n|-> Massa gorda: %.1f kG (%.1f%%)",massa_gorda_ini,perc_gord_ini);
fprintf(p,"\n=>> Massa total: %.1f kG (100%%)",massa);
fprintf(p,"\n\nDESEJADO:");
fprintf(p,"\n|-> Massa magra: %.1f kG (%.1f%%)",massa_magra_fim,(100-perc_gord_fim));
fprintf(p,"\n|-> Massa gorda: %.1f kG (%.1f%%)",massa_gorda_fim,perc_gord_fim);
fprintf(p,"\n=>> Massa total: %.1f kG (100%%)",massa_fim);
fprintf(p,"\n\nDIFERENCA:");
fprintf(p,"\n|-> Massa magra a ser perdida: %.1f kG",(massa_magra_fim-massa_magra_ini));
fprintf(p,"\n|-> Massa gorda a ser perdida: %.1f kG",(massa_gorda_ini-massa_gorda_fim));
fprintf(p,"\n=>> Massa total a ser perdida: %.1f kG",(massa-massa_fim));
if (controle==1) fprintf(p,"\n\nO percentual de gordura foi calculado atraves\ndo programa e esse valor nao e muito aconselhado\npara se levar em consideracao!");
fprintf(p,"\n\nValor metabolico de repouso (MMR): %.0f calorias / dia",calorias_diarias_real);
if ( (metodo=='A')||(metodo=='a') )
{
fprintf(p,"\n\nQuantidade calorica diaria a ser perdida: %.0f kcal",calorias_dia);
fprintf(p,"\nQuantidade calorica semanal a ser perdida: %.0f kcal ou %.2f kG",calorias_dia*7,((calorias_dia*7/9)/1000));
if ((calorias_diarias_real-calorias_dia)>=0) fprintf(p,"\n\nQuantidade calorica diaria a ser consumida: %.0f kcal",calorias_diarias_real-calorias_dia);
if ((calorias_diarias_real-calorias_dia)<0) fprintf(p,"\n\nQuantidade calorica diaria a ser consumida: 0 kcal\nATENCAO: Esta dieta tende a ser perigosa.",calorias_diarias_real-calorias_dia);
fprintf(p,"\n\nQuantidade calorica total a ser perdida: %.0f kcal",(massa_gorda_ini-massa_gorda_fim)*1000*9);
fprintf(p,"\n\nDuracao da dieta: %.0f dias ou %.0f semanas.",(((massa_gorda_ini-massa_gorda_fim)*1000*9))/calorias_dia,((((massa_gorda_ini-massa_gorda_fim)*1000*9))/calorias_dia/7));
}
if ( (metodo=='B')||(metodo=='b') )
{
fprintf(p,"\n\nQuantidade calorica diaria a ser perdida: %.0f kcal",((quilos_semana*1000*9)/7));
fprintf(p,"\nQuantidade calorica semanal a ser perdida: %.0f kcal ou %.2f kG",(quilos_semana*1000*9),quilos_semana);
if ((calorias_diarias_real-((quilos_semana*1000*9)/7))>=0) fprintf(p,"\n\nQuantidade calorica diaria a ser consumida: %.0f kcal",calorias_diarias_real-((quilos_semana*1000*9)/7));
if ((calorias_diarias_real-((quilos_semana*1000*9)/7))<0) fprintf(p,"\n\nQuantidade calorica diaria a ser consumida: 0 kcal\nATENCAO: Esta dieta tende a ser perigosa.",calorias_diarias_real-((quilos_semana*1000*9)/7));
fprintf(p,"\n\nQuantidade calorica total a ser perdida: %.0f kcal",(massa_gorda_ini-massa_gorda_fim)*1000*9);
fprintf(p,"\n\nDuracao da dieta: %.0f dias ou %.0f semanas.",(((massa_gorda_ini-massa_gorda_fim)*1000*9))/((quilos_semana*1000*9)/7),((((massa_gorda_ini-massa_gorda_fim)*1000*9))/((quilos_semana*1000*9)/7)/7));
}
fprintf(p,"\n\n===================================================================");
fprintf(p,"\n\n\nAutor: Carlos E. Baldocchi\nBug e contato: carlos.baldocchi@gmail.com\nOferecimento a: http://www.guiadohardware.net/\n http://www.hipertrofia.org/\n\n");
}
//fim
fclose(p);
printf("\n\nOs dados foram salvos no diretorio atual, no arquivo: %s - com sucesso!",nome_arquivo);
return(0);
}
Funçăo para validaçăo de datas
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebuliçăo agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal năo gostar de KDE? (8)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









