mbrainiac
(usa Debian)
Enviado em 01/10/2015 - 15:29h
Agradeço aos amigos pela ajuda e atenção.
colocando espaço noscanf(" %c",&perg) como o Thihup mostrou;
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main(){
int x,a;
char perg = 's' ;
while(perg != 'n')
{
srand( (unsigned)time(NULL) );
for(a=1;a <= 6; a++)
{
x = 1 + (rand()%60 ); // Receber valor entre 1 e 60
printf("Dezena %d é %d \n",a, x);
}
printf("Quer Mostrar mais dezenas (s/n)?\n");
scanf(" %c",&perg); // limpar buffer com espaço antes do %c
}
return 0;
}
Ou adicionando as instruções
fflush(stdin); // windows
__fpurge(stdin);// linux
abaixo do scanf:
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main(){
int x,a;
char perg = 's' ;
while(perg != 'n')
{
srand( (unsigned)time(NULL) );
for(a=1;a <= 6; a++)
{
x = 1 + (rand()%60 ); // Receber valor entre 1 e 60
printf("Dezena %d é %d \n",a, x);
}
printf("Quer Mostrar mais dezenas (s/n)?\n");
scanf("%c",&perg); // limpar buffer com espaço antes do %c
fflush(stdin); // windows
__fpurge(stdin);// linux
}
return 0;
}
Ambas produzem as saídas:
mbrainiac@hotpc:~/Área de trabalho/C_programas$ ./megasena.x
Dezena 1 é 24
Dezena 2 é 59
Dezena 3 é 4
Dezena 4 é 52
Dezena 5 é 21
Dezena 6 é 28
Quer Mostrar mais dezenas (s/n)?
s
Dezena 1 é 12
Dezena 2 é 8
Dezena 3 é 22
Dezena 4 é 53
Dezena 5 é 6
Dezena 6 é 52
Quer Mostrar mais dezenas (s/n)?
s
Dezena 1 é 26
Dezena 2 é 59
Dezena 3 é 7
Dezena 4 é 13
Dezena 5 é 14
Dezena 6 é 34
Quer Mostrar mais dezenas (s/n)?
n
mbrainiac@hotpc:~/Área de trabalho/C_programas$