Ir ao conteúdo

C Como fazer o cmd correr lentamente?


Ir à solução Resolvido por Arthur Guillermo,

Posts recomendados

Postado
Olá a todos. 
  Eu consegui rodar o programa ele imprime as cartas aleatoriamente. Até aí tudo bem.
  Só que ele imprimie tudo de uma vez só. Já mostra todas as cartas.
  Eu gostaria de saber se existe uma forma de fazer com que o cmd corra lentamente, isto é, ir
  mostrando uma linha de cada vez. Obrigada

//Distribuição de cartas de um baralho
#include<stdio.h>
#include<stdlib.h>
#define TAMANHO1 4
#define TAMANHO2 13
#define TAMANHO3 52
void impressao(char *x[], char *y[]);
void impressao2(void);
void embaralha(int [][TAMANHO2],char *[],char *[]);
void distribui(int baralho[][TAMANHO2],char *[], char *[]);
 main(){
	char *naipe[TAMANHO1]={"copas","paus","espada","ouro"};
	char *face[TAMANHO2]={"AS", "DOIS","TRES","QUATRO","CINCO",
						"SEIS","SETE","OITO","NOVE","DEZ",
						"VALETE","DAMA","REI"};
	int	baralho[TAMANHO1][TAMANHO2]={0};
	srand(time(NULL));
	impressao(naipe,face);
	impressao2();
	printf("\n\n");
	system("pause");
	printf("\n\n");
	embaralha(baralho,naipe,face);
	distribui(baralho,naipe,face);
	return 0;
}
void impressao(char *naipew[TAMANHO1],char *facew[TAMANHO2]){
	int i,j;
	for(i=0;i<=TAMANHO1-1;i++){
		for(j=0;j<=TAMANHO2-1;j++){
			printf("%s de %-8s \t",facew[j],naipew[i]);					
			if(j%2==0)
			printf("\n");
		}
	}	
}
void impressao2(void){
	int k;
	printf("\n\n");
	for(k=0;k<=40;k++)
		printf("*");
		printf("\n\n");
}
void embaralha(int baralhow[][TAMANHO2],char *naipew2[TAMANHO1], char *facew2[TAMANHO2]){
	int i,j,carta;
	
	for(carta=1;carta<=TAMANHO3;carta++){
		i=rand()%4;
		j=rand()%13;
		while(baralhow[i][j]!=0){		
			i=rand()%4;
			j=rand()%13;
		}
		if(baralhow[i][j]==0){		
		baralhow[i][j]=carta;
		}
	}
}
void distribui(int baralho[][TAMANHO2], char *naipew3[TAMANHO1], char *facew3[TAMANHO2]){
	int carta, i,j;
	for(carta=1;carta<=TAMANHO3-1;carta++){
		for(i=0;i<=TAMANHO1-1; i++){
			for(j=0;j<=TAMANHO2-1;j++){
				if(baralho[i][j]==carta){				
				printf("%s  de  %-8s",facew3[j],naipew3[i]);
				printf("\n");
				}							
			}
		}
	}	
}

 

  • Obrigado 1
  • Solução
Postado

Tenta usar essa função:

#include <time.h>
  
void delay(int number_of_seconds) 
{ 
    int milli_seconds = 1000 * number_of_seconds; 
    clock_t start_time = clock(); 
    while (clock() < start_time + milli_seconds) 
        ; 
} 

ou a função sleep(milissegundos)

  • Obrigado 2
Postado
Em 01/01/2020 às 14:19, Arthur Guillermo disse:

Tenta usar essa função:


#include <time.h>

void delay(int number_of_seconds) 
{ 
    int milli_seconds = 1000 * number_of_seconds; 
    clock_t start_time = clock(); 
    while (clock() < start_time + milli_seconds) 
        ; 
} 

ou a função sleep(milissegundos)

 

Muito obrigada Arthur. Deu certo!!!

  • Curtir 2

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