Ir ao conteúdo
  • Cadastre-se

C Como utilizar o Rand() assim...


caiobcc

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!