Ir ao conteúdo
  • Cadastre-se

João Vitor Melo Machado

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Valeu, cara. Uns erros bem bobos, realmente. A maior parte foi por que me confundi, mas o strcpy eu me informei foi agora. Obrigado pela atenção!
  2. Opa, valeu! Mas pode deixar, vou apagar esse post, já achei o problema!
  3. Boa tarde pessoal! Sou novo na linguagem C, e estava tentando criar um jogo simples, que gerasse 10 perguntas matemáticas aleatórias para o jogador, que teria que acertar com o menor número de tentativas possível. Notem que o programa ainda está em fase de desenvolvimento, então com certeza ainda há vários detalhes que faltam. Eu consegui criar um código pra gerar 10 números aleatórios que não se repetissem, porém, estou tendo dificuldade na parte de mostrar as perguntas pro usuário. No lugar das perguntas aparece uns caracteres aleatórios. Se alguém pudesse me dar uma ajuda ficaria muito grato! Segue o código (se preocupem com as partes em negrito): #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <conio.h> #include <locale.h> int perguntar (int x) { char p[100]; int r; if (x = 1) { p[100] = 'Quanto é 2 + 2?'; r = 4; } else if (x = 2) { p[100] = 'Quanto é 40 / 5?'; r = 8; } else if (x = 3) { p[100] = 'Quanto é 7*2'; r = 14; } else if (x = 4) { p[100] = 'Quanto é 200 + 45 - 100?'; r = 145; } else if (x = 5) { p[100] = 'Quanto é 90 * 9?'; r = 810; } else if (x = 6) { p[100] = 'Quanto é 13 + 57?'; r = 70; } else if (x = 7) { p[100] = 'Quanto é 4 * 6?'; r = 24; } else if (x = 8) { p[100] = 'Quanto é 800 / 8?'; r = 100; } else if (x = 9) { p[100] = 'Quanto é 32 / 8?'; r = 4; } else if (x = 10) { p[100] = 'Quanto é 23 + 50?'; r = 73; } printf ("\t\n%s", p); return r; } int main() { setlocale(LC_ALL, "Portuguese"); printf ("\n\tBem vindo ao jogo! Vamos selecionar suas perguntas ao acaso: \t\n\n"); system("pause"); int n=10, i=0, v, r, resposta, acerto=0, tentativa=0; //n é o número de int num[n]; n = n - 1; srand (time(NULL)); for ( ; i<=n; i++) { // enquanto posição for menor que posição final, adicione 1 à posição num = 1 + (rand() % 10); // Pega um valor aleatório e guarda ele na atual posição (i) for (v=i - 1;v>=0;v--) { // Verificação: v = posição atual - 1 (posição anterior). Enquanto v for maior ou igual à // 0, ou seja, posição inicial, subtrai 1 de v. Assim verificarei todas as posições anteriores para garantir que não // haja valor igual! do { if (num[v] == num) { // Se o valor em uma das posições anteriores for igual ao valor da posição atual... do { num = 1 + (rand() % 10); } while (num[v] == num); v = i - 1; } } while (num[v] == num); } } for (i=0 ;i<=n; ++i) { resposta = perguntar(num); scanf ("%d", &r); if (r == resposta) { printf ("\n\tParabéns, você acertou!!!"); acerto++; } else { printf ("\n\tá não! Você errou..."); } tentativa++; printf ("\n\n\n\tAperte qualquer tecla para continuar!"); getch(); system ("cls"); } }

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