Ir ao conteúdo
  • Cadastre-se
neberson

RESOLVIDO ajuda em código de c++

Recommended Posts

Galera fiz um código para gerar números aleatorios so que o programinha não ta retornando nem um numero olhar o codigo e mi ajudem por favor.

#include <stdio.h>#include <stdlib.h>#include <time.h>#include<locale.h>     int  main(){     setlocale(LC_ALL,"portuguese");    int contador=1,x,num;         srand(time(NULL));  num = 1+rand() % 1000 ;        printf("       \n    Estou pensado em um numero      \n     ");    printf("\n----------------tente adivinhar-----------\n");        while(x != num)    {                    printf("digite um numeo de 0 a 1000:\n");                         scanf("%d",x);               if (x<num)           {               printf("\n O NÚMERO QUE ESTOU PENSANDO É MAIOR DO QUE %d\n",num);           }                     else                if (x>num)            {                printf("\n O NÚMERO QUE ESTOU PENSANDO É MENOR DO QUE %d\n ",num);            }                         else                    if(x=num)            {                     printf("\n     parabens você acertou o numero      \n");            }            contador=contador+1;    }        printf("Foram necessarias %d tentativas\n", contador);                system("pause");}       

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função scanf recebe um ponteiro que indica onde na memória será guardado o valor obtido pela função, não o valor armazenado em uma variável, então você precisa colocar o símbolo & antes do nome da variável pra mandar a referência/ponteiro da variável para a função scanf.

 

Ex:

int x;

scanf ("%d", &x);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha eu não compilei nem nada esse programa então vou dar duas dicas que TALVEZ resolva . . . 

 

1ª falta & comercial nessa linha  " scanf("%d",x);" o correto é   scanf("%d",&x);

 

2ª Nessa linha while(x != num) x não foi iniciado com nada . . . então a comparação que você faz é a seguinte: while(lixo_de_memória != num) (Isso é o que ocorre da primeira vez que você executa)

 

Ainda sim lixo de memória normalmente é algo como -6844891741... O que realmente pode comprometer é essa linha  " scanf("%d",x);"

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×