Pages

segunda-feira, 4 de julho de 2016

Jogo em C de Perguntas e Respostas.

Consiste em um jogo de perguntas e respostas feito em C, na onde são inseridos as perguntas e respostas e os níveis delas!

#include <stdio.h>
#include <stdlib.h>

#define NP 100
#define NA 1000
#define TAM_1 50
#define TAM_2 300
#define ALT 3

main(){

    char nome[TAM_1];
    char perguntas[NP][TAM_2];
    char alternativas[NA][TAM_2];
    char respostaCorreta[NP];
    int niveis[NP][2];
    int status[NP];
    int perg_atual = 0;
    int alter_atual = 0;
    int nivel;
    int cod_status = 0;
    char opcao;
    int i,comando,j,sair,k=0, aux = 0, op, resp;
    do{
        system("color 2F");
    system("cls");
        printf ("\t*********************************************************\n");
        printf ("\t                     MENU DE OPCOES                      \n");
        printf ("\t*********************************************************\n");
        printf ("\t   1 - INSERIR PERGUNTAS E RESPOSTAS\n");
        printf ("\t   2 - INSTRUCOES\n");
        printf ("\t   3 - NIVEL FACIL\n");
        printf ("\t   4 - NIVEL MEDIO\n");
        printf ("\t   5 - NIVEL DIFICIL\n");
        printf ("\t*********************************************************\n");
        printf("\t\tdigite sua opcao: ");
        scanf("%d",&comando);
        system("cls");
    switch(comando){
    case 1:
    do{
    system("cls");
    aux = 0;
    fflush(stdin);
    printf("Insira a questao %d:",perg_atual+1);
    gets(perguntas[perg_atual]);
    printf("\nInsira o nivel da pergunta:");
    printf ("\n1 - NIVEL FACIL\n");
    printf ("\n2 - NIVEL MEDIO\n");
    printf ("\n3 - NIVEL DIFICIL\n");
    scanf("%d", &nivel);
    niveis[perg_atual][0] = perg_atual;
    niveis[perg_atual][1] = nivel;
    perg_atual++;  
    cod_status = 0;
    for(i=0;i<3;i++){
      fflush(stdin);
      printf("\ninsira a alternativa %d: ", i+1);
      gets(alternativas[alter_atual]);    
    if(aux == 0){
      printf("\nInsira 0 para falsa ou 1 para correta: ");
      scanf("%d",&op);
      if(op == 1){
status[perg_atual-1]= cod_status;
       aux++;
      }     
      }
     cod_status++;   
     alter_atual++;
    }
    fflush(stdin);
    printf("\n Deseja digita outra pergunta (n/s):");
    scanf("%c",&opcao);
    }while(opcao == 's' || opcao == 'S');
    break;
   case 2:
       system("cls");
       printf("\nO jogo consiste em perguntas e respostas, na onde sao inseridos na opcao 1");
       getch();
   break;
    case 3:
      k = 0;
      for(j=0;j< perg_atual;j++){
    system("cls");
            if(niveis[j][1] == 1){
              printf ("\nNIVEL FACIL\n");
              printf("\n\tPergunta: ");
              puts(perguntas[j]);
            k = 0;
            k = j *3;
              strcpy(respostaCorreta, "");
            for(i=0;i<3;i++){          
              printf("\n\t");
              printf("%d - %s", i+1, alternativas[k]);
              if(status[j] == i)
              strcpy(respostaCorreta, alternativas[k]); 
    k++;
      }
       printf("\nInforme a sua resposta: ");
       scanf("%d", &resp);
    if(status[j] == resp -1){
      printf("\nResposta correta: %s",respostaCorreta);
      printf("\nParabens, Voce acertou a respota");       
      }else{
      printf("\nResposta correta: %s",respostaCorreta);//aqui vci mostrar a resposta correta ao usuario!:
      //poderia retirar essa linha para não mostra a resposta, para ele responder outra vez!:
      printf("\nDesculpa, Voce nao acertou a respota");
      }
      getchar();
            }
        }
        getchar();
    break;
    case 4:
      k = 0;
      for(j=0;j< perg_atual;j++){
    system("cls");
            if(niveis[j][1] == 2){
              printf ("\nNIVEL FACIL\n");
              printf("\n\tPergunta: ");
              puts(perguntas[j]);
            k = 0;
            k = j *3;
              strcpy(respostaCorreta, "");
              for(i=0;i<3;i++){          
              printf("\n\t");
              printf("%d - %s", i+1, alternativas[k]);
              if(status[j] == i){
                strcpy(respostaCorreta, alternativas[k]);
              }
      k++;
      }
   printf("\nInforme a sua resposta: ");
   scanf("%d", &resp);
      if(status[j] == resp -1){
      printf("\nResposta correta: %s",respostaCorreta);
      printf("\nParabens, Voce acertou a respota");       
      }else{
      printf("\nResposta correta: %s",respostaCorreta);
      printf("\nDesculpa, Voce nao acertou a respota");
      }
      getchar();     
            }
        }
  getchar();
    break;
    case 5:
      k = 0;
      for(j=0;j< perg_atual;j++){
    system("cls");
            if(niveis[j][1] == 3){
              printf ("\nNIVEL FACIL\n");
              printf("\n\tPergunta: ");
              puts(perguntas[j]);
              k = 0;
            k = j *3;
              strcpy(respostaCorreta, "");
              for(i=0;i<3;i++){          
            printf("\n\t");
            printf("%d - %s", i+1, alternativas[k]);
              if(status[j] == i){     
                strcpy(respostaCorreta, alternativas[k]);               
              }
            k++;
      }
      printf("\nInforme a sua resposta: ");
      scanf("%d", &resp);
      if(status[j] == resp -1){
        printf("\nResposta correta: %s",respostaCorreta);
        printf("\nParabens, Voce acertou a respota");       
      }else{
      printf("\nResposta correta: %s",respostaCorreta);
      printf("\nDesculpa, Voce nao acertou a respota");
      }
      getchar();
            }
        }
  getchar();
    break;
        sair=0;
    }

    }while(sair!=0);
    system("pause -> null");
    return 0;


Duvidas ou Trabalhos para fazer entre em Contato: marcofernando71@gmail.com

0 comentários:

Postar um comentário