Ir ao conteúdo

Posts recomendados

Postado
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define TAM 100
#include <locale.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct tipo_imc {
	char nome[50];
	int freq;
	int intenc;
	int dura;
};
struct tipo_imc imc[TAM]; 

int menu(); 
void CADASTRAMENTO(void);
void PESQUISA(void);
void LISTAR(void);
void intencidade(void);
void frequenc(void);


int continuar;
int cont=0;


int main() {
	
    char bvnome[40];  
    int i;
    int opções;
    do{                 
        opções=menu(); // chamada da função MENU
    	switch(opções){
            case 1:
                 CADASTRAMENTO(); 
                 break;
            case 2:
                 system("cls");
                 LISTAR();  
                 system("pause");
                 break;
            case 3:
                 PESQUISA();     
                 break;           
            case 4:
                 exit(0);
                 break;
                        }
            }while(opções!=4);           
            printf("\n\n");
	
	return 0;
}

int menu(void){ 
	int a;  
  	do{    
     	system("cls");
    	printf("\n\n");   
   		printf("\t\t [MENU] \n\n");
		printf("1-   [CADASTRAMENTO DE DADOS]\n");
	    printf("2-   [LISTAR]\n");
	    printf("3-   [PESQUISAR]\n");
	    printf("4-   [SAIR]\n");       
	    printf("\n\n");
        scanf("%d",&a);
   
     }
     while((a<1) || (a>4));
    
 return a;    
}

void CADASTRAMENTO(){
 system("cls");
 int i;
     
    if(cont < TAM){
    	for(i=0; i<TAM; i++){    		
        printf("\tCADASTRAMENTO\n");
        printf("\tDE  DADOS\n\n");
                      
        printf("Por favor, preencha os campos abaixo: \n\n");                          
         //~~~~~~~~~~~~~~~~~~~~
        fflush(stdin); //Limpar Buffer do Teclado
        printf("\n\n");
        			  printf(" Nome completo :   ");
                      gets(imc[i].nome);
                      printf("\n\n");
                     //~~~~~~~~~~~~~~~~~~~~
                     system("cls");
                     printf("\t\t[INTENSIDADE]\n\n");
                   	 printf("[5] Pesada - Respiração pesada e sustentada por toda a atividade com forte transpiração após alguns minutos (como corre um pouco abaixo ou na intensidade máxima).\n");	
					 printf("[4] Pesada intermitente - Respiração pesada intermitente com transpiração média (como no tênis).\n");
				  	 printf("[3] Moderadamente pesada - Respiração moderada constante (como no ciclismo).\n");
					 printf("[2] Moderada - Respiração um pouco acima da normal, com picos de respiração moderada (como no vôlei).\n");
					 printf("[1] Leve - Respiração constante um pouco acima da normal (Como na caminhada).\n");
					 scanf("%d",&imc[i].intenc);
					 printf("\n\n");					 
                     //~~~~~~~~~~~~~~~~~~~~
                     system("cls");
                     printf("\t\t[DURAÇÂO]\n");
					 printf("[4] Acima de 30 min\n");
					 printf("[3] 20 a 30 min\n");
					 printf("[2] 10 a 20 min\n");
					 printf("[1] Abaixo de 10 min\n\n");
					 scanf("%d",&imc[i].dura);
                     //~~~~~~~~~~~~~~~~~~~~
                     printf("\n\n");
                     //~~~~~~~~~~~~~~~~~~~~
                     system("cls");
                     printf("\t\t[FREQÜÊNCIA]\n\n");
					 printf("[5] Diariamente ou 6 vezes por semana\n");
					 printf("[4] 3 a 5 vezes por semana\n");
					 printf("[3] 1 a 2 vezes por semana\n");
					 printf("[2] Poucas vezes ao mês\n");
					 printf("[1] Uma ou menos vezes por mês\n");
					 scanf("%d",&imc[i].freq);
                     //~~~~~~~~~~~~~~~~~~~~

                     printf("\n\n");
                     //~~~~~~~~~~~~~~~~~~~~
                     system("cls");
                     printf("\n\n");
                     printf("\t    Cadastro concluido com sucesso!   ");
					 printf("\n\n");
                     system("PAUSE");
                     
                     printf("\n\n");
                     system("cls"); 
                   
                     cont++;
                     break;
        }            
	}	
	if(cont < TAM){
    	system("cls");
    	printf("\t\tDeseja continuar?   \n\n");
    	printf(" 1 - Sim   \n\n 2 - não\n\n");
    	scanf("%d",&continuar);
   	 	
			while(continuar!=1 && continuar!=2){
        	system("cls");
       	 	printf("\t\tDeseja continuar?   \n\n");
       	 	printf(" 1 - Sim   \n\n 2 - não\n\n");
        	scanf("%d",&continuar);                   
       	 }
    	if(continuar==1){
    		CADASTRAMENTO();
    	}
	}
		if(cont == TAM)
              {
               printf("\n\n No momento, memoria esta cheia! \n\n");
               system("pause");
              } 
}

void PESQUISA() // FUNÇÃO  PESQUISA
     {
     int i;
     char nome_busca[50];
     int nao_tem=999;
     system("cls");
     fflush(stdin); //Limpar Buffer do Teclado
     printf(" Informe o [Nome Completo] %c   ",26);
     gets(nome_busca);
           
    for(i=0; i<TAM; i++){ 
      if(strcmp(imc[i].nome,nome_busca)==0){ // So vai listar as Fichas com os Nomes iguais aos digitados.
      	int score = imc[i].dura * imc[i].freq * imc[i].intenc;
        printf(" ------------------------------------------------------------------\n");                        
        printf(" Nome Completo:  %s",imc[i].nome);                          
        printf("\n\n");
        if (score){
        	if (score== 80 >= 100){
			printf("\tEscore\n\n80 a 100   \tAvaliação\n\n[Estilo de vida muito ativo]    \tCategoria de Capacidade Física\n\n[Alta]\n");
			}
        	else if (score == 60 >= 79 ){
        		printf("\tEscore\n\n[60 a 79]	\tAvaliação\n\n[Ativo e saudável]\n	\tCategoria de Capacidade Física\n\n[Muito boa]\n");
			}else if(score == 40 >= 59 ){
				printf("\tEscore\n\n[40 a 59]	\tAvaliação\n\n[Aceitável (poderia ser melhor)]\n	\tCategoria de Capacidade Física\n\n[Boa]\n");
			}else if(score == 20 >= 39){
				printf("\tEscore\n\n[20 a 39]	\tAvaliação\n\n[Não suficientemente boa]\n	\tCategoria de Capacidade Física\n\n[Pobre]\n");
			}else if(score == 0 >= 20){
				printf("\tEscore\n\n[Menor que 20]	\tAvaliação\n\n[Sedentário]\n	\tCategoria de Capacidade Física\n\n[Muito Pobre]\n");
			}	
		}        
        printf("");
        printf(" ------------------------------------------------------------------\n");  
        nao_tem=0;
      }
    }
    if(nao_tem==999){
      system("cls");
      printf("\n  não foi encontrado nenhum dado correspondente. \n\n");
      printf("  Certifique-se de que todas as palavras estejam escritas corretamente.\n\n\n\n\n\n");
    }
    system("PAUSE");                
    system("cls");
    printf("\t\tDeseja continuar?   \n\n");
    printf(" 1 - Sim   \n\n 2 - não\n\n");
    scanf("%d",&continuar);
    
    while(continuar!=1 && continuar!=2){    
    system("cls");
    printf("\t\tDeseja continuar?   \n\n");
    printf(" 1 - Sim   \n\n 2 - não\n\n");
    scanf("%d",&continuar);                   
    }
    if(continuar==1){    
    PESQUISA();
    } 
    system("cls");
}
//'''''''''''''''''''
void EXCLUIR(void) // FUNÇÃO  EXCLUIR
{
                   
     int i,a;
     char nome_busca[50];
     
     
     system("cls");  
     printf("\n\n\t\t[EXCLUIR]\n\n");
     printf("\n\n");
     fflush(stdin); //Limpar Buffer do Teclado
     printf(" Informe o <Nome Completo> %c   ",26);
     
     int nao_tem=999;
     gets(nome_busca);


            for(i=0; i<TAM; i++)
            {
                     if(!strcmp(imc[i].nome,nome_busca)) 
                      {
                       nao_tem=0;
                       system("cls");
                       printf("\n\n   Exclus%co concluida com sucesso! \n\n\n");
                      
                       printf("\n\n");
                       printf("\n\n");
                      
                       cont--;
                       }

            }
            
     if(nao_tem==999)
     {
     system("cls");
     printf("\n  não foi encontrado nenhum dado correspondente. \n\n");
     printf("  Certifique-se de que todas as palavras estejam escritas corretamente.\n\n\n\n\n\n");
     }
                             
     system("PAUSE");                
     system("cls");
     printf("\t\tDeseja continuar?   \n\n");
     printf(" 1 - Sim   \n\n 2 - não\n\n");
     scanf("%d",&continuar);
     while(continuar!=1 && continuar!=2)
             {
             system("cls");
             printf("\t\tDeseja continuar?   \n\n");
             printf(" 1 - Sim   \n\n 2 - não\n\n");
             scanf("%d",&continuar);                   
             }

     if(continuar==1){
                      EXCLUIR();
                      }         
     system("CLS");                            
}

Crie um programa em C++ que calcule o índice de atividade física de uma pessoa, utilize a imagem abaixo como referencia para os parâmetros de cada um dos indivíduos que utilizar seu programa.

Pergunte o nome do usuário e realize as perguntas abaixo:

Screenshot 2019-09-30 at 22.45.07.png

  • Obrigado 1
Postado
8 minutos atrás, KXSY disse:

Vamos lá

isso e C puro, não tem nada de C++.

 

O seu maior erro foi esse escrever opções com ç e ~ isso são caracteres especiais, que não são permitidos em C.

de uma olhada no livro C Completo e total na pagina 32 que explica melhor.

 

também tem vários erros por causa do gets que não e mais implementados nas versões mais novas do GCC para isso utilize o fgets().

 

recomendo usar a linha de comando e o GCC ou esse compilador online repl.it e também recompilar o programa varias vezes ao invés de fazer tudo e compilar só uma vez.

no caso do 

 int opções

foi equivoco meu, por conta do corretor automático. 

 

e se utilizar o < fgets () > ele precisa de um FILE*

  • Curtir 1
Postado
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define TAM 100
#include <locale.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct tipo_imc {
	char nome[50];
	long int cod;
	int freq;
	int intenc;
	int dura;
};
struct tipo_imc imc[TAM]; 

int menu(); 
void CADASTRAMENTO(void);
void PESQUISA(void);
void LISTAR(void);
void intencidade(void);
void frequenc(void);


int continuar;
int cont=0;


int main() {
	setlocale(LC_ALL, "Portuguese");
    int j;
    char* times;
    char bvnome[40];  
    int i;
    for(j=0; j<TAM; j++)
        {
        imc[j].cod=7777777;  // Prenchendo os campos de TELEFONE com 7777777 para indicar AGENDA COM ESPAÇO VAZIO
        } 
    int opções;
    do{                 
        opções=menu(); // chamada da função MENU
    	switch(opções){
            case 1:
                 CADASTRAMENTO(); 
                 break;
            case 2:
                 system("cls");
                 LISTAR();  
                 system("pause");
                 break;
            case 3:
                 PESQUISA();     
                 break;           
            case 4:
                 exit(0);
                 break;
                        }
            }while(opções!=4);           
            printf("\n\n");
	
	return 0;
}

int menu(void){ 
	int a;  
  	do{    
     	system("cls");
    	printf("\n\n");   
   		printf("\t\t\t [MENU] \n\n");
		printf("1-   [CADASTRAMENTO DE DADOS]\n");
	    printf("2-   [LISTAR]\n");
	    printf("3-   [PESQUISAR]\n");
	    printf("4-   [SAIR]\n");       
	    printf("\n\n");
        scanf("%d",&a);
   
     }
     while((a<1) || (a>4));
    
 return a;    
}

void CADASTRAMENTO(){
 system("cls");
 int i;
     
    if(cont < TAM){
    	for(i=0; i<TAM; i++){ 
		if(imc[i].cod==7777777){				
        	printf("\tCADASTRAMENTO\n");
        	printf("\t  DE  DADOS\n\n");                      
        	printf("Por favor, preencha os campos abaixo: \n\n");                          
         //~~~~~~~~~~~~~~~~~~~~
        	fflush(stdin); //Limpar Buffer do Teclado
        	printf("\n\n");
        	printf(" Nome completo :   ");
            gets(imc[i].nome);
            printf("\n\n");
        //~~~~~~~~~~~~~~~~~~~~
        	printf("\n\n");
                     printf(" Código :   ");
                    
                     do{
                        scanf("%d",&imc[i].cod);
                        }while(imc[i].cod==7777777);
        //~~~~~~~~~~~~~~~~~~~~
            system("cls");
            printf("\t\t[INTENSIDADE]\n\n");
            printf("Qual a intencidade que você faz os exercicios?\n\n");
            printf("\n[5]- Pesada - Respiração pesada e sustentada por toda a atividade com forte transpiração após alguns minutos (como corre um pouco abaixo ou na intensidade máxima).\n");	
			printf("[4]- Pesada intermitente - Respiração pesada intermitente com transpiração média (como no tênis).\n");
			printf("[3]- Moderadamente pesada - Respiração moderada constante (como no ciclismo).\n");
			printf("[2]- Moderada - Respiração um pouco acima da normal, com picos de respiração moderada (como no vôlei).\n");
			printf("[1]- Leve - Respiração constante um pouco acima da normal (Como na caminhada).\n");
			printf("\n\n");
			scanf("%d",&imc[i].intenc);
			printf("\n\n");					 
            //~~~~~~~~~~~~~~~~~~~~
            system("cls");
            printf("\t\t[DURAÇÂO]\n");
            printf("Qual a duração dos seus exercicios?\n\n");
			printf("[4]- Acima de 30 min\n");
			printf("[3]- 20 a 30 min\n");
			printf("[2]- 10 a 20 min\n");
			printf("[1]- Abaixo de 10 min\n\n");
			printf("\n\n");
			scanf("%d",&imc[i].dura);
			//~~~~~~~~~~~~~~~~~~~~
			
            printf("\n\n");
            //~~~~~~~~~~~~~~~~~~~~
            system("cls");
            printf("\t\t[FREQÜÊNCIA]\n\n");
            printf("Qual a frequência que faz os exercicios?\n\n");
			printf("[5]- Diariamente ou 6 vezes por semana\n");
			printf("[4]- 3 a 5 vezes por semana\n");
			printf("[3]- 1 a 2 vezes por semana\n");
			printf("[2]- Poucas vezes ao mês\n");
			printf("[1]- Uma ou menos vezes por mês\n");
			printf("\n\n");
			scanf("%d",&imc[i].freq);
        //~~~~~~~~~~~~~~~~~~~~

            printf("\n\n");
        //~~~~~~~~~~~~~~~~~~~~
            system("cls");
            printf("\n\n");
            printf("\t    Cadastro concluido com sucesso!   ");
			printf("\n\n");
            system("PAUSE");
            printf("\n\n");
            system("cls"); 
                   
            cont++;
            break;
           } 
		}
	}	
	if(cont < TAM){
    	system("cls");
    	printf("\t\tDeseja continuar?   \n\n");
    	printf(" 1 - Sim   \n\n 2 - não\n\n");
    	scanf("%d",&continuar);
   	 	
			while(continuar!=1 && continuar!=2){
        	system("cls");
       	 	printf("\t\tDeseja continuar?   \n\n");
       	 	printf(" 1 - Sim   \n\n 2 - não\n\n");
        	scanf("%d",&continuar);                   
       	 }
    	if(continuar==1){
    		CADASTRAMENTO();
    	}
	}
		if(cont == TAM)
              {
               printf("\n\n No momento, memoria esta cheia! \n\n");
               system("pause");
              } 
}

void PESQUISA() // FUNÇÃO  PESQUISA
     {
     int i;
     char nome_busca[50];
     int nao_tem=999;
     system("cls");
     fflush(stdin); //Limpar Buffer do Teclado
     printf(" Informe o [Nome Completo] %c   ",26);
     gets(nome_busca);
           
    for(i=0; i<TAM; i++){
	if(imc[i].cod!=7777777){     
	      if(strcmp(imc[i].nome,nome_busca)==0){ // So vai listar as Fichas com os Nomes iguais aos digitados.
	      	int score = imc[i].dura * imc[i].freq * imc[i].intenc;
	         printf(" ------------------------------------------------------------------\n");                        
	         printf(" Nome Completo:  %s",imc[i].nome);                          
	         printf("\n\n");
	         printf(" Código: %d",imc[i].cod);
	         printf("\n\n");
	       	 printf(" Escore: %d",score);
			 printf("\n\n");
			 	        
	        printf("");
	        printf(" ------------------------------------------------------------------\n");  
	        nao_tem=0;
    	  }
    	}
	}
    if(nao_tem==999){
      system("cls");
      printf("\n  não foi encontrado nenhum dado correspondente. \n\n");
      printf("  Certifique-se de que todas as palavras estejam escritas corretamente.\n\n\n\n\n\n");
    }
    system("PAUSE");                
    system("cls");
    printf("\t\tDeseja continuar?   \n\n");
    printf(" 1 - Sim   \n\n 2 - não\n\n");
    scanf("%d",&continuar);
    
    while(continuar!=1 && continuar!=2){    
    system("cls");
    printf("\t\tDeseja continuar?   \n\n");
    printf(" 1 - Sim   \n\n 2 - não\n\n");
    scanf("%d",&continuar);                   
    }
    if(continuar==1){    
    PESQUISA();
    } 
    system("cls");
}
//'''''''''''''''''''
void EXCLUIR(void) // FUNÇÃO  EXCLUIR
{
                   
     int i,a;
     char nome_busca[50];
     
     
     system("cls");  
     printf("\n\n\t\t[EXCLUIR]\n\n");
     printf("\n\n");
     fflush(stdin); //Limpar Buffer do Teclado
     printf(" Informe o <Nome Completo> %c   ",26);
     
     int nao_tem=999;
     gets(nome_busca);


            for(i=0; i<TAM; i++)
            {
                     if(!strcmp(imc[i].nome,nome_busca)){
                       imc[i].cod=7777777; 
                       nao_tem=0;
                       system("cls");
                       printf("\n\n   Exclusão concluida com sucesso! \n\n\n");
                      
                       printf("\n\n");
                       printf("\n\n");
                      
                       cont--;
                       }

            }
            
     if(nao_tem==999)
     {
     system("cls");
     printf("\n  não foi encontrado nenhum dado correspondente. \n\n");
     printf("  Certifique-se de que todas as palavras estejam escritas corretamente.\n\n\n\n\n\n");
     }
                             
     system("PAUSE");                
     system("cls");
     printf("\t\tDeseja continuar?   \n\n");
     printf(" 1 - Sim   \n\n 2 - não\n\n");
     scanf("%d",&continuar);
     while(continuar!=1 && continuar!=2)
             {
             system("cls");
             printf("\t\tDeseja continuar?   \n\n");
             printf(" 1 - Sim   \n\n 2 - não\n\n");
             scanf("%d",&continuar);                   
             }

    if(continuar==1){
        EXCLUIR();
    }         
     system("CLS");                            
}
void LISTAR(void) // FUNÇÃO LISTAR
{
     
     printf(" ------------------------------------------------------------------\n"); 
     printf("\n\n");
    
     int i;
     int nao_tem=999;
     for(i=0; i<TAM; i++)
     {
                     if(imc[i].cod!=7777777){
					 printf(" Nome Completo:  %s \n",imc[i].nome);
                     printf(" ------------------------------------------------------------------\n"); 
                     printf("\n");
                     nao_tem=0;
                     }
                     
      }
            
     if(nao_tem==999)
     {
     system("cls");
     printf("\n  não foi encontrado nenhum dado correspondente. \n\n");
     printf("  Certifique-se de que todas as palavras estejam escritas corretamente.\n\n\n\n\n\n");
     }
            
     system("PAUSE");
     system("cls");
}

No caso consegui resolver ele para (funcionar),mas a parte de FILE* que não consigo entender onde posso adicionar ela

  • Obrigado 1
Postado

@Shifther         FILE  eh para criar arquivo , para caso voce queira preservar os dados digitados  e algum tempo depois pegar esses dados no arquivo ,   o fgets serve para pegar dados do srquivo  e do teclado tambem ,  mas nao gosto de usar ele pois ele pega tambem o caractere newline , e na hora de imprimir sempre pula uma linha para baixo ,  entao melhor usar mesmo o comando gets que pega tocos os caracteres digitados , mesmo uma frase inteira .

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!