Ir ao conteúdo
  • Cadastre-se

ajuda em código de c++


neberson
Ir à solução Resolvido por isrnick,

Posts recomendados

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

  • Solução

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);

Link para o comentário
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);"

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!