Ir para conteúdo
Fórum Script Brasil

Leandro_n

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Leandro_n

Leandro_n's Achievements

0

Reputação

  1. Leandro_n

    Vetores Dinamicos

    não deu certo... quando eu pego ele da um numero aleatorio #include<stdio.h> #include<stdlib.h> #include <string.h> #include <time.h> //funcões int nale(); void princ(); void analise(); void receba(); void placar(); void apagar(); //variaveis int f,n,h,k,g,nesc,v,*pontos,aux1,aux2,tempo[50]; char nome[50][50]; //variaveis de tempo clock_t t0[50], tf[50]; //---legenda---- //f--numero de pessoas //n--opção do menu //h--auxiliar //k--auxiliar //aux1--auxiliar //aux2--auxiliar //g--numero digitado //nesc--numero escolhido aleatoriamente //v--numero de tentativas //vetor pontos--ospontos da pessoa //vetor nome--nome da pessoa //vetor t0--tempo inicial da pessoa //vetor tf--tempo final da pessoa //vetor tempo--tempo da pessoa (tf-t0) int nale(){//escolhe aleatoriamente um numero de 1 a 100. srand(time(NULL)); n = (rand() % 99)+1; return (n); } void princ(){ printf("***************************************\n"); printf("* digite 1 para tentar um numero *\n"); printf("* digite 2 para ver o placar *\n"); printf("* digite 3 para apagar o historico *\n"); printf("* digite 4 para sair do programa *\n"); printf("***************************************\n"); scanf("%d",&n); if(n==1){ //grava em nesc o numero escolhido(aleatoriamente) nesc=10; receba(); } else{ if(n==2){ placar(); } else{ if(n==3){ apagar(); } else{ if(n==4){ } else{ system("cls"); printf("digite um numero valido (1,2,3,4)\n\n\n"); princ(); } } } } } void apagar(){ if(f==0){ printf("não tem o que apagar...\n\n"); system("pause"); system("cls"); princ(); } else{ //infeite... int i,x,w,t,v,aux;//auxiliares para a porcentagem. i=0; x=0; w=0; t=5000000; v=20; aux=v-1; char g[100]=""; for(i=0;i<=aux;i++){ w=w+5; strcat(g,"."); printf("Apagando %d%% %s",w,g); for(x=0;x<=t;x++); if(i<aux) system("cls"); } int j; //apaga os pontos, tempos, nomes e o numero de pessoas. for(j=0;j<=f;j++){ pontos[j]=0; tempo[j]=0; strcpy(nome[j],""); } f=0; printf("\n\n"); printf("Historico apagado com sucesso.\n\n"); system("pause"); system("cls"); princ(); } } void placar(){ int aux,k,i,j,aux1; char aux3[50][30]; //para achar os tempos. for(k=0;k<=f;k++){ tempo[k] = ( (double) (tf[k] - t0[k]) ) / CLOCKS_PER_SEC; } //para colocar em ordem(pontos,nomes e tempo) de acordo com os pontos. for (i=0; i < f; i++ ){ for (j=0; j< f-i; j++ ){ if ( pontos[j-1] > pontos[j] ){ aux=pontos[j-1]; aux1=tempo[j-1]; strcpy(aux3[3],nome[j-1]); pontos[j-1] = pontos[j]; tempo[j-1] = tempo[j]; strcpy(nome[j-1],nome[j]); pontos[j] = aux; tempo[j] = aux1; strcpy(nome[j],aux3[3]); } } } i=0; j=0; aux=0; int nl[100]; //para achar o numero de letras do maior nome para poder alinhar o menu de acordo //com o numero de letras de cada nome. for(k=0;k<=100;k++){ nl[k]=0; } k=0; if(f>5){ for(k=0;k<=5;k++){ nl[k]=strlen(nome[k]); } k=0; for (i=0; i < 5; i++ ){ for (j=0; j< 5-i; j++ ){ if ( nl[j] > nl[j+1] ){ aux=nl[j]; nl[j] = nl[j+1]; nl[j+1] = aux; } } } } else{ if(f<=5){ for(k=0;k<=f;k++){ nl[k]=strlen(nome[k]); } k=0; for (i=0; i < f; i++ ){ for (j=0; j< f-i; j++ ){ if ( nl[j] > nl[j+1] ){ aux=nl[j]; nl[j] = nl[j+1]; nl[j+1] = aux; } } } } } k=0; if(f>5){ char nl1[100]=""; char aste[100]=""; //para os espaços entre nomes e pontos. for(k=0;k<=nl[5]-6;k++){ strcat(nl1," "); } //para os asteriscos de cima e em baixo. strcat(aste,"********************"); for(k=0;k<=nl[5];k++){ strcat(aste,"*"); } printf("%s\n",aste); printf("*Nomes:%s* Pontos:* Tempos:*\n",nl1); int nl2,t; strcpy(nl1," "); nl2=0; //é 4 pois os vetores começam do 0; for(k=0;k<=4;k++){ //pega o numero de letras do nome da vez. nl2=strlen(nome[k]); //para os espaços entre o nome e os pontos.(para ficar alinhado). for(t=0;t<nl[5]-nl2;t++){ strcat(nl1," "); } //placar if(pontos[k]>9){ if(tempo[k]>9){ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } else{ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } } else{ if(tempo[k]>9){ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } else{ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } } nl2=0; strcpy(nl1," "); } //asterisco de baixo. printf("%s\n\n",aste); } else{ //se tiverem ocorridos 0 rodadas. if(f==0){ printf("não contem nenhum jogo gravado.\n"); } else{ //placar caso tenha menos de 5 pessoas. char nl1[100]=""; char aste[100]=""; for(k=0;k<=nl[f]-6;k++){ strcat(nl1," "); } strcat(aste,"******************"); for(k=0;k<=nl[f];k++){ strcat(aste,"*"); } printf("%s\n",aste); printf("*Nomes:%s*Pontos:* Tempo:*\n",nl1); int nl2,t; strcpy(nl1," "); nl2=0; for(k=0;k<=f-1;k++){ nl2=strlen(nome[k]); for(t=0;t<nl[f-1]-nl2;t++){ strcat(nl1," "); } if(pontos[k]>9){ if(tempo[k]>9){ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } else{ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } } else{ if(tempo[k]>9){ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } else{ printf("*%s%s* %d * %ds *\n",nome[k],nl1,pontos[k],tempo[k]); } } nl2=0; strcpy(nl1," "); } printf("%s\n\n",aste); } } system("pause"); system("cls"); princ(); } void receba(){ system("cls"); aux1=0; aux2=0; h=0; v=0; //pega o tempo inicial t0[f]=clock(); //pega a primeira tentativa. printf("Tenta rapido pois o tempo passa.\n\n"); printf("digite um numero:\n"); scanf("%d",&g); v++; analise(); } void analise(){ if(g==nesc){ //caso acerte... //pega tempo final tf[f]=clock(); system("cls"); //caso tenha feito so uma tentativa(v)... if(v==1){ printf("\n\n"); printf("*************************************\n"); printf("**PARABENS VOCE ACERTOU DE PRIMEIRA**\n"); printf("*************************************\n\n"); } else{ //se não... printf("\n\n"); printf("*************************\n"); printf("**PARABENS VOCE ACERTOU**\n"); printf("*************************\n\n"); } //pegaa o nome e as tentativas. printf("digite seu nome:\n"); scanf("%s",&nome[f]); pontos[f]=v; //incrementa o numero de pessoas f++; pontos = (int*) malloc ((5)*sizeof ( int ) ); system("cls"); princ(); } else{ if(g>nesc){ aux1=g; printf("digite um numero menor\n"); printf("entre %d e %d\n",aux1,aux2); scanf("%d",&g); v++; h++; analise(); } else{ if(g<nesc){ aux2=g; printf("digite um numero maior\n"); if(!h){ printf("entre %d e 100\n",aux2); } else{ printf("entre %d e %d\n",aux2,aux1); } scanf("%d",&g); v++; analise(); } } } } main(){ pontos = (int*) malloc (5*sizeof ( int ) ); //zera variaveis. f=0; v=0; //vai para a função principal. princ(); } da uma olhada ai são os vetores pontos, nome, tempo, t0,tf isto pois o programa está acabando com a memoria... vlw
  2. Leandro_n

    Vetores Dinamicos

    valeu acho que isso me ajuda sim... vlw.
  3. tem alguém saiba mudar o tamanho de um vetor de acordo com uma variavel? por favor...
×
×
  • Criar Novo...