• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bertolo

Roleta Russa

4 mensagens neste tópico

Bem porreiro o programa. Ainda me viciei um bocadinho de tempo a jogar. Criei-o para testar umas teorias maradas.....

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void Inic_Random()
{
 long ultime;
 time(&ultime);
 srand((unsigned) ultime);
}

void jogar(int saldo){
 int num,aposta;
 char l,ap;

 l='\0';aposta=saldo+1;

 while(aposta>saldo){
   printf("Qual o valor da aposta?:");
   scanf("%d",&aposta);
   while(getchar()!='\n');
 }
 printf("Par ou Impar:");scanf("%c",&ap);

 Inic_Random();
 num=rand()%2;
 if(ap=='p')
 {
   if(num==0)
   {
     printf("Ganhou\n");saldo=saldo+aposta;
   }
   else
   {
     printf("Perdeu\n");saldo=saldo-aposta;
   }
 }

 if(ap=='i')
 {
   if(num!=0)
   {
     printf("Ganhou\n");saldo=saldo+aposta;
   }
   else
   {
     printf("Perdeu\n");saldo=saldo-aposta;
   }
 }
 while(getchar()!='\n');
 printf("O teu saldo é:%d\n",saldo);
 printf("-------------------------\n");
 if(saldo<=0)
 {
   printf("Faliu!\n");return 0;
 }
 printf("Quer jogar outra x?:");
 scanf("%c",&l);
 if(l=='n')
   return ;
 if(l=='s' || l== 'y' || l=='Y' || l=='S');
 {
   jogar(saldo);
 }
}


int main (void)
{
 int montante;
 printf("Qual o montante:");
 scanf("%d",&montante);
 jogar(montante);
 return 0;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, numa primeira olhadela a esse programa vi que podes tirar esses while(getchar()!='\n');

Para compensar isso basta que ponhas um espaço em branco antes dos teus scanfs de chars, e assim ele já nao assume que o proximo scanf que tu vais fazer vai ter o '\n', porque é disso que se trata.

printf("Par ou Impar:");scanf(" %c",&ap); // O espaço antes do %c resolve-te o problema.

De qualquer maneira a tua solução é arrojada, mas nao é funcional num programa tão simples.

É sempre bom obfuscar um pouco as coisas para ser um desafio perceberem o nosso codigo.  :ipool:

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lya nao ta grande coisa...mas funciona e até é viciante  :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora