Ir ao conteúdo

Posts recomendados

Postado

Quero que o rand me gere 1 valor de 0 até 1, se caso for 0 quero que imprima frase "OI" no monitor

 

<int main(void)
{
    setlocale(LC_ALL, "Portuguese");
 int i,aleatorio;
 srand(time (NULL)); Vi isso em um vídeo que é para evitar que o número gerado seja sempre o mesmo.
printf("%d", rand() % 1);

scanf("%d",&aleatorio);
    
if(aleatorio==0)
printf("oi");

}>

 

  • Curtir 1
  • Obrigado 1
Postado
26 minutos atrás, allanxd disse:

@caiobcc if((rand() % 2) == 0)

Funcionou +ou-

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

int main(void)
{
	setlocale(LC_ALL, "Portuguese");
 int i;
 srand(time (NULL));
printf("%d\n", rand() % 5);
	
if((rand() % 5) == 0)
printf("Você conseguiu uma Knife\n");
if((rand() % 5) == 1)
printf("Você conseguiu uma AWP WORM GOD\n");
if((rand() % 5) == 2)
printf("Você conseguiu uma TECH 9 BLUE\n");
if((rand() % 5) == 3)
printf("Você conseguiu uma AK47 RED\n");
if((rand() % 5) == 4)
printf("Você conseguiu uma DESEART EAGLE GREEN\n");

}

Tem vezes que ele me imprime 2 frases, e tem vezes que nem imprime frases.

image.png.88072bca2280f6d12971e5a0e3e9b086.png

image.png.c1d40c0f48e49c65d5834bcb261f8bea.png

  • Obrigado 1
Postado

@caiobcc Assim funciona:

    srand(time (NULL));
    int i = (rand() % 5);

    printf("%d\n", i);

    if(i == 0)
        printf("Você conseguiu uma Knife\n");
    if(i == 1)
        printf("Você conseguiu uma AWP WORM GOD\n");
    if(i == 2)
        printf("Você conseguiu uma TECH 9 BLUE\n");
    if(i == 3)
        printf("Você conseguiu uma AK47 RED\n");
    if(i == 4)
        printf("Você conseguiu uma DESEART EAGLE GREEN\n");

 

  • Curtir 1
  • Obrigado 1
Postado
agora, caiobcc disse:

Funcionou +ou-


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

int main(void)
{
	setlocale(LC_ALL, "Portuguese");
 int i;
 srand(time (NULL));
printf("%d\n", rand() % 5);
	
if((rand() % 5) == 0)
printf("Você conseguiu uma Knife\n");
if((rand() % 5) == 1)
printf("Você conseguiu uma AWP WORM GOD\n");
if((rand() % 5) == 2)
printf("Você conseguiu uma TECH 9 BLUE\n");
if((rand() % 5) == 3)
printf("Você conseguiu uma AK47 RED\n");
if((rand() % 5) == 4)
printf("Você conseguiu uma DESEART EAGLE GREEN\n");

}

Tem vezes que ele me imprime 2 frases, e tem vezes que nem imprime frases.

image.png.88072bca2280f6d12971e5a0e3e9b086.png

image.png.c1d40c0f48e49c65d5834bcb261f8bea.png

O problema aqui é que você está sempre pegando um numero aleatório diferente em seus if,para resolver é só você fazer


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

int main(void)
{
  setlocale(LC_ALL, "Portuguese");
  int i,num;//Criei uma variavel nova para guardar o numero sorteado.
  srand(time (NULL));-> Isso é a semente de geração randomica.
  num=(rand() % 5);
  printf("%d\n", num);
  /* Troquei todos os (rand() % 5) que estavam nos if */
  if(num == 0)
  	printf("Você conseguiu uma Knife\n");
  if(num == 1)
  	printf("Você conseguiu uma AWP WORM GOD\n");
  if(num == 2)
  	printf("Você conseguiu uma TECH 9 BLUE\n");
  if(num == 3)
  	printf("Você conseguiu uma AK47 RED\n");
  if(num == 4)
  	printf("Você conseguiu uma DESEART EAGLE GREEN\n");

}

 

 

  • Obrigado 1
Postado

@caiobcc desert eaglegreen pode ser mais rara então voce pode diminuir a porcentagem dela fazendoassim que o player tenha que sorteiar mais para ganhala então poderia ser assim rs

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

int main(void)
{
  setlocale(LC_ALL, "Portuguese");
  int i,num,sorte;//Criei uma variavel nova para guardar o numero sorteado.
  srand(time (NULL));
  num=(rand() % 5);
  printf("%d\n", num);
  /* Troquei todos os (rand() % 5) que estavam nos if */
  if(num == 0){
  	printf("Você conseguiu uma Knife\n");
  }
  else if(num == 1){
  	printf("Você conseguiu uma AWP WORM GOD\n");
  }
  else if(num == 2){
  	printf("Você conseguiu uma TECH 9 BLUE\n");
  }
  else if(num == 3){
  	printf("Você conseguiu uma AK47 RED\n");
  }
  else if(num == 4 && sorte <20){
  	sorte = sorte + 10;
  	printf("Você conseguiu uma AK47 RED\n");
  }
  else if(num == 4 && sorte >=20){
  printf("Você conseguiu uma DESEART EAGLE GREEN\n");
  }

 

  • Obrigado 2
Postado

@Herbertbahia porque utilizou o void? E não percebi muito bem como você utilizou o sorte, mas até que funcionou bem só que não percebi

adicionado 2 minutos depois

e por que utilizou       sorte = sorte + 10;  ?

Postado

@Herbertbahia Olá. Legal sua resposta. Só inicialize a variável sorte com algum valor, como o zero, para evitar problemas 😉

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