Ir ao conteúdo
  • Cadastre-se

C++ Procurando um nome na matriz


Leonardo Naressi

Posts recomendados

#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h>
int main(){
	char jogador[5][5], nome[30], compara[30];
	int o, n, o2;// com float da errado por que?
	float jogos[o][n], gols[o][n],cartaoamarelo[o][n], cartaovermelho[o][n], km[o][n];

setlocale(LC_ALL,"portuguese");
while(o!=0)	
	{printf("Selecione o time:\n1 – Chapecoense\n2 – Portuguesa\n3 – Bragantinon\n4 – Juventude\n0 - Para sair\n");
		scanf("%i",&o);
		switch(o){
			case 1 :printf("Cadastre 5 jogadores: ");//cadastro de ate 5 jogadores
			for(n=0;n<1;n++){
			printf("Informe o nome do jogador: e tecle enter...\n");
				scanf("%s",&jogador[o][n]);
			printf("Informe o numero de jogos deste jogador: e tecle enter...\n");
				scanf("%i",&jogos[o][n]);
	   		printf("Informe o numero de gols deste jogador: e tecle enter...\n");
				scanf("%i",&gols[o][n]);
			printf("Informe o numero de cartoes amarelos: e tecle enter...\n");
				scanf("%i",&cartaoamarelo[o][n]);
 			printf("Informe o numero de cartoes vermelhos: e tecle enter...\n");
				scanf("%i",&cartaovermelho[o][n]);
			printf("Informe a distancia que ele correu: e tecle enter...\n");
				scanf("%f",&km[o][n]);
			}
				break;
				case 2 :printf("Cadastre 5 jogadores: ");//cadastro de ate 5 jogadores
				for(n=0;n<1;n++){
			printf("Informe o nome do jogador: e tecle enter...\n");
				scanf("%s",&jogador[o][n]);
			printf("Informe o numero de jogos deste jogador: e tecle enter...\n");
				scanf("%i",&jogos[o][n]);
	   		printf("Informe o numero de gols deste jogador: e tecle enter...\n");
				scanf("%i",&gols[o][n]);
			printf("Informe o numero de cartoes amarelos: e tecle enter...\n");
				scanf("%i",&cartaoamarelo[o][n]);
 			printf("Informe o numero de cartoes vermelhos: e tecle enter...\n");
				scanf("%i",&cartaovermelho[o][n]);
			printf("Informe a distancia que ele correu: e tecle enter...\n");
				scanf("%f",&km[o][n]);
			}
			break;
			case 3 :printf("Cadastre 5 jogadores: ");//cadastro de ate 5 jogadores
			for(n=0;n<1;n++){
			printf("Informe o nome do jogador: e tecle enter...\n");
				scanf("%s",&jogador[o][n]);
			printf("Informe o numero de jogos deste jogador: e tecle enter...\n");
				scanf("%i",&jogos[o][n]);
	   		printf("Informe o numero de gols deste jogador: e tecle enter...\n");
				scanf("%i",&gols[o][n]);
			printf("Informe o numero de cartoes amarelos: e tecle enter...\n");
				scanf("%i",&cartaoamarelo[o][n]);
 			printf("Informe o numero de cartoes vermelhos: e tecle enter...\n");
				scanf("%i",&cartaovermelho[o][n]);
			printf("Informe a distancia que ele correu: e tecle enter...\n");
				scanf("%f",&km[o][n]);
			}
				break;
				case 4 :printf("Cadastre 5 jogadores: ");//cadastro de ate 5 jogadores
				for(n=0;n<1;n++){
			printf("Informe o nome do jogador: e tecle enter...\n");
				scanf("%s",&jogador[o][n]);
			printf("Informe o numero de jogos deste jogador: e tecle enter...\n");
				scanf("%i",&jogos[o][n]);
	   		printf("Informe o numero de gols deste jogador: e tecle enter...\n");
				scanf("%i",&gols[o][n]);
			printf("Informe o numero de cartoes amarelos: e tecle enter...\n");
				scanf("%i",&cartaoamarelo[o][n]);
 			printf("Informe o numero de cartoes vermelhos: e tecle enter...\n");
				scanf("%i",&cartaovermelho[o][n]);
			printf("Informe a distancia que ele correu: e tecle enter...\n");
				scanf("%f",&km[o][n]);
		}
				break;
			case 0 : printf("Você concluiu o cadastro!\n\n");
				break;
				default: if(o!=0&&o!=1&&o!=2&&o!=3&&o!=4){//tive que colocar essa condiçao pois estava saindo ...
					printf("Opção nvalida!!!\n\n");}//"Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo
					break;
				}
			}
   	printf("Selecione a opção desejada:\n\n1 – Estatistica de um jogador\n 2 – Estatistica dos times\n3 – Estatistica do campeonato:\n0 - Para sair\n");
  		scanf("%i",&o2);
  		switch(o2){
  			case 1 : printf("\n\ninforme o nome deste jogador: ");
  			scanf("%s",&nome);
			  for(o=1;o<5;o++)
  				for(n=0;n>1;n++){
  			    if(strcmp(jogador[o][n],nome)==0){//usar string pra comparar
  			     printf("%s jogou %i partidas",jogador[o][n], jogos[o][n]);//94	32	C:\Users\User\Downloads\Trabalho G2 rodando.cpp	[Error] invalid conversion from 'char' to 'const char*' [-fpermissive]
  			     printf("%s marcou %i gols",jogador[o][n], gols[o][n]);
  			     printf("%s levou %i cartoes amarelos e %i vermelhos",jogador[o][n], cartaoamarelo[o][n], cartaovermelho[o][n]);
  			     printf("E a media de Km percorridos por jogo foi %f",jogador[o][n], km[o][n]/jogos[o][n]);
  			}
		}
	}
}
	

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Leonardo Naressi     seu código está bom , mas você está repetindo partes do código que não tem necessidade , e para pegar dados float precisa usar o f no scanf , e a matriz jogador precisa de mais uma dimensão para que ela receba string ( com mais de hum caractere ) , pois do jeito que você colocou ela só recebe char ( apenas hum caractere )  ,  lá em cima não é por que é float que não está dando certo não , é por que para declarar vetor / matriz precisa colocar o valor e como sua variável n não foi inicializada o vetor não a reconhece ,  então seu código com algumas modificações poderia ser assim  :

#include <stdio.h >
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h >
int main(){
	char jogador[5][5][30], nome[30], compara[30];
	int o=5, n=5, o2,j;                   /* com float da errado por que ? */
	float jogos[o][n],gols[o][n],km[o][n];/* declarar vetor precisa saber o valor */
	float cartaoamarelo[o][n],cartaovermelho[o][n];
    setlocale(LC_ALL,"portuguese");
    while( o!= 0){
        printf("Selecione o time:\n");
        printf("1 - Chapecoense\n"  );
        printf("2 - Portuguesa\n"   );
        printf("3 - Bragantinon\n"  );
        printf("4 - Juventude\n"    );
        printf("0 - Para sair\n"    );
        fflush(stdin);
		scanf("%d",&o               );
		if( o == 0){
            printf("Você concluiu o cadastro!\n\n");
            break;
		}
        else
            if(o<0 || o>4)                       /* tive que colocar essa condiçao pois estava saindo ...*/
                printf("Opção nvalida!!!\n\n"); /* "Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo */
            else{
                printf("Cadastre 5 jogadores:\n");/* cadastro de ate 5 jogadores */
                for(j=0;j<1;j++){                 /* está 1 mas depois de testar colocar 5 */
                    printf("nome do jogador %d : ",j+1);
                    fflush(stdin);
                    scanf("%s",jogador[o][j]);

                    printf("numero de jogos deste jogador %d : ",j+1);
                    fflush(stdin);
                    scanf("%f",&jogos[o][j]);

                    printf("quantidade de gols deste jogador %d : ",j+1);
                    fflush(stdin);
                    scanf("%f",&gols[o][j]);

                    printf("quantidade de cartoes amarelos : ");
                    fflush(stdin);
                    scanf("%f",&cartaoamarelo[o][j]);

                    printf("quantidade de cartoes vermelhos : ");
                    fflush(stdin);
                    scanf("%f",&cartaovermelho[o][j]);

                    printf("distancia que ele correu : ");
                    fflush(stdin);
                    scanf("%f",&km[o][j]);
            }
        }
    }
   	printf("Selecione a opção desejada:\n\n");
    printf("1 - Estatistica de um jogador\n");
    printf("2 - Estatistica dos times\n");
    printf("3 - Estatistica do campeonato:\n");
    printf("0 - Para sair\n");
   	fflush(stdin);
   	scanf("%d",&o2);
   	switch(o2){
   	    case 1 :
   	        printf("\n\ninforme o nome do jogador : ");
   	        fflush(stdin);
   	        scanf("%s",nome);
   	        for(o=0;o<5;o++){
                for(n=0;n<5;n++){
                    if(strcmp(jogador[o][n],nome)==0){/* usar string pra comparar */
                        printf("%s jogou  %.2f partidas\n",jogador[o][n], jogos[o][n]);/* 94	32	C:\Users\User\Downloads\Trabalho */
                                                                                       /* G2 rodando.cpp	[Error] invalid */
                                                                                       /*conversion from 'char' to 'const char*' [-fpermissive]*/
                        printf("%s marcou %.2f gols\n",jogador[o][n], gols[o][n]);
                        printf("%s levou  %.2f cartoes amarelos e %.2f vermelhos\n",jogador[o][n],
                                                       cartaoamarelo[o][n], cartaovermelho[o][n]);
                        printf("E a media de Km percorridos por jogo foi %.2f",km[o][n]/jogos[o][n]);
                    }
                }
	        }
    }
    printf("\n\n");
    getch();
    return 0;
}

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

#include <stdio.h >
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h >
	float media(float a1)
{
	float resultado=0;
 		resultado=a1/12;//media por doze pois é o total de partidas disputadas

    return resultado;
	}
int main(){
	char jogador[5][5][30], nome[30], compara[30];/*nome com ate 30 cracteres*/
	int o=5, n=5, o2,j=5;                   /* não esquecer de inicializar as posições */
	float jogos[o][n],gols[o][n],km[o][n], total;/*pois para declarar vetor precisa saber o valor */
	float cartaoamarelo[o][n],cartaovermelho[o][n];
    setlocale(LC_ALL,"portuguese");
    while( o!= 0){
        printf("Selecione o time:\n");
        printf("1 - Chapecoenses\n"  );
        printf("2 - Portuguesa\n"   );
        printf("3 - Bragantino\n"   );
        printf("4 - Juventude\n" );
        printf("0 - Para sair\n"    );
        fflush(stdin);
		scanf("%d",&o);
		if( o == 0){
            printf("Você concluiu o cadastro!\n\n");
            break;
		}
        else
            if(o<0 || o>4)   //se uma das opções for verdadeira executa                    
                printf("Opção nvalida!!!\n\n"); /* tive que colocar essa condiçao pois estava saindo ...*/
            else{								/* "Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo */
                printf("Cadastre 5 jogadores:\n");/* cadastro de ate 5 jogadores */
                printf("\n--------------------------------\n");
                for(j=0;j<5;j++){                 /* está 1 mas depois de testar colocar 5 */
                    printf("Nome do %d° jogador  : ",j+1);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&jogador[o][j])
                    gets(jogador[o][j]);//caso usuario digite o nome completo usando o espaço

                    printf("Numero de jogos disputados pelo jogador %s : ",&jogador[o][j]);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&jogos[o][j]);

                    printf("Quantidade de gols marcados pelo jogador %s : ",&jogador[o][j]);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&gols[o][j]);

                    printf("Quantidade de cartoes amarelos : ");
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&cartaoamarelo[o][j]);

                    printf("Quantidade de cartoes vermelhos : ");
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&cartaovermelho[o][j]);

                    printf("Distancia que %s correu : ",&jogador[o][j]);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&km[o][j]);
            }
        }
    }
    while( o2!= 0){
   	printf("Selecione a opção desejada:\n\n");
    printf("1 - Estatistica de um jogador\n");
    printf("2 - Estatistica de um time\n");
    printf("3 - Estatistica do campeonato:\n");
    printf("0 - Para sair\n");
   	fflush(stdin);//para limpar o "enter" da variavel e evitar erros
   	scanf("%d",&o2);
   	switch(o2){
   	    case 1 :
   	        printf("\n\ninforme o nome do jogador : ");
   	        fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
   	        gets(nome);//caso usuario digite o nome completo usando o espaço
   	        for(o=0;o<5;o++){
                for(n=0;n<5;n++){
                    if(strcmp(jogador[o][n],nome)==0){/* usar string pra comparar */
                        printf("%s jogou  %.2f partidas\n",jogador[o][n], jogos[o][n]);
                        printf("%s marcou %.2f gols\n",jogador[o][n], gols[o][n]);
                        printf("%s levou  %.2f cartoes amarelos e %.2f vermelhos\n",jogador[o][n],cartaoamarelo[o][n], cartaovermelho[o][n]);                             
                        printf("E a media de Km percorridos por jogo foi %.2f\n",km[o][n]/jogos[o][n]);
                        if(o==1){
                        	printf("\nEste jogador joga na chapeconse\n");
                        }
                        	if(o==2){
                        	printf("\nEste jogador joga na Portuguesa\n");
                        }
                        		if(o==3){
                        	printf("\nEste jogador joga na Bragantino\n");
                        }
                        		if(o==4){
                        	printf("\nEste jogador joga na Juventude\n");
                        }
                    }
                }
	        }
	        	 break;
	        case 2 ://neste caso quero mostrar as estatisticas de um time selecionadopelo usuario
	                //porém o programa esta encerrando no momento de executar esta opção
	                //o programa esta encerrando
	        	printf("selecione o time desejado:\n");
        		printf("1 - Chapecoense\n"  );
       			printf("2 - Portuguesa\n"   );
        		printf("3 - Bragantinon\n"  );
        		printf("4 - Juventude\n"    );
        		fflush(stdin);//para limpar o "enter" da variavel e evitar erros
   				scanf("%d",&o);
   				for(o=o;o==o;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+ gols[o][n];//tem como fazer esta soma de valores usando uma função?
                	 }		  
				}
				
					printf("O numero total de gols foi %f\n",total);	
				
				for(o=o2;o==o2;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaoamarelo[o][n];//tem como fazer esta soma de valores usando uma função?
                	}		
				}
					printf("O numero total de cartões amarelos foram %f\n",total);
					
				for(o=o2;o==o2;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaovermelho[o][n];//tem como fazer esta soma de valores usando uma função?
                	  }
				}
					printf("O numero total de cartões vermelhos foram %f\n",total);
					
					for(o=o2;o==o2;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+km[o][n];//tem como fazer esta soma de valores usando uma função?
                	}	
				}
					printf("O total da distancia percorrida foi  %.4f metros\n",total);
					
	 			break;
	 			
	 			case 3: //neste caso quero mostrar as estaticas do campeonato no teste que fiz executou corrretamente
				 for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+ gols[o2][n];//tem como fazer esta soma de valores usando uma função?
                	 }	
				}
						printf("O numero total de gols foi %.2f\n",total);//.2 é a quantia de numeros apos a virgula
    					printf("E a media total de gols foram %.4f por partida\n",media(total));//chamando a função para apresentar o resultado
    					
				for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaoamarelo[o2][n];//tem como fazer esta soma de valores usando uma função?
                	}	
				}
						printf("O numero total de cartões amarelos foram %.2f\n",total);//.2 é a quantia de numeros apos a virgula
                 		printf("E a media total de cartões amarelos foram %.4f por partida\n",media(total));//chamando a função para apresentar o resultado
                 		
				for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaovermelho[o2][n];//tem como fazer esta soma de valores usando uma função?
                	  }	
				}
						printf("O numero total de cartões vermelhos foram %.2f\n",total);//.2 é a quantia de numeros apos a virgula
                		printf("E a media total de cartões vermelhos foram %.4f por partida\n",media(total));//chamando a função para apresentar o resultado
                		
					for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+km[o2][n];//tem como fazer esta soma de valores usando uma função?
                	}	
				}
						printf("O total da distancia percorrida foi %.4f metros\n",total);//.4 é a quantia de numeros apos a virgula
                 		printf("E a media total da distancia percorrida no campeonato foi %.4f metros por partida\n",media(total));//chamando a função para apresentar o resultado
                 		
	 				break;
					 case 0 : printf("Você encerrou o programa!\n\n");
	 			default: if(o2!=0 && o2!=1 && o2!=2 && o2!=3 && o2!=4){//tive que colocar essa condiçao pois estava saindo ...
	 				printf("Opção invalida!!!\n\n");}//"Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo
					break;
				

    printf("\n\n");
    getch();
    return 0;
}
}
}

Muito obrigado pela ajuda vou continuar o programa agora, valeu mesmo pela força.

adicionado 3 minutos depois

Fiz algumas alterações porém estou tendo dificuldade em imprimir as estatistas de um time, e de como usar função para somar os valores de uma matriz ( que no caso não sei se tem como fazer sem criar um "acumulador" para cada dado informado pelo usuário. Desde já agradeço pela ajuda.

adicionado 8 minutos depois
5 minutos atrás, Leonardo Naressi disse:

#include <stdio.h >
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h >
	float media(float a1)
{
	float resultado=0;
 		resultado=a1/12;//media por doze pois é o total de partidas disputadas

    return resultado;
	}
int main(){
	char jogador[5][5][30], nome[30], compara[30];/*nome com ate 30 cracteres*/
	int o=5, n=5, o2,j=5;                   /* não esquecer de inicializar as posições */
	float jogos[o][n],gols[o][n],km[o][n], total;/*pois para declarar vetor precisa saber o valor */
	float cartaoamarelo[o][n],cartaovermelho[o][n];
    setlocale(LC_ALL,"portuguese");
    while( o!= 0){
        printf("Selecione o time:\n");
        printf("1 - Chapecoenses\n"  );
        printf("2 - Portuguesa\n"   );
        printf("3 - Bragantino\n"   );
        printf("4 - Juventude\n" );
        printf("0 - Para sair\n"    );
        fflush(stdin);
		scanf("%d",&o);
		if( o == 0){
            printf("Você concluiu o cadastro!\n\n");
            break;
		}
        else
            if(o<0 || o>4)   //se uma das opções for verdadeira executa                    
                printf("Opção nvalida!!!\n\n"); /* tive que colocar essa condiçao pois estava saindo ...*/
            else{								/* "Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo */
                printf("Cadastre 5 jogadores:\n");/* cadastro de ate 5 jogadores */
                printf("\n--------------------------------\n");
                for(j=0;j<5;j++){                 /* está 1 mas depois de testar colocar 5 */
                    printf("Nome do %d° jogador  : ",j+1);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&jogador[o][j])
                    gets(jogador[o][j]);//caso usuario digite o nome completo usando o espaço

                    printf("Numero de jogos disputados pelo jogador %s : ",&jogador[o][j]);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&jogos[o][j]);

                    printf("Quantidade de gols marcados pelo jogador %s : ",&jogador[o][j]);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&gols[o][j]);

                    printf("Quantidade de cartoes amarelos : ");
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&cartaoamarelo[o][j]);

                    printf("Quantidade de cartoes vermelhos : ");
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&cartaovermelho[o][j]);

                    printf("Distancia que %s correu : ",&jogador[o][j]);
                    fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
                    scanf("%f",&km[o][j]);
            }
        }
    }
    while( o2!= 0){
   	printf("Selecione a opção desejada:\n\n");
    printf("1 - Estatistica de um jogador\n");
    printf("2 - Estatistica de um time\n");
    printf("3 - Estatistica do campeonato:\n");
    printf("0 - Para sair\n");
   	fflush(stdin);//para limpar o "enter" da variavel e evitar erros
   	scanf("%d",&o2);
   	switch(o2){
   	    case 1 :
   	        printf("\n\ninforme o nome do jogador : ");
   	        fflush(stdin);//para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)
   	        gets(nome);//caso usuario digite o nome completo usando o espaço
   	        for(o=0;o<5;o++){
                for(n=0;n<5;n++){
                    if(strcmp(jogador[o][n],nome)==0){/* usar string pra comparar */
                        printf("%s jogou  %.2f partidas\n",jogador[o][n], jogos[o][n]);
                        printf("%s marcou %.2f gols\n",jogador[o][n], gols[o][n]);
                        printf("%s levou  %.2f cartoes amarelos e %.2f vermelhos\n",jogador[o][n],cartaoamarelo[o][n], cartaovermelho[o][n]);                             
                        printf("E a media de Km percorridos por jogo foi %.2f\n",km[o][n]/jogos[o][n]);
                        if(o==1){
                        	printf("\nEste jogador joga na chapeconse\n");
                        }
                        	if(o==2){
                        	printf("\nEste jogador joga na Portuguesa\n");
                        }
                        		if(o==3){
                        	printf("\nEste jogador joga na Bragantino\n");
                        }
                        		if(o==4){
                        	printf("\nEste jogador joga na Juventude\n");
                        }
                    }
                }
	        }
	        	 break;
	        case 2 ://neste caso quero mostrar as estatisticas de um time selecionadopelo usuario
	                //porém o programa esta encerrando no momento de executar esta opção
	                //o programa esta encerrando
	        	printf("selecione o time desejado:\n");
        		printf("1 - Chapecoense\n"  );
       			printf("2 - Portuguesa\n"   );
        		printf("3 - Bragantinon\n"  );
        		printf("4 - Juventude\n"    );
        		fflush(stdin);//para limpar o "enter" da variavel e evitar erros
   				scanf("%d",&o);
   				for(o=o;o==o;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+ gols[o][n];//tem como fazer esta soma de valores usando uma função?
                	 }		  
				}
				
					printf("O numero total de gols foi %f\n",total);	
				
				for(o=o2;o==o2;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaoamarelo[o][n];//tem como fazer esta soma de valores usando uma função?
                	}		
				}
					printf("O numero total de cartões amarelos foram %f\n",total);
					
				for(o=o2;o==o2;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaovermelho[o][n];//tem como fazer esta soma de valores usando uma função?
                	  }
				}
					printf("O numero total de cartões vermelhos foram %f\n",total);
					
					for(o=o2;o==o2;o++){
                	for(n=0;n<1;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+km[o][n];//tem como fazer esta soma de valores usando uma função?
                	}	
				}
					printf("O total da distancia percorrida foi  %.4f metros\n",total);
					
	 			break;
	 			
	 			case 3: //neste caso quero mostrar as estaticas do campeonato no teste que fiz executou corrretamente
				 for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+ gols[o2][n];//tem como fazer esta soma de valores usando uma função?
                	 }	
				}
						printf("O numero total de gols foi %.2f\n",total);//.2 é a quantia de numeros apos a virgula
    					printf("E a media total de gols foram %.4f por partida\n",media(total));//chamando a função para apresentar o resultado
    					
				for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaoamarelo[o2][n];//tem como fazer esta soma de valores usando uma função?
                	}	
				}
						printf("O numero total de cartões amarelos foram %.2f\n",total);//.2 é a quantia de numeros apos a virgula
                 		printf("E a media total de cartões amarelos foram %.4f por partida\n",media(total));//chamando a função para apresentar o resultado
                 		
				for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+cartaovermelho[o2][n];//tem como fazer esta soma de valores usando uma função?
                	  }	
				}
						printf("O numero total de cartões vermelhos foram %.2f\n",total);//.2 é a quantia de numeros apos a virgula
                		printf("E a media total de cartões vermelhos foram %.4f por partida\n",media(total));//chamando a função para apresentar o resultado
                		
					for(o2=1;o2<5;o2++){/*para pegar os times de 1 á 4*/
                	for(n=0;n<5;n++){/* está 1 mas depois de testar colocar 5 */
                	 total= total+km[o2][n];//tem como fazer esta soma de valores usando uma função?
                	}	
				}
						printf("O total da distancia percorrida foi %.4f metros\n",total);//.4 é a quantia de numeros apos a virgula
                 		printf("E a media total da distancia percorrida no campeonato foi %.4f metros por partida\n",media(total));//chamando a função para apresentar o resultado
                 		
	 				break;
					 case 0 : printf("Você encerrou o programa!\n\n");
	 			default: if(o2!=0 && o2!=1 && o2!=2 && o2!=3 && o2!=4){//tive que colocar essa condiçao pois estava saindo ...
	 				printf("Opção invalida!!!\n\n");}//"Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo
					break;
				

    printf("\n\n");
    getch();
    return 0;
}
}
}

Muito obrigado pela ajuda vou continuar o programa agora, valeu mesmo pela força.

adicionado 3 minutos depois

Fiz algumas alterações porém estou tendo dificuldade em imprimir as estatistas de um time, e de como usar função para somar os valores de uma matriz ( que no caso não sei se tem como fazer sem criar um "acumulador" para cada dado informado pelo usuário. Desde já agradeço pela ajuda.

Desde já agradeço pela ajuda.@devair1010

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Leonardo Naressi    você pode colocar uma função para calcular os resultados , mas nesse caso não precisa pois para calcular dentro da função main é mas fácil , você coloca um laço de repetição para calcular todos de uma vez ,  então seu código com algumas modificações pode ser assim :

#include <stdio.h >
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h >
float media(float a1){
    float resultado=0;
    resultado=a1/12;//media por doze pois é o total de partidas disputadas
    return resultado;
}
int main(){
	char jogador[5][5][30], nome[30], compara[30];/*nome com ate 30 cracteres*/
	int o=5, n=5, o2=1,j=5,gols[o][n],total=0,jogos[o][n];/* não esquecer de inicializar as posições */
	int T_jogos,T_c_ama,T_c_verm;
	float km[o][n],T_dist ;/*pois para declarar vetor precisa saber o valor */
	int cartaoamarelo[o][n],cartaovermelho[o][n];
    setlocale(LC_ALL,"portuguese");
    for(j=0;j<5;j++){
        for(n=0;n<5;n++){
            strcpy(jogador[j][n]," \0");
            gols[j][n]=0;
            jogos[j][n]=0;
            cartaoamarelo[j][n]=0;
            cartaovermelho[j][n]=0;
            km[j][n]=0;
        }
    }
    while( o!= 0){
        printf("Selecione o time:\n");
        printf("1 - Chapecoenses\n"  );
        printf("2 - Portuguesa\n"   );
        printf("3 - Bragantino\n"   );
        printf("4 - Juventude\n" );
        printf("0 - Para sair\n"    );
        fflush(stdin);
		scanf("%d",&o);
		if( o == 0){
            printf("Você concluiu o cadastro!\n\n");
            break;
		}
        else
            if(o<0 || o>4)                        /* se uma das opções for verdadeira executa */
                printf("Opção nvalida!!!\n\n");   /* tive que colocar essa condiçao pois estava saindo ...*/
            else{								  /* "Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo */
                printf("Cadastre 5 jogadores:\n");/* cadastro de ate 5 jogadores */
                printf("\n--------------------------------\n");

                for(j=0;j<1;j++){                 /* está 1 mas depois de testar colocar 5 */
                    printf("Nome do %d%c jogador  : ",j+1,167);
                    fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&jogador[o][j])*/
                    gets(jogador[o][j]);/*caso usuario digite o nome completo usando o espaço*/

                    printf("Numero de jogos disputados pelo jogador %s : ",jogador[o][j]);
                    fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)*/
                    scanf("%d",&jogos[o][j]);

                    printf("Quantidade de gols marcados pelo jogador %s : ",jogador[o][j]);
                    fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)*/
                    scanf("%d",&gols[o][j]);

                    printf("Quantidade de cartoes amarelos : ");
                    fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)*/
                    scanf("%d",&cartaoamarelo[o][j]);

                    printf("Quantidade de cartoes vermelhos : ");
                    fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)*/
                    scanf("%d",&cartaovermelho[o][j]);

                    printf("Distancia que %s correu : ",&jogador[o][j]);
                    fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)*/
                    scanf("%f",&km[o][j]);
                    printf("\n");
            }
        }
    }
    total   = 0;
    T_jogos = 0;
    T_dist  = 0;
    T_c_ama = 0;
    T_c_verm= 0;
    for(o2=0;o2<5;o2++){                 /*  para calcular os resultados */
        for(n=0;n<5;n++){                
            total   += gols[o2][n];      /* tem como fazer esta soma de valores usando uma função? */
            T_jogos += jogos[o2][n];    /* aqui substitui afunção de calcular  */
            T_dist  += km[o2][n];
            T_c_ama += cartaoamarelo[o2][n];
            T_c_verm+= cartaovermelho[o2][n];
        }
    }

    while( o2!= 0){
   	printf("Selecione a opção desejada:\n\n");
    printf("1 - Estatistica de um jogador\n");
    printf("2 - Estatistica de um time\n");
    printf("3 - Estatistica do campeonato:\n");
    printf("0 - Para sair\n");
   	fflush(stdin);/*para limpar o "enter" da variavel e evitar erros*/
   	scanf("%d",&o2);
   	switch(o2){
   	    case 1 :
   	        printf("\n\ninforme o nome do jogador : ");
   	        fflush(stdin);/*para limpar o "enter" da variavel e evitar erros caso de errro substituir por scanf("%s%*c",&)*/
   	        gets(nome);/*caso usuario digite o nome completo usando o espaço*/
   	        for(o=0;o<5;o++){
                for(n=0;n<5;n++){
                    if(strcmp(jogador[o][n],nome)==0){               /* usar string pra comparar */
                        printf("%s jogou  %.2f partidas\n",jogador[o][n], jogos[o][n]);
                        printf("%s marcou %.2f gols\n",jogador[o][n], gols[o][n]);
                        printf("%s levou  %.2f cartoes amarelos e %.2f vermelhos\n",jogador[o][n],cartaoamarelo[o][n], cartaovermelho[o][n]);
                        printf("E a media de Km percorridos por jogo foi %.2f\n",(float)km[o][n]/jogos[o][n]);
                        if(o==1){
                        	printf("\nEste jogador joga na chapeconse\n");
                        }
                        	if(o==2){
                        	printf("\nEste jogador joga na Portuguesa\n");
                        }
                        if(o==3){
                        	printf("\nEste jogador joga na Bragantino\n");
                        }
                        if(o==4){
                        	printf("\nEste jogador joga na Juventude\n");
                        }
                    }
                }
	        }
	        break;
        case 2 ://neste caso quero mostrar as estatisticas de um time selecionadopelo usuario
                //porém o programa esta encerrando no momento de executar esta opção
                //o programa esta encerrando
            printf("selecione o time desejado:\n");
            printf("1 - Chapecoense\n"  );
            printf("2 - Portuguesa\n"   );
            printf("3 - Bragantinon\n"  );
            printf("4 - Juventude\n"    );
            fflush(stdin);               /*para limpar o "enter" da variavel e evitar erros*/
            scanf("%d",&o);
            printf("O numero total de gols foi --> %d\n",total);
            printf("O numero total de cartões amarelos foram ----> %d\n",T_c_ama);
            printf("O numero total de cartões vermelhos foram ----> %d\n",T_c_verm);

            printf("O total da distancia percorrida foi ----------> %.2f metros\n",T_dist);
            break;
        case 3: /*neste caso quero mostrar as estaticas do campeonato no teste que fiz executou corrretamente*/
            printf("O numero total de gols foi -------------------> %d\n",total);/*.2 é a quantia de numeros apos a virgula*/
            printf("E a media total de gols no campeonato foram --> %.2f por partida\n",(float)total/T_jogos);/*chamando a função para apresentar o resultado*/

            printf("O numero total de cartões amarelos foram -----> %d\n",T_c_ama);/*.2 é a quantia de numeros apos a virgula*/
            printf("E a media total de cartões amarelos foram ----> %.2f por partida\n",(float)T_c_ama/T_jogos);/*chamando a função para apresentar o resultado*/

            printf("O numero total de cartões vermelhos foram ----> %d\n",T_c_verm);/*.2 é a quantia de numeros apos a virgula*/
            printf("E a media total de cartões vermelhos foram ---> %.2f por partida\n",(float)T_c_verm/T_jogos);/*chamando a função para apresentar o resultado*/

            printf("O total da distancia percorrida foi ----------> %.2f metros\n",T_dist);/*.4 é a quantia de numeros apos a virgula*/
            printf("E a media total da distancia percorrida no campeonato\n");
            printf("foi ------------------------------------------> %.2f metros por partida\n",
                         (float)T_dist/T_jogos);                /*chamando a função para apresentar o resultado*/
            break;
        case 0 : printf("Você encerrou o programa!\n\n");
        default:
            if(o2!=0 && o2!=1 && o2!=2 && o2!=3 && o2!=4){  /*tive que colocar essa condiçao pois estava saindo ...*/
                printf("Opção invalida!!!\n\n");}     /*"Você concluiu o cadastro!" e "opção invalida" ao mesmo tempo*/
                break;
                printf("\n\n");
                getch();
            }
    }
    return 0;
}

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

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