Ir ao conteúdo
  • Cadastre-se

Estefani Fujimoto

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

2
  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; }

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...