Enviado em 04/09/2017 - 13:46h
Olá, estou com o seguinte problema: Quando executo o meu código, a função sleep() "pula" o printf() que antecede ela e passa para o próximo.
Alguém faz ideia de como solucionar ?
#include<stdio.h>
#include<stdlib.h>
void gotoxy(int x,int y){
printf("%c[%d;%df",0x1B,y,x);
}
main(){
int dia;
int erro=1;
printf("Informe um dia: ");
scanf("%d", &dia); // LEITURA DOS DADOS
while(erro!=0){ // LAÇO WHILE
if(dia<0 || dia>31){
gotoxy(20,0);
printf(" Dia invalido!"); // A FUNÇÃO SLEEP ESTÁ PULANDO ESSE PRINTF("DIA INVALIDO");
sleep(5); // AGUARDA OS 5 SEGUNDOS.
gotoxy(16,0);
printf(" "); // E IMPRIME SOMENTE OS ESPAÇOS, E SEGUE O PROGRAMA NORMALMENTE.
gotoxy(0,0);
printf("Informe um dia: ");
scanf("%d", &dia);
}
else{
gotoxy(16,0);
printf(" Dia valido!");
erro--;
}
}
}
Alguém faz ideia de como solucionar ?