Ir ao conteúdo
  • Cadastre-se

Passagem de parâmetro usando struct


Oberdan

Posts recomendados

Bom dia pessoal, estou com problema na passagem de parâmetro usando um vetor struct, na hora de referenciar essa passagem e que esta dando erro, estou fazendo um exemplo da tabela do brasileirão, estou começando e me deparei com esse problema, desde de já agradeço! vou colocar em baixo o código, e vou inserir em anexo também.

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
 
void menuPrincipal();
void cadastroTimes(struct time TIMES);
void ordenarNomes(time TIMES);
//void exibirTabela();
 
struct time{
char nome[50];
char cid[50];
int pontos,s_gols,vitorias,classif,jogos;
int empates,derrotas;
};
 
int main(){
setlocale(LC_ALL, "Portuguese");
system("color F0");
menuPrincipal();
}
void menuPrincipal(){
 
struct time TIMES[2];
int opcao;
do{
 
printf("\n\t\t******************************************");
printf("\n\t\t*         CAMPENOATO BRASILERIO          *");
printf("\n\t\t******************************************");
printf("\n\t\t*                  MENU                  *");
printf("\n\t\t*----------------------------------------*");
printf("\n\t\t* [1] - Cadastrar times                  *");
printf("\n\t\t* [2] - Imprimir                         *");//alterar pontos dos times, saldo de gols
printf("\n\t\t* [3] - Exibir Tabela                    *");
printf("\n\t\t* [4] - Resultados                       *");
printf("\n\t\t* [5] - Sair                             *");
printf("\n\t\t******************************************\n\t");
printf("\nDigite sua OPÇÃO:");
scanf("%d", &opcao);
 
     switch (opcao){
          case 1:
              system("cls");
               cadastroTimes(struct time TIMES);
               break;
        case 2:
         int i;
      printf("\n**GRAVADO NO VETOR**\n");
for(i=0;i<2;i++){
 
printf("\nTime: %s", TIMES.nome);
printf("\nCidade do Time: %s", TIMES.cid);
printf("\n Saldo de gols; %d", TIMES.s_gols);
printf("\n Jogos; %d", TIMES.jogos);
printf("\n Vitorias; %d", TIMES.vitorias);
 
}         
             break;
        case 3:
//              exibirTabela();
              break;
        case 4:
            
            break;
        case 5:
              break;
    }
    }while(opcao != 5);
}
void cadastroTimes(struct time TIMES ){
 
struct time TIMES[2];
int i;
 
for(i=0;i<2;i++){
printf("\n Cadastrando Times!!!\n");
fflush(stdin);
printf("\nTime %d:", i+1);
gets(TIMES.nome);
printf("Cidade do Time:%d:", i+1);
gets(TIMES.cid);
printf("\n");
TIMES.s_gols=0;
TIMES.jogos=0;
TIMES.vitorias=0;
}
printf("\n**GRAVADO NO VETOR**\n");
for(i=0;i<2;i++){
 
printf("\nTime: %s", TIMES.nome);
printf("\nCidade do Time: %s", TIMES.cid);
printf("\n Saldo de gols; %d", TIMES.s_gols);
printf("\n Jogos; %d", TIMES.jogos);
printf("\n Vitorias; %d", TIMES.vitorias);
 
}
}
 
/*
    FILE *fp;
 
    fp = fopen("times.txt","wb");
 
    printf("\n\t Nome de Time: ");
    scanf("%s", &cad.nome);
   
    printf("\n\t Cidade do Time: ");
    scanf("%s", &cad.cid);
 
    fwrite (&cad, sizeof(cad),1,fp);
    fclose(fp);
    printf("Cadastro efetuado com sucesso!\t\n");
    system("pause");
system("cls");
    menuPrincipal();
}*/
 
/*void exibirTabela(){
FILE *fp;
 
fp = fopen("times.txt", "r");
 
if (fp == NULL){
printf("\n\t0000203#94903&3549s1 Error...\n\n");
exit(EXIT_FAILURE);
}
while(!feof(fp)){
printf("%c");
}
printf("\n\n\ ");
system("pause");
}
*/
 
void ordenarNomes(time TIMES){
char temp[30];
printf("=================================\n");
    printf("Ordenando por nome");       
    struct time TIMES[2];          
    //ordena
     for(i = 1; i < soma; i++){
         for (j = 0; j < soma-1; j++){
                       
              if(strcmp(TIMES[j].nome,TIMES[j+1].nome) > 0){
                strcpy(temp,TIMES[j].nome);
                 strcpy(TIMES[j].nome,TIMES[j+1].nome);
                 strcpy(TIMES[j+1].nome,temp);}                               
           }      
         }
                      
     //imprime                   
      for(i=0;i<soma;i++){ 
      printf("\n");   
      printf("nome = %s\n",vet.nome);}}
                     
}
 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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