Ir ao conteúdo
  • Cadastre-se

Estefani Fujimoto

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por Estefani Fujimoto

  1. Estou cursando Análise e Desenvolvimento de Sistemas e estamos entrando na parte de funções e ponteiros na linguagem C.
    A professora passou o seguinte exercício:
    1)Crie uma struct para armazenar os dados (nome, idade, posição, numero_camisa) dos jogadores de vôlei de um time. Crie duas estruturas para armazenar os jogadores principais e os reservas. Desenvolva um programa em que o usuário consiga entrar com os jogadores principais (seis) e reservas(4) e mostre-os na tela. Para facilitar a entrada de dados, utilize um menu.

    Estou utilizando o Dev C++, fiz o código que vou postar abaixo. Ele compilou, mas na hora que seleciono uma opção do menu, ele da erro no compilador e fecha.
    Poderiam me dar uma forcinha e dizer o que está acontecendo? Se tiverem dicas para melhorar o código também, serei toda ouvidos.
    Tenho uma dúvida também, no caso se eu quiser salvar estes dados em um txt e consultar esses dados dps, como faço?

    Segue o código:

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    
    struct timeprincipal
    {
      char nome[20], cidade[15], posicao[30];
      int ncamisa;
    };
    struct jogreserva
    {
      char nome[20], cidade[15], posicao[30];
      int ncamisa;
    };
    
    
    int main(int argc, char *argv[])
    {
     	setlocale (LC_ALL, "PORTUGUESE");
    int i, op;
    	void cadastroPrincipal();
    	void cadastroReserva();
    	void mostraPrincipal();
    	void mostraReserva();
    	int menu();
    while ((op = menu()) != 4)
    {
     	  switch (op)
    	  {
    	   		 case 1: 
    			 	  	 cadastroPrincipal();
    			 	  	 break;
    			 case 2:
    			 	  	 cadastroReserva();
    			 	  	 break;
    			 case 3:
    			 	  	 mostraPrincipal();
    					 break;
    			 case 4:
    					 mostraReserva();
    					 break;
    			 case 5:
    			 	  	 break;
    			 default:
    			 		printf ("Opção inválida. Tente novamente! ");
    					scanf ("%d", &op);
    		}
    }
      
      system("PAUSE");	
      return 0;
    }
    int menu ()
    {
     	 int opções;
    	 system ("cls");
     	 printf ("Escolha a opção desejada:\n");
    	 printf ("a) Digite [1] para cadastrar jogadores do time principal.\n");
    	 printf ("b) Digite [2] para cadastrar jogadores da reserva.\n");
    	 printf ("c) Digite [3] para listar jogadores do time principal cadastrados.\n");
    	 printf ("d) Digite [4] para listar jogadores reservas cadastrados.\n");
    	 printf ("e) Digite [5] para sair.\n");
    	 scanf ("%d", opções);
    	 return opções;
    
    }
    void cadastroPrincipal ()
    {
    	 struct timeprincipal jogprin[6];
    	 int i;
    	 printf ("CADASTRO DO TIME PRINCIPAL\n");
    	 for (i=0 ; i<6 ; i++)
     	 {
    	 	 printf ("Digite o nome do jogador: ");
    		 fflush (stdin);
    		 gets (jogprin[i].nome);
    		 printf ("\nDigite a cidade do jogador: ");
    		 fflush (stdin);
    		 gets (jogprin[i].cidade);
    		 printf ("\nQual a posição do jogador? ");
    		 fflush (stdin);
    		 gets (jogprin[i].posicao);
    		 printf ("Digite o número da camisa do jogador: ");
    		 scanf ("%d", &jogprin[i].ncamisa);
    		 system ("cls");
    		  }
    }
    void cadastroReserva ()
    {
     	 struct jogreserva reservas[4];
     	 int i;
     	 printf ("CADASTRO DE JOGADORES DA RESERVA\n");
     	 for (i=0 ; i<4 ; i++)
     	 {
    	 	 printf ("Digite o nome do jogador: ");
    		 fflush (stdin);
    		 gets (reservas[i].nome);
    		 printf ("\nDigite a cidade do jogador: ");
    	 	 fflush (stdin);
    		 gets (reservas[i].cidade);
    		 printf ("\nQual a posição do jogador? ");
    		 fflush (stdin);
    		 gets (reservas[i].posicao);
    		 printf ("Digite o número da camisa do jogador: ");
    		 scanf ("%d", &reservas[i].ncamisa);
    		 system ("cls");
    		 }
    }
    void mostraPrincipal()
    {
     int i;
     struct timeprincipal jogprin[6];
     	 printf ("LISTA DE JOGADORES CONVOCADOS TIME PRINCIPAL\n");
    	 for (i=0 ; i<6 ; i++)
    	 {
    	  	 printf ("\nNome: %s", jogprin[i].nome);
    	  	 printf ("\nCidade: %s", jogprin[i].cidade);
    	  	 printf ("\nPosição: %s", jogprin[i].posicao);
    	  	 printf ("\nNº da camisa: %d", jogprin[i].ncamisa);
    		 }
    }
    void mostraReserva()
    {
     int i;
     struct jogreserva reservas[4];
     	 printf ("LISTA DE JOGADORES RESERVA\n");
    	 for (i=0 ; i<4 ; i++)
    	 {
    	  	 printf ("\nNome: %s", reservas[i].nome);
    	  	 printf ("\nCidade: %s", reservas[i].cidade);
    	  	 printf ("\nPosição: %s", reservas[i].posicao);
    	  	 printf ("\nNº da camisa: %d", reservas[i].ncamisa);
    		 }
    }
    

     

  2. Estou fazendo uma coletânea de exercícios, e no citado abaixo está dando erro na média de altura das mulheres. Podem me dar uma forcinha?

    Escreva um algoritmo que leia um conjunto de 50 fichas, cada uma contendo a altura e o sexo de uma pessoa (1 = masculino e 2 = feminino), e calcule e imprima:

    • A maior e a menor altura da turma;

    • A média de altura da mulheres;

    • A média de altura da turma.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
     	int sexo[4], i=0, j=0, k=0, quantmulheres=0;
     	float altura[4], maior, menor, mediamulheres=0, mediaturma=0, somamulheres;
       	for ( i = 0 ; i <4; i++){	
     		printf ("Selecione o sexo:\n");
    		printf ("a)[1] para masculino.\n");
    		printf ("b)[2] para feminino.\n");
    		scanf ("%d", &sexo[i]);
    		switch (sexo[i])
    		{
    		 	   case 1: 
    			   		printf ("Digite a altura:\n");
    			   		scanf ("%f", &altura[j]);
    			   		mediaturma = mediaturma + altura[j]/4;
    			   		if (k == 0){
    			   			  	maior = altura[j];
    			   				menor = altura[j];
    				   			k++;
    							}
    							else if (altura[j]>maior){
    							 	 maior = altura[j];
    								 }
    								 else if(altura[j]<menor){
    								 	  menor = altura[j];
    									  }
    									  break;
                  	case 2:
    			   		printf ("Digite a altura:\n");
    			   		scanf ("%f", &altura[j]);
    			   		quantmulheres = quantmulheres + 1;
    			   		mediaturma = mediaturma + altura[j]/4;
    			   		somamulheres = somamulheres + altura[j];
    			   		mediamulheres =mediamulheres + somamulheres/quantmulheres;
    			   		if (k == 0){
    					   	  
    			   			  	maior = altura[j];
    			   				menor = altura[j];
    				   			k++;
    							}
    							else if (altura[j]>maior){
    							 	 maior = altura[j];
    								 }
    								 else if(altura[j]<menor){
    								 	  menor = altura[j];
    									  }	
    									  break;
    		}
    	}
    printf ("A maior altura da turma e de: %.2f \n", maior);	
    printf ("A menor altura da turma e de: %.2f \n", menor);
    printf ("A media de altura da turma e de: %.2f \n", mediaturma);
    printf ("A media de altura das mulheres da turma e de: %.2f \n", mediamulheres);			 
    								 
    								 
     	
     	
      
      system("PAUSE");	
      return 0;
    }

     

    • Curtir 1

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!