Olá galera, sou iniciante em C, e estou criando um projeto para a faculdade para criar um sistema em C que possa registrar equipes e fazer um ranking de acordo com os resultados de acordo com um campeonato que iremos participar.
Não consigo ver erros nesse código, e porém ao imprimir o ponteiro me retorna uns valores bizarros e não realmente o que está realmente alocado dentro do malloc em nomeEquipe.
o que estou fazendo de errado?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10
struct lancamento{
char nomeEquipe[50];
int numeroTentativas;
int distanciaAlvo;
int situacao;
};
struct sucesso{
char nomeEquipe[50];
int distanciaAlvo;
int numeroTentativas;
};
void cadastraEquipe(struct lancamento *equipes){
printf("INFORME O NOME DA EQUIPE: ");
fflush(stdin);
gets(equipes->nomeEquipe);
equipes->numeroTentativas = 0;
equipes->distanciaAlvo = 0;
equipes->situacao = 0;
}
void menu(){
int escolha, i, numEquipes;
char ver_opt;
struct lancamento *equipes;
equipes = (struct lancamento*) malloc(sizeof(struct lancamento)* MAX);
system("color F0");
printf("******************** MENU ********************\n");
printf(" *\n");
printf(" [1] - CADASTRAR EQUIPES(MAX 10) *\n");
printf(" [2] - LISTAR EQUIPES CADASTRADAS *\n");
printf(" [5] - SAIR *\n");
printf(" *\n");
printf("***************************************** *\n");
printf("DIGITE A OPCAO: ");
scanf("%d", &escolha);
switch (escolha)
{
case 1:
system("cls");
for(i= 0; i<MAX;)
{
printf("REGISTRO DA EQUIPE:\n");
cadastraEquipe(&equipes);
printf("DESEJA CADASTRAR OUTRA EQUIPE?: S/N?");
scanf("%c", &ver_opt);
if((ver_opt =='N') || (ver_opt=='n'))
{
system("cls");
escolha = NULL;
menu();
}else{
i++;
}
}
break;
case 5:
printf("OBRIGADO POR UTILIZAR NOSSO SISTEMA\n");
exit(1);
break;
case 2:
for(i = 0 ; i<MAX; i++)
{
printf("Nome da Equipe :%s\n", (*equipes).nomeEquipe);
}
break;
default:
printf("OPCAO INVALIDO\n");
system("pause");
system("cls");
return menu();
break;
}
}
int main(){
menu();
}