Ir ao conteúdo
  • Cadastre-se

NhemonF

Membros Juniores
  • Total de itens

    12
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Bom dia pessoal, Estou com um problema a respeito do ''IF...ELSE IF". Depois de inserir os dados, o código sempre chega na condição do ''ELSE''. Além deste problema, ele também não mostra o valor diário (medido em porcentagem) do nutriente requerido. Se puderem executar o código, fiquem à vontade. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #include <math.h> // Uso das funções para inserção de cabeçários e tabela void imprime_bemvindo(void){ printf("==============================================================\n"); printf("========BEM-VINDO AO RNE - RÓTULO NUTRITIVO ELETRÔNICO========\n"); printf("==============================================================\n"); } void inserir_dados(void){ printf("=================INSERÇÃO DE DADOS==================\n"); } void imprime_dados(void){ printf("=======================IMPRESSÃO DE DADOS=======================\n"); } void imprime_tabelanutritiva(void){ printf("====================================================\n"); printf("=======TABELA REFERENCIAL - QUANTIDADE MÁXIMA=======\n"); printf("====================================================\n"); printf("| Nutriente || Quantidade Máxima |\n"); printf("|==================================================|\n"); printf("| Proteínas || 300 gramas |\n"); printf("|==================================================|\n"); printf("| Carboidratos || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Lipídios || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Totais || 100 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Saturadas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Sódio || 2400 miligramas |\n"); printf("|==================================================|\n"); printf("| Ferro || 14 gramas |\n"); printf("|==================================================|\n"); printf("| Cálcio || 800 gramas |\n"); printf("|==================================================|\n"); printf("| Energia || 2000 calorias |\n"); printf("|==================================================|\n"); printf("| Colesterol || 30 gramas |\n"); printf("|==================================================|\n"); printf("| Fibras || 30 gramas |\n"); printf("|==================================================|\n"); } void imprime_fichanutritiva(void){ printf("=====================================================\n"); printf("==================FICHA NUTRITIVA====================\n"); printf("=====================================================\n"); } void imprime_diagnutritivo(void){ printf("=====================================================\n"); printf("================DIAGNÓSTICO NUTRITIVO================\n"); printf("=====================================================\n"); } //*Função principal do programa* // Atribuição e inserção de dados int main(){ setlocale(LC_ALL, "Portuguese"); // Definição const float maxproteina=150, maxlipidios=150, maxcarboidratros=150, maxenergia=2000, maxgordurasT=100; const float maxgordurasS=25, maxcolesterol=150, maxfibra=30, maxcalcio=800, maxferro=14, maxsodio=2400; // Variação char nome_nutriente[11][50]; float maxnutriente[11], quant_nutriente[11], valor_diario[11]; float proteinas, lipidios, carboidratos, energia, gordurasT, gordurasS, colesterol, fibra, ferro, sodio, calcio; float vdproteinas, vdlipidios, vdcarboidratos, vdenergia, vdgordurasT, vdgordurasS, vdcolesterol, vdfibra, vdferro, vdsodio, vdcalcio; int resposta; int i = 0; int opcao = 0; // Estrutura do Programa //- Deve inserir os dados de cada nutriente, incluindo a quantidade máxima deste elemento. imprime_bemvindo(); imprime_tabelanutritiva(); printf("\n"); inserir_dados(); for(i=1;i<5;i++){ printf("Digite o %iº nutriente: ", i); setbuf(stdin, NULL); scanf("%49[^\n]s", nome_nutriente[i]); printf("Digite a quantidade máxima de %s: ", nome_nutriente[i]); scanf("%f", &maxnutriente[i]); printf("Digite a quantidade apresentada de %s : ", nome_nutriente[i]); scanf("%f", &quant_nutriente[i]); valor_diario[i] = ((quant_nutriente[i]/maxnutriente[i])*100); printf("\n"); } system("cls"); system("Color A"); // Impressão de dados imprime_dados(); printf("\n"); imprime_fichanutritiva(); for(i=1;i<5;i++){ printf("| Nutriente: %s. || Valor diário do nutriente (porc.): %.1f.\n", nome_nutriente[i], valor_diario[i]); printf("=====================================================\n"); } printf("*Observações: para sódio = mg.\n"); printf("\t para energia = cal.\n"); printf("\n\n\n"); // Análise de quantidades e impressão do prontuário nutritivo //- Deve inserir o número da opção para realizar o diagnóstico, e, posteriormente, inserir a quantidade //presente no produto novamente. imprime_diagnutritivo(); do{ printf("Escolha uma das opções a seguir: \n"); printf("[1] - Energia\n"); printf("[2] - Gorduras e Colesterol\n"); printf("[3] - Minerais e Fibra\n"); printf("[4] - Sódio\n"); printf("\n"); scanf("%i", &opcao); switch(opcao){ case 1: printf("Você escolheu a opção 1 - Energia\n\n"); printf("Digite novamente a quantidade de Energia (em cal): "); scanf("%i", &energia); vdenergia = ((energia/maxenergia)*100); printf("\n"); printf("%.1f\n", vdenergia); if (vdenergia >= 90){ printf("O(A) paciente obteve aumento do peso, ao consumir a quantidade acima do permitido.\n"); printf("Recomendação: é necessário que o(a) paciente realize exercícios físicos\n"); printf("a fim de reduzir para o peso ideal.\n\n"); } else if ((vdenergia < 90) && (vdenergia >= 60)){ printf("O(A) paciente não apresenta ganho ou perda de peso.\n\n"); } else { printf("O(A) paciente obteve diminuição do peso, ao consumir a quantidade abaixo do permitido.\n"); printf("Recomendação: é necessário que o paciente se alimente de nutrientes ricos em carboidratos\n"); printf("para alcançar ao peso ideal. \n\n"); } break; printf("\n"); case 2: printf("Você escolheu a opção 2 - Gorduras e Colesterol\n\n"); printf("Digite novamente a quantidade de Gorduras Totais (em g): "); scanf("%i", &gordurasT); printf("Digite novamente a quantidade de Gorduras Saturadas (em g): "); scanf("%i", &gordurasS); printf("Digite novamente a quantidade de Colesterol (em g): "); scanf("%i", &colesterol); vdgordurasT = ((gordurasT/maxgordurasT)*100); vdgordurasS = ((gordurasS/maxgordurasS)*100); vdcolesterol = ((colesterol/maxcolesterol)*100); printf("\n"); printf("%.1f\n", vdgordurasT); printf("%.1f\n", vdgordurasS); printf("%.1f\n", vdcolesterol); if ((vdgordurasT >= 90) || (vdgordurasS >= 90) || (colesterol >= 90)){ printf("O(A) paciente apresenta quantidades diárias dos nutrientes acima da média.\n"); printf("Quando ultrapassar, pode ocasionar uma série de sintomas, devido ao excesso de nutrientes, \n"); printf("como problemas cardíacos, entupimento das veias, ou\n"); printf("uma possível parada cardíaca.\n"); printf("Recomendação: É necessário que o(a) paciente realize atividades físicas \n"); printf("para reduzir as quantidades de alimento consumidas.\n\n"); } else if((vdgordurasT < 90) && (vdgordurasT >= 60) || (vdgordurasS < 90) && (vdgordurasS >= 60) || (colesterol < 90) && (colesterol >= 60)) { printf("O(A) paciente não deve apresentar quantidades diárias dos nutrientes dentro do valor permitido.\n"); } else { printf("O(A) paciente apresenta quantidades diárias dos nutrientes abaixo da média. \n"); printf("Quando for inferior em relação à média, pode ocasionar uma série de sintomas de carência nutricional, \n"); printf("como oxidação de carboidratos, exaustão precoce e carência de vitaminas lipossolúveis (A,D,E e K). \n"); printf("Recomendação: É necessário consumir alimentos que contenham \n"); printf("gorduras poli-insaturadas, como salmão, e/ou monoinsaturadas, como nozes, castanhas, amêndoas. \n\n"); } break; printf("\n"); case 3: printf("Você escolheu a opção 3 - Minerais e Fibra\n\n"); printf("Digite novamente a quantidade de Ferro (em g): "); scanf("%i", &ferro); printf("Digite novamente a quantidade de Cálcio (em g): "); scanf("%i", &calcio); printf("Digite novamente a quantidade de Fibras (em g): "); scanf("%i", &fibra); vdferro = ((ferro/maxferro)*100); vdcalcio = ((calcio/maxcalcio)*100); vdfibra = ((fibra/maxfibra)*100); printf("\n"); printf("%.1f\n", vdferro); printf("%.1f\n", vdcalcio); printf("%.1f\n", vdfibra); if ((vdferro >= 90) && (vdcalcio >= 90) && (vdfibra >= 90)){ printf("O(A) paciente pode apresentar uma quantidade de nutrientes acima da média. \n"); printf("O aumento da quantidade diária destes nutrientes, pode ocasionar \n\n"); printf("sintomas de excesso nutricional, como cansaço, dor no estômago fraquezas (para ferro), interferência\n"); printf("no funcionamento do coração e do cérebro (para cálcio), e/ou déficit de minerais \n"); printf("e bloqueio intestinal (para fibras).\n"); } else if ((vdferro < 90) && (vdferro >= 60) || (vdcalcio < 90) && (vdcalcio >= 60) || (vdfibra < 90) && (vdfibra >= 60)){ printf("O(A) paciente apresenta uma quantidade de nutrientes dentro do solicitado. \n"); printf("O(A) paciente não deve apresentar problemas nutricionais\n\n."); } else { printf("O(A) paciente pode apresentar uma quantidade de nutrientes abaixo da média. \n"); printf("A redução da quantidade de nutrientes consumida, pode ocasionar \n"); printf("sintomas de carência nutricional, como anemia, ospteoporose e constipação.\n\n"); } break; printf("\n"); case 4: printf("Você escolheu a opção 4 - Sódio\n\n"); printf("Digite novamente a quantidade de Sódio (em mg): "); scanf("%i", &sodio); vdsodio = ((sodio/maxsodio)*100); printf("\n"); printf("%.1f\n", vdsodio); if (vdsodio >= 90){ printf("O(A) paciente pode apresentar pressão alta - excesso na quantidade de sódio ingerida no organismo.\n"); printf("Recomedação: O(A) paciente deve consumir quantidades menores do elemento.\n"); printf("Deve também consumir líquidos. Exemplo: água.\n\n"); } else if ((vdsodio < 90) && (vdsodio >= 60)){ printf("O(A) paciente não deve apresentar nenhum problema de saúde em função da quantidade diária ingerida de sódio.\n"); printf("Recomendação: O(A) paciente deve manter a quantidade de sódio consumida.\n\n"); } else { printf("O(A) paciente pode apresentar pressão baixa - carência de sódio ingerida no organismo.\n"); printf("Recomendação: O paciente deve consumir uma quantidade mínima do elemento.\n\n"); } break; printf("\n"); default: printf("Opção inválida.\n"); printf("\n\n"); } printf("Gostaria de inserir outra opção? [0/1]\n"); printf("\n"); scanf("%i", &resposta); }while (resposta == 1); system("cls"); system("Color C"); printf("Obrigado por usar o RNE\n"); printf("Finalizando o programa. . . . . .\n"); return 0; }
  2. @devair1010 Testei primeiro do DEV. No codeblocks o problema ainda persiste
  3. @devair1010 Estranho. Quando eu aperto em uma das opções, por exemplo, inseri o número 2. Quando insiro, a opção dele não aparece. adicionado 13 minutos depois Agora que vi o problema. Você usou o DEV-C++. Como programei no Code::Blocks, as opções não aparecem ao inserir a opção.
  4. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> // Uso das funções para inserção de cabeçários e tabela void imprime_bemvindo(void){ printf("==============================================================\n"); printf("========BEM-VINDO AO RNE - RÓTULO NUTRITIVO ELETRÔNICO========\n"); printf("==============================================================\n"); } void inserir_dados(void){ printf("=================INSERÇÃO DE DADOS==================\n"); } void imprime_dados(void){ printf("=======================IMPRESSÃO DE DADOS=======================\n"); } void imprime_tabelanutritiva(void){ printf("====================================================\n"); printf("=======TABELA REFERENCIAL - QUANTIDADE MÁXIMA=======\n"); printf("====================================================\n"); printf("| Nutriente || Quantidade Máxima |\n"); printf("|==================================================|\n"); printf("| Proteínas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Carboidratos || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Lipídios || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Totais || 100 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Saturadas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Sódio || 2400 miligramas |\n"); printf("|==================================================|\n"); printf("| Ferro || 14 gramas |\n"); printf("|==================================================|\n"); printf("| Cálcio || 800 gramas |\n"); printf("|==================================================|\n"); printf("| Energia || 2000 caloria |\n"); printf("|==================================================|\n"); printf("| Colesterol || 30 gramas |\n"); printf("|==================================================|\n"); printf("| Fibras || 30 gramas |\n"); printf("|==================================================|\n"); } void imprime_fichanutritiva(void){ printf("=====================================================\n"); printf("==================FICHA NUTRITIVA====================\n"); printf("=====================================================\n"); } void imprime_diagnutritivo(void){ printf("=====================================================\n"); printf("================DIAGNÓSTICO NUTRITIVO================\n"); printf("=====================================================\n"); } //*Função principal do programa* // Atribuição e inserção de dados int main(){ setlocale(LC_ALL, "Portuguese"); // Definição const int maxproteina=150, maxlipidios=150, maxcarboidratros=150, maxenergia=2000, maxgordurasT=100; const int maxgordurasS=25, maxcolesterol=150, maxfibra=30, maxcalcio=800, maxferro=14, maxsodio=2400; // Variação char nome_nutriente[11][50]; float maxnutriente[11], quant_nutriente[11], valor_diario[11]; int proteinas, lipidios, carboidratos, energia, gordurasT, gordurasS, colesterol, fibra, ferro, sodio, calcio; int vdproteinas, vdlipidios, vdcarboidratos, vdenergia, vdgordurasT, vdgordurasS, vdcolesterol, vdfibra, vdferro, vdsodio, vdcalcio; int resposta; int i = 0; int opcao = 0; // Estrutura do Programa //- Deve inserir os dados de cada nutriente, incluindo a quantidade máxima deste elemento. imprime_bemvindo(); imprime_tabelanutritiva(); printf("\n"); inserir_dados(); for(i=1;i<5;i++){ printf("Digite o %iº nutriente: ", i); setbuf(stdin, NULL); scanf("%49[^\n]s", nome_nutriente[i]); printf("Digite a quantidade máxima de %s: ", nome_nutriente[i]); scanf("%f", &maxnutriente[i]); printf("Digite a quantidade apresentada de %s : ", nome_nutriente[i]); scanf("%f", &quant_nutriente[i]); valor_diario[i] = ((quant_nutriente[i]/maxnutriente[i])*100); printf("\n"); } system("cls"); system("Color A"); // Impressão de dados imprime_dados(); printf("\n"); imprime_fichanutritiva(); for(i=1;i<5;i++){ printf("| Nutriente: %s. || Valor diário do nutriente (porc.): %.1f.\n", nome_nutriente[i], valor_diario[i]); printf("=====================================================\n"); } printf("*Observações: para sódio = mg.\n"); printf("\t para energia = cal.\n"); printf("\n\n\n"); // Análise de quantidades e impressão do prontuário nutritivo //- Deve inserir o número da opção para realizar o diagnóstico, e, posteriormente, inserir a quantidade //presente no produto novamente. imprime_diagnutritivo(); do{ printf("Escolha uma das opções a seguir: \n"); printf("[1] - Energia\n"); printf("[2] - Gorduras e Colesterol\n"); printf("[3] - Minerais e Fibra\n"); printf("[4] - Sódio\n"); printf("\n"); scanf("%i", &opcao); switch(opcao){ case 1: printf("Você escolheu a opção 1 - Energia\n\n"); printf("Digite novamente a quantidade de Energia (em cal): "); scanf("%i", &energia); vdenergia = (energia/maxenergia)*100; printf("\n"); if (vdenergia >= 90){ printf("O(A) paciente obteve aumento do peso.\n"); printf("Recomendação: é necessário que o paciente realize exercícios físicos\n"); printf("a fim de diminuir para o peso ideal.\n\n"); } else if ((vdenergia < 90) && (vdenergia >= 60)){ printf("O(A) paciente não apresenta ganho ou perda de peso.\n\n"); } else { printf("O(A) paciente obteve diminuição do peso.\n"); printf("Recomendação: é necessário que o paciente se alimente de nutrientes ricos em carboidratos\n"); printf("para chegar ao peso ideal. \n\n"); } break; printf("\n"); case 2: printf("Você escolheu a opção 2 - Gorduras e Colesterol\n\n"); printf("Digite novamente a quantidade de Gorduras Totais (em g): "); scanf("%i", &gordurasT); printf("Digite novamente a quantidade de Gorduras Saturadas (em g): "); scanf("%i", &gordurasS); printf("Digite novamente a quantidade de Coelsterol (em g): "); scanf("%i", &colesterol); vdgordurasT = (gordurasT/maxgordurasT)*100; vdgordurasS = (gordurasS/maxgordurasS)*100; vdcolesterol = (colesterol/maxcolesterol)*100; printf("\n"); if ((vdgordurasT >= 90) || (vdgordurasS >= 90) || (colesterol >= 90)){ printf("O(A) paciente apresenta quantidades diárias dos nutrientes acima da média.\n"); printf("Quando ultrapassar, pode ocasionar uma série de problemas de saúde, \n"); printf("como problemas cardíacos, entupimento das veias, ou\n"); printf("uma possível parada cardíaca.\n"); printf("Recomendação: É necessário que o(a) paciente realize atividades físicas \n"); printf("para reduzir as quantidades de alimento consumidas.\n\n"); } else if((vdgordurasT < 90) && (vdgordurasT >= 60) && (vdgordurasS < 90) && (vdgordurasS >= 60) && (colesterol < 90) && (colesterol >= 60)) { printf("O(A) paciente apresenta quantidades diárias dos nutrientes dentro do valor permitido.\n"); printf("Ou seja, não apresenta problemas de saúde.\n\n"); } else { printf("O(A) paciente apresenta quantidades diárias dos nutrientes abaixo da média. \n"); printf("Quando for inferior em relação à média, pode ocasionar uma série de problemas de saúde, \n"); printf("como oxidação de carboidratos, exaustão precoce e carência de vitaminas lipossolúveis (A,D,E e K). \n"); printf("Recomendação: É necessário consumir alimentos que contenham \n"); printf("gorduras poli-insaturadas, como salmão, e/ou monoinsaturadas, como nozes, castanhas, amêndoas. \n\n"); } break; printf("\n"); case 3: printf("Você escolheu a opção 3 - Minerais e Fibra\n\n"); printf("Digite novamente a quantidade de Ferro (em g): "); scanf("%i", &ferro); printf("Digite novamente a quantidade de Cálcio (em g): "); scanf("%i", &calcio); printf("Digite novamente a quantidade de Fibras (em g): "); scanf("%i", &fibra); vdferro = (ferro/maxferro)*100; vdcalcio = (calcio/maxcalcio)*100; vdfibra = (fibra/maxfibra)*100; printf("\n"); if ((vdferro >= 90) && (vdcalcio >= 90) && (vdfibra >= 90)){ printf("O(A) paciente pode apresentar uma quantidade de nutrientes acima da média. \n"); printf("O aumento da quantidade diária de nutrientes, pode ocasionar \n\n"); printf("problemas de saúde, como \n"); } else if ((vdferro < 90) && (vdferro >= 60) || (vdcalcio < 90) && (vdcalcio >= 60) || (vdfibra < 90) && (vdfibra >= 60)){ printf("O(A) paciente apresenta uma quantidade de nutrientes dentro do solicitado. \n"); printf("O(A) paciente não apresentou problemas nutricionais\n\n."); } else { printf("O(A) paciente pode apresentar uma quantidade de nutrientes abaixo da média. \n"); printf("A redução da quantidade de nutrientes consumida, pode ocasionar \n"); printf("problemas de saúde, como anemia, ospteoporose, \n\n"); } break; printf("\n"); case 4: printf("Você escolheu a opção 4 - Sódio\n\n"); printf("Digite novamente a quantidade de Sódio (em mg): "); scanf("%i", &sodio); vdsodio = (sodio/maxsodio)*100; printf("\n"); if (vdsodio >= 90){ printf("O(A) paciente pode apresentar pressão alta - excesso na quantidade de sódio ingerida no corpo.\n"); printf("Recomedação: O paciente deve consumir em quantidades menores do elemento.\n"); printf("Deve também consumir líquidos, como, por exemplo, água.\n\n"); } else if ((vdsodio < 90) && (vdsodio >= 60)){ printf("O(A) paciente não apresenta nenhum problema de saúde a respeito da quantidade diária ingerida do sódio.\n"); printf("Recomendação: O paciente deve continuar mantendo a quantidade de sódio.\n\n"); } else { printf("O(A) paciente pode apresentar pressão baixa - carência de sódio ingerida no corpo.\n"); printf("Recomendação: O paciente deve consumir uma quantidade mínima do elemento.\n\n"); } break; printf("\n"); default: printf("Opção inválida.\n"); printf("\n\n"); } printf("Gostaria de inserir outra opção? [0/1]\n"); printf("\n"); scanf("%i", &resposta); }while (resposta == 1); system("cls"); system("Color C"); printf("Obrigado por usar o RNE\n"); printf("Finalizando o programa. . . . . .\n"); return 0; } Galera, estou com um outro problema, no mesmo código que fiz. Quando chego em "switch...case", ele insere a operação por inserir o número da opção. Mas quando insiro, a opção não aparece. Preciso de muita ajuda!!
  5. @AdrianoSiqueira Consegui resolver o problema das strings. Obrigado pela ajuda!! Agora estou com outro problema, só que agora no "switch...case". Quando aperto o número da opção, a respectiva operação do programa não aparece.
  6. Bom, queria colocar vários nomes diferentes de nutrientes(ex: proteínas, carboidratos etc. etc). Ao executar o programa, ele repete o último nome inserido no programa. Outra coisa é que queria colocar porcentagens exatas de quantidades de cada nutriente. Mas eu queria só ó número inteiro (exemplo: se for dividir dois números e o resultado for real, eu quero que apareça o numero inteiro do resultado da divisão #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> // Uso das funções para inserção de cabeçários e tabela void imprime_bemvindo(void){ printf("==============================================================\n"); printf("========BEM-VINDO AO RNE - RÓTULO NUTRITIVO ELETRÔNICO========\n"); printf("==============================================================\n"); } void inserir_dados(void){ printf("=================INSERÇÃO DE DADOS==================\n"); } void imprime_dados(void){ printf("=======================IMPRESSÃO DE DADOS=======================\n"); } void imprime_tabelanutritiva(void){ printf("====================================================\n"); printf("=======TABELA REFERENCIAL - QUANTIDADE MÁXIMA=======\n"); printf("====================================================\n"); printf("| Nutriente || Quantidade Máxima |\n"); printf("|==================================================|\n"); printf("| Proteínas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Carboidratos || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Lipídios || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Totais || 100 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Saturadas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Sódio || 2400 miligramas |\n"); printf("|==================================================|\n"); printf("| Ferro || 14 gramas |\n"); printf("|==================================================|\n"); printf("| Cálcio || 800 gramas |\n"); printf("|==================================================|\n"); printf("| Energia || 2000 caloria |\n"); printf("|==================================================|\n"); printf("| Colesterol || 30 gramas |\n"); printf("|==================================================|\n"); printf("| Fibras || 30 gramas |\n"); printf("|==================================================|\n"); } void imprime_fichanutritiva(void){ printf("=====================================================\n"); printf("==================FICHA NUTRITIVA====================\n"); printf("=====================================================\n"); } void imprime_diagnutritivo(void){ printf("=====================================================\n"); printf("================DIAGNÓSTICO NUTRITIVO================\n"); printf("=====================================================\n"); } //*Função principal do programa* // Atribuição e inserção de dados int main(){ setlocale(LC_ALL, "Portuguese"); // Definição const int maxproteina=150, maxlipidios=150, maxcarboidratros=150, maxenergia=2000, maxgordurasT=100; const int maxgordurasS=25, maxcolesterol=150, maxfibra=30, maxcalcio=800, maxferro=14, maxsodio=2400; // Variação char nome_nutriente[20]; int maxnutriente, quant_nutriente, i = 1, valor_diario; int proteinas, lipidios, carboidratos, energia, gordurasT, gordurasS, colesterol, fibra, ferro, sodio, calcio; int vdproteinas, vdlipidios, vdcarboidratos, vdenergia, vdgordurasT, vdgordurasS, vdcolesterol, vdfibra, vdferro, vdsodio, vdcalcio; int resposta; int opcao = 0; // Estrutura do Programa //- Deve inserir os dados de cada nutriente, incluindo a quantidade máxima deste elemento. imprime_bemvindo(); imprime_tabelanutritiva(); printf("\n"); inserir_dados(); for(i=1;i<5;i++){ printf("Digite o %iº nutriente: ", i); setbuf(stdin, NULL); scanf("%49[^\n]s", nome_nutriente); printf("Digite a quantidade máxima de %s: ", nome_nutriente); scanf("%i", &maxnutriente); printf("Digite a quantidade apresentada de %s : ", nome_nutriente); scanf("%i", &quant_nutriente); valor_diario = ((quant_nutriente/maxnutriente)*100); printf("\n"); } system("cls"); system("Color A"); // Impressão de dados imprime_dados(); printf("\n"); imprime_fichanutritiva(); for(i=1;i<5;i++){ printf("| Nutriente: %s. || Valor diário do nutriente (porc.): %i.\n", nome_nutriente, valor_diario); printf("=====================================================\n"); } printf("*Observações: para sódio = mg.\n"); printf("\t para energia = cal.\n"); printf("\n\n\n"); // Análise de quantidades e impressão do prontuário nutritivo //- Deve inserir o número da opção para realizar o diagnóstico, e, posteriormente, inserir a quantidade //presente no produto novamente. imprime_diagnutritivo(); do{ printf("Escolha uma das opções a seguir: \n"); printf("[1] - Energia\n"); printf("[2] - Gorduras e Colesterol\n"); printf("[3] - Minerais e Fibra\n"); printf("[4] - Sódio\n"); printf("\n"); scanf("%i", &opcao); switch(opcao){ case 1: printf("Você escolheu a opção 1 - Energia\n\n"); printf("Digite novamente a quantidade de Energia (em cal): "); scanf("%i", &energia); vdenergia = (energia/maxenergia)*100; printf("\n"); if (vdenergia >= 90){ printf("O(A) paciente obteve aumento do peso.\n"); printf("Recomendação: é necessário que o paciente realize exercícios físicos\n"); printf("a fim de diminuir para o peso ideal.\n\n"); } else if ((vdenergia < 90) && (vdenergia >= 60)){ printf("O(A) paciente não apresenta ganho ou perda de peso.\n\n"); } else { printf("O(A) paciente obteve diminuição do peso.\n"); printf("Recomendação: é necessário que o paciente se alimente de nutrientes ricos em carboidratos\n"); printf("para chegar ao peso ideal. \n\n"); } break; printf("\n"); case 2: printf("Você escolheu a opção 2 - Gorduras e Colesterol\n\n"); printf("Digite novamente a quantidade de Gorduras Totais (em g): "); scanf("%i", &gordurasT); printf("Digite novamente a quantidade de Gorduras Saturadas (em g): "); scanf("%i", &gordurasS); printf("Digite novamente a quantidade de Coelsterol (em g): "); scanf("%i", &colesterol); vdgordurasT = (gordurasT/maxgordurasT)*100; vdgordurasS = (gordurasS/maxgordurasS)*100; vdcolesterol = (colesterol/maxcolesterol)*100; printf("\n"); if ((vdgordurasT >= 90) || (vdgordurasS >= 90) || (colesterol >= 90)){ printf("O(A) paciente apresenta quantidades diárias dos nutrientes acima da média.\n"); printf("Quando ultrapassar, pode ocasionar uma série de problemas de saúde, \n"); printf("como problemas cardíacos, entupimento das veias, ou\n"); printf("uma possível parada cardíaca.\n"); printf("Recomendação: É necessário que o(a) paciente realize atividades físicas \n"); printf("para reduzir as quantidades de alimento consumidas.\n\n"); } else if((vdgordurasT < 90) && (vdgordurasT >= 60) && (vdgordurasS < 90) && (vdgordurasS >= 60) && (colesterol < 90) && (colesterol >= 60)) { printf("O(A) paciente apresenta quantidades diárias dos nutrientes dentro do valor permitido.\n"); printf("Ou seja, não apresenta problemas de saúde.\n\n"); } else { printf("O(A) paciente apresenta quantidades diárias dos nutrientes abaixo da média. \n"); printf("Quando for inferior em relação à média, pode ocasionar uma série de problemas de saúde, \n"); printf("como oxidação de carboidratos, exaustão precoce e carência de vitaminas lipossolúveis (A,D,E e K). \n"); printf("Recomendação: É necessário consumir alimentos que contenham \n"); printf("gorduras poli-insaturadas, como salmão, e/ou monoinsaturadas, como nozes, castanhas, amêndoas. \n\n"); } break; printf("\n"); case 3: printf("Você escolheu a opção 3 - Minerais e Fibra\n\n"); printf("Digite novamente a quantidade de Ferro (em g): "); scanf("%i", &ferro); printf("Digite novamente a quantidade de Cálcio (em g): "); scanf("%i", &calcio); printf("Digite novamente a quantidade de Fibras (em g): "); scanf("%i", &fibra); vdferro = (ferro/maxferro)*100; vdcalcio = (calcio/maxcalcio)*100; vdfibra = (fibra/maxfibra)*100; printf("\n"); if ((vdferro >= 90) && (vdcalcio >= 90) && (vdfibra >= 90)){ printf("O(A) paciente pode apresentar uma quantidade de nutrientes acima da média. \n"); printf("O aumento da quantidade diária de nutrientes, pode ocasionar \n\n"); printf("problemas de saúde, como \n"); } else if ((vdferro < 90) && (vdferro >= 60) || (vdcalcio < 90) && (vdcalcio >= 60) || (vdfibra < 90) && (vdfibra >= 60)){ printf("O(A) paciente apresenta uma quantidade de nutrientes dentro do solicitado. \n"); printf("O(A) paciente não apresentou problemas nutricionais\n\n."); } else { printf("O(A) paciente pode apresentar uma quantidade de nutrientes abaixo da média. \n"); printf("A redução da quantidade de nutrientes consumida, pode ocasionar \n"); printf("problemas de saúde, como anemia, ospteoporose, \n\n"); } break; printf("\n"); case 4: printf("Você escolheu a opção 4 - Sódio\n\n"); printf("Digite novamente a quantidade de Sódio (em mg): "); scanf("%i", &sodio); vdsodio = (sodio/maxsodio)*100; printf("\n"); if (vdsodio >= 90){ printf("O(A) paciente pode apresentar pressão alta - excesso na quantidade de sódio ingerida no corpo.\n"); printf("Recomedação: O paciente deve consumir em quantidades menores do elemento.\n"); printf("Deve também consumir líquidos, como, por exemplo, água.\n\n"); } else if ((vdsodio < 90) && (vdsodio >= 60)){ printf("O(A) paciente não apresenta nenhum problema de saúde a respeito da quantidade diária ingerida do sódio.\n"); printf("Recomendação: O paciente deve continuar mantendo a quantidade de sódio.\n\n"); } else { printf("O(A) paciente pode apresentar pressão baixa - carência de sódio ingerida no corpo.\n"); printf("Recomendação: O paciente deve consumir uma quantidade mínima do elemento.\n\n"); } break; printf("\n"); default: printf("Opção inválida.\n"); printf("\n\n"); } printf("Gostaria de inserir outra opção? [0/1]\n"); printf("\n"); scanf("%i", &resposta); }while (resposta == 1); system("cls"); printf("Obrigado por usar o RNE\n"); printf("Finalizando o programa. . . . . .\n"); return 0; } ). Poderiam me ajudar com o programa. O programa executa, mas ele faz com que apareça estes erros.
  7. @GBMelkor Obrigado pelas sugestões
  8. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> // Uso das funções para inserção de cabeçários e tabela void imprime_bemvindo(void){ printf("==============================================================\n"); printf("========BEM-VINDO AO RNE - RÓTULO NUTRITIVO ELETRÔNICO========\n"); printf("==============================================================\n"); } void inserir_dados(void){ printf("=================INSERÇÃO DE DADOS==================\n"); } void imprime_dados(void){ printf("=======================IMPRESSÃO DE DADOS=======================\n"); } void imprime_tabelanutritiva(void){ printf("====================================================\n"); printf("=======TABELA REFERENCIAL - QUANTIDADE MÁXIMA=======\n"); printf("====================================================\n"); printf("| Nutriente || Quantidade Máxima |\n"); printf("|==================================================|\n"); printf("| Proteínas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Carboidratos || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Lipídios || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Totais || 100 gramas |\n"); printf("|==================================================|\n"); printf("| Gorduras Saturadas || 150 gramas |\n"); printf("|==================================================|\n"); printf("| Sódio || 2400 miligramas |\n"); printf("|==================================================|\n"); printf("| Ferro || 14 gramas |\n"); printf("|==================================================|\n"); printf("| Cálcio || 800 gramas |\n"); printf("|==================================================|\n"); printf("| Energia || 2000 caloria |\n"); printf("|==================================================|\n"); printf("| Colesterol || 30 gramas |\n"); printf("|==================================================|\n"); printf("| Fibras || 30 gramas |\n"); printf("|==================================================|\n"); } void imprime_fichanutritiva(void){ printf("=====================================================\n"); printf("==================FICHA NUTRITIVA====================\n"); printf("=====================================================\n"); } void imprime_diagnutritivo(void){ printf("=====================================================\n"); printf("================DIAGNÓSTICO NUTRITIVO================\n"); printf("=====================================================\n"); } //*Função principal do programa* // Atribuição e inserção de dados int main(){ setlocale(LC_ALL, "Portuguese"); // Definição const int maxproteina=150, maxlipidios=150, maxcarboidratros=150, maxenergia=2000, maxgordurasT=100; const int maxgordurasS=25, maxcolesterol=150, maxfibra=30, maxcalcio=800, maxferro=14, maxsodio=2400; // Variação char nome_nutriente[20]; int maxnutriente, quant_nutriente, i = 1, valor_diario; int proteinas, lipidios, carboidratos, energia, gordurasT, gordurasS, colesterol, fibra, ferro, sodio, calcio; int vdproteinas, vdlipidios, vdcarboidratos, vdenergia, vdgordurasT, vdgordurasS, vdcolesterol, vdfibra, vdferro, vdsodio, vdcalcio; int resposta; int opcao = 0; // Estrutura do Programa //- Deve inserir os dados de cada nutriente, incluindo a quantidade máxima deste elemento. imprime_bemvindo(); imprime_tabelanutritiva(); printf("\n"); inserir_dados(); for(i=1;i<5;i++){ printf("Digite o %iº nutriente: ", i); setbuf(stdin, NULL); scanf("%49[^\n]s", nome_nutriente); printf("Digite a quantidade máxima de %s: ", nome_nutriente); scanf("%i", &maxnutriente); printf("Digite a quantidade apresentada de %s : ", nome_nutriente); scanf("%i", &quant_nutriente); valor_diario = ((quant_nutriente/maxnutriente)*100); printf("\n"); } system("cls"); system("Color A"); // Impressão de dados imprime_dados(); printf("\n"); imprime_fichanutritiva(); for(i=1;i<5;i++){ printf("| Nutriente: %s. || Valor diário do nutriente (porc.): %i.\n", nome_nutriente, valor_diario); printf("=====================================================\n"); } printf("*Observações: para sódio = mg.\n"); printf("\t para energia = cal.\n"); printf("\n\n\n"); // Análise de quantidades e impressão do prontuário nutritivo //- Deve inserir o número da opção para realizar o diagnóstico, e, posteriormente, inserir a quantidade //presente no produto novamente. imprime_diagnutritivo(); do{ printf("Escolha uma das opções a seguir: \n"); printf("[1] - Energia\n"); printf("[2] - Gorduras e Colesterol\n"); printf("[3] - Minerais e Fibra\n"); printf("[4] - Sódio\n"); printf("\n"); scanf("%i", &opcao); switch(opcao){ case 1: printf("Você escolheu a opção 1 - Energia\n\n"); printf("Digite novamente a quantidade de Energia (em cal): "); scanf("%i", &energia); vdenergia = (energia/maxenergia)*100; printf("\n"); if (vdenergia >= 90){ printf("O(A) paciente obteve aumento do peso.\n"); printf("Recomendação: é necessário que o paciente realize exercícios físicos\n"); printf("a fim de diminuir para o peso ideal.\n\n"); } else if ((vdenergia < 90) && (vdenergia >= 60)){ printf("O(A) paciente não apresenta ganho ou perda de peso.\n\n"); } else { printf("O(A) paciente obteve diminuição do peso.\n"); printf("Recomendação: é necessário que o paciente se alimente de nutrientes ricos em carboidratos\n"); printf("para chegar ao peso ideal. \n\n"); } break; printf("\n"); case 2: printf("Você escolheu a opção 2 - Gorduras e Colesterol\n\n"); printf("Digite novamente a quantidade de Gorduras Totais (em g): "); scanf("%i", &gordurasT); printf("Digite novamente a quantidade de Gorduras Saturadas (em g): "); scanf("%i", &gordurasS); printf("Digite novamente a quantidade de Coelsterol (em g): "); scanf("%i", &colesterol); vdgordurasT = (gordurasT/maxgordurasT)*100; vdgordurasS = (gordurasS/maxgordurasS)*100; vdcolesterol = (colesterol/maxcolesterol)*100; printf("\n"); if ((vdgordurasT >= 90) || (vdgordurasS >= 90) || (colesterol >= 90)){ printf("O(A) paciente apresenta quantidades diárias dos nutrientes acima da média.\n"); printf("Quando ultrapassar, pode ocasionar uma série de problemas de saúde, \n"); printf("como problemas cardíacos, entupimento das veias, ou\n"); printf("uma possível parada cardíaca.\n"); printf("Recomendação: É necessário que o(a) paciente realize atividades físicas \n"); printf("para reduzir as quantidades de alimento consumidas.\n\n"); } else if((vdgordurasT < 90) && (vdgordurasT >= 60) && (vdgordurasS < 90) && (vdgordurasS >= 60) && (colesterol < 90) && (colesterol >= 60)) { printf("O(A) paciente apresenta quantidades diárias dos nutrientes dentro do valor permitido.\n"); printf("Ou seja, não apresenta problemas de saúde.\n\n"); } else { printf("O(A) paciente apresenta quantidades diárias dos nutrientes abaixo da média. \n"); printf("Quando for inferior em relação à média, pode ocasionar uma série de problemas de saúde, \n"); printf("como oxidação de carboidratos, exaustão precoce e carência de vitaminas lipossolúveis (A,D,E e K). \n"); printf("Recomendação: É necessário consumir alimentos que contenham \n"); printf("gorduras poli-insaturadas, como salmão, e/ou monoinsaturadas, como nozes, castanhas, amêndoas. \n\n"); } break; printf("\n"); case 3: printf("Você escolheu a opção 3 - Minerais e Fibra\n\n"); printf("Digite novamente a quantidade de Ferro (em g): "); scanf("%i", &ferro); printf("Digite novamente a quantidade de Cálcio (em g): "); scanf("%i", &calcio); printf("Digite novamente a quantidade de Fibras (em g): "); scanf("%i", &fibra); vdferro = (ferro/maxferro)*100; vdcalcio = (calcio/maxcalcio)*100; vdfibra = (fibra/maxfibra)*100; printf("\n"); if ((vdferro >= 90) && (vdcalcio >= 90) && (vdfibra >= 90)){ printf("O(A) paciente pode apresentar uma quantidade de nutrientes acima da média. \n"); printf("O aumento da quantidade diária de nutrientes, pode ocasionar \n\n"); printf("problemas de saúde, como \n"); } else if ((vdferro < 90) && (vdferro >= 60) || (vdcalcio < 90) && (vdcalcio >= 60) || (vdfibra < 90) && (vdfibra >= 60)){ printf("O(A) paciente apresenta uma quantidade de nutrientes dentro do solicitado. \n"); printf("O(A) paciente não apresentou problemas nutricionais\n\n."); } else { printf("O(A) paciente pode apresentar uma quantidade de nutrientes abaixo da média. \n"); printf("A redução da quantidade de nutrientes consumida, pode ocasionar \n"); printf("problemas de saúde, como anemia, ospteoporose, \n\n"); } break; printf("\n"); case 4: printf("Você escolheu a opção 4 - Sódio\n\n"); printf("Digite novamente a quantidade de Sódio (em mg): "); scanf("%i", &sodio); vdsodio = (sodio/maxsodio)*100; printf("\n"); if (vdsodio >= 90){ printf("O(A) paciente pode apresentar pressão alta - excesso na quantidade de sódio ingerida no corpo.\n"); printf("Recomedação: O paciente deve consumir em quantidades menores do elemento.\n"); printf("Deve também consumir líquidos, como, por exemplo, água.\n\n"); } else if ((vdsodio < 90) && (vdsodio >= 60)){ printf("O(A) paciente não apresenta nenhum problema de saúde a respeito da quantidade diária ingerida do sódio.\n"); printf("Recomendação: O paciente deve continuar mantendo a quantidade de sódio.\n\n"); } else { printf("O(A) paciente pode apresentar pressão baixa - carência de sódio ingerida no corpo.\n"); printf("Recomendação: O paciente deve consumir uma quantidade mínima do elemento.\n\n"); } break; printf("\n"); default: printf("Opção inválida.\n"); printf("\n\n"); } printf("Gostaria de inserir outra opção? [0/1]\n"); printf("\n"); scanf("%i", &resposta); }while (resposta == 1); system("cls"); printf("Obrigado por usar o RNE\n"); printf("Finalizando o programa. . . . . .\n"); return 0; } Aqui está.
  9. Poderiam testar o programa e trazer sugestões para mim?? programa.rar
  10. @AdrianoSiqueira cara, eu fiz do seu jeito, mas não funcionou muito bem... queria colocar palavras diferentes no programa. desculpe pela confusão
  11. @AdrianoSiqueira Obrigado pela resposta!! Outra coisa que está acontecendo com o programa, é que, ao inserir o nome de algo, o nome inserido não aparece. Tem como resolver isto?
  12. Estou com um problema de saída de dados. Mais especificamente, quando insiro o nome do nutriente. Por exemplo: proteínas, carboidratos.... < int main(){ setlocale(LC_ALL, "Portuguese"); // Definição const int maxproteina=150, maxlipidios=150, maxcarboidratros=150, maxenergia=2000, maxgordurasT=100; const int maxgordurasS=25, maxcolesterol=150, maxfibra=30, maxcalcio=800, maxferro=14, maxsodio=2400; // Variação char nome_nutriente[50]; int maxnutriente[11], quant_nutriente[11], i = 1, valor_diario[11]; int proteinas, lipidios, carboidratos, energia, gordurasT, gordurasS, colesterol, fibra, ferro, sodio, calcio; int vdproteinas, vdlipidios, vdcarboidratos, vdenergia, vdgordurasT, vdgordurasS, vdcolesterol, vdfibra, vdferro, vdsodio, vdcalcio; char resposta = 'V'; int opcao = 0; // Estrutura do Programa //- Deve inserir os dados de cada nutriente, incluindo a quantidade máxima deste elemento for(i=1;i<12;i++){ printf("Digite o %iº nutriente: ", i); setbuf(stdin, NULL); scanf("%49[^\n]", nome_nutriente); printf("Digite a quantidade máxima de %s: ", nome_nutriente); scanf("%i", &maxnutriente); printf("Digite a quantidade apresentada de %s : ", nome_nutriente); scanf("%i", &quant_nutriente); valor_diario = ((quant_nutriente/maxnutriente)*100); printf("\n"); } system("cls"); system("Color A"); // Impressão de dados for(i=1;i<12;i++){ fflush(stdout); printf("| Nutriente: %s.\n", nome_nutriente); printf("| Quantidade máxima*: %i.\n", maxnutriente); printf("| Quantidade apresentada*: %i.\n", quant_nutriente); printf("| Valor diário do nutriente (porc.): %i%.\n", valor_diario); printf("=====================================================\n"); } return 0; } > Alguém poderia me ajudar?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!