Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 26.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #include <time.h>
  5. #include <string.h>
  6. #include <math.h>
  7.  
  8. // Constants
  9. const int QUESTIONS = 10; // Questions per Quiz
  10. const char* COLOR = "color 8F"; // Official Quiz color
  11.  
  12. // Global tables
  13. char* dataSubjects[6][2] = {
  14.     //Below/ Subject, Color
  15.     {"Todas",""},
  16.     {"LP","color 2"},
  17.     {"IMC","color 4D"},
  18.     {"GSO","color 17"},
  19.     {"TPI","color 5E"},
  20.     {"Recreio","color 75"},
  21. };
  22.  
  23. char* dataQuestions[100][3] = {
  24.     // Question, Options, Answer
  25.     // LP
  26.     {"Qual é o significado da matéria L.P. em informática?","A. Linguagem de Programação\n\tB. Linguagem de Produção\n\tC. Lógica de Programação\n\tD. Lógica de Produção\n\tE. Nenhuma das Alternativas","c"},
  27.     {"Em Portugol, qual o simbolo de atribuição de valores?","A. =\n\tB. <-\n\tC. ->\n\tD. !=\n\tE. Nenhuma das Alternativas","b"},
  28.     {"De qual linguagem VisuAlg é derivada?","A. C\n\tB. Python\n\tC. Haskell\n\tD. C++\n\tE. Nenhuma das Alternativas","e"},
  29.     {"Em C, qual é o objetivo da função \"scanf\"?","A. Coletar um dado para utilizar num printf\n\tB. Coletar um dado e salvá-lo numa variável\n\tC. Coletar uma variável inserida pelo usuário\n\tD. Coletar um número\n\tE. Nenhuma das Alternativas","b"},
  30.     {"A linguagem C++ era conhecida como:","A. CPP\n\tB. C//\n\tC. CKernel\n\tD. C with Classes\n\tE. Nenhuma das Alternativas","d"},
  31.     {"O comando \"if\", em C, tem o mesmo valor que ... em Portugol.","A. Se\n\tB. Enquanto\n\tC. Caso\n\tD. Programa\n\tE. Nenhuma das Alternativas","a"},
  32.     {"Qual é o operador utilizado para representar \"menor\" em C?","A. >\n\tB. !\n\tC. +\n\tD. <\n\tE. Nenhuma das Alternativas","d"},
  33.     {"Qual é o operador utilizado para representar \"igual\" em C?","A. !=\n\tB. +\n\tC. ;\n\tD. %\n\tE. Nenhuma das Alternativas","e"},
  34.     {"O que é uma biblioteca em C?","A. Um local onde se armazenam classes\n\tB. Um local onde se hospedam livros\n\tC. Um local onde você pode compilar seu programa C\n\tD. Um local onde você pode salvar seus dados de cliente\n\tE. Nenhuma das Alternativas","a"},
  35.     {"O que significa o termo \"concatenar\"?","A. Juntar duas variáveis em uma função\n\tB. Juntar três números\n\tC. Atribuir valor a uma variável\n\tD. Juntar dois valores diferentes do mesmo tipo\n\tE. Nenhuma das Alternativas","d"},
  36.     {"Qual é o operador utilizado para representar um \"módulo (resto da divisão)\"?","A. mod ou %\n\tB. div ou /\n\tC. +\n\tD. *\n\tE. Nenhuma das Alternativas","a"},
  37.     {"A equação \"2x + 32 = 10²\" em C, ficaria:","A. x = 32 + 10^2 - 2\n\tB. 2x = 32 + 10\n\tC. x + 32/2 = pow(10,2)\n\tD. x = (pow(10,2) - 32)/2\n\tE. Nenhuma das Alternativas","d"},
  38.     {"O que é algoritmo?","A. Instruções para solucionar um problema\n\tB. Instruções computáveis para fazer apenas um computador funcionar\n\tC. Um computador antigo\n\tD. Instruções em forma de texto para solucionar um problema\n\tE. Nenhuma das Alternativas","a"},
  39.     {"Qual a função do comando \"break\"?","A. Interromper uma função\n\tB. Interromper uma array\n\tC. Interromper um loop\n\tD. Desviar o valor de uma variável\n\tE. Nenhuma das Alternativas","c"},
  40.     {"Quando foi lançada a linguagem C?","A. Anos 2000\n\tB. Década de 90\n\tC. Década de 80\n\tD. Década de 70\n\tE. Nenhuma das Alternativas","d"},
  41.     {"Qual a origem do nome \"C\"?","A. Pois a linguagem usada para sua criação chamava-se B\n\tB. Pois é uma abreviação para \"Classes\"\n\tC. Pois o nome de seu criador era \"C\"arl Thompson\n\tD. Pois foi um nome postulado pela UNIX\n\tE. Nenhuma das Alternativas","a"},
  42.     {"O que é indentação?","A. O ato de escrever pulando linhas\n\tB. O ato de subordinar partes do código em outros arquivos\n\tC. O ato de deixar o código menos legível\n\tD. O ato de formatar o código com ;\n\tE. Nenhuma das Alternativas","e"},
  43.     {"Qual é o nome do criador da linguagem \"C\"?","A. Ken Tesla\n\tB. Alexander Dell\n\tC. Carl Thompson\n\tD. Ken Thompson\n\tE. Nenhuma das Alternativas","d"},
  44.     {"O que é uma array?","A. Um texto\n\tB. Um número\n\tC. Uma tabela\n\tD. Uma função\n\tE. Nenhuma das Alternativas","c"},
  45.     {"O que é um diagrama de blocos?","A. Representação textual de um sistema de banco de dados\n\tB. Representação gráfica de um sistema em portugol, apenas\n\tC. Representação textual de um processo ou modelo de um sistema\n\tD. Representação gráfica de um processo ou modelo de um sistema\n\tE. Nenhuma das Alternativas","d"},
  46.     // IMC
  47.     {"Qual é a definição de hardware?","A. É toda a parte lógica na informática.\n\tB. É toda a estrutura de dados de programas.\n\tC. É toda a parte física do computador.\n\tD. É toda a estrutura de documentação de arquivos.\n\tE. Nenhuma das Alternativas","c"},
  48.     {"O que foi o ENIAC?","A. Foi uma empresa famosa que desenvolvia processadores na década de 70.\n\tB. Foi uma série de aceleradores gráficos com capacidade 2D, 3D e de vídeo.\n\tC. Foi a primeira calculadora digital.\n\tD. Foi o primeiro computador digital eletrônico de grande escala.\n\tE. Nenhuma das Alternativas","d"},
  49.     {"O que significa a sigla IMC na informática?","A. Informática Manual Computacional.\n\tB. Instalação e Manutenção de Computadores.\n\tC. Instalação Manual de Computadores.\n\tD. Computer Master Information.\n\tE. Nenhuma das Alternativas","b"},
  50.     {"Qual é considerado o componente central do computador?","A. Monitor.\n\tB. Placa mãe.\n\tC. HD.\n\tD. Gabinete.\n\tE. Nenhuma das Alternativas","e"},
  51.     {"O que significa a sigla USB?","A. Universal Serial Bus.\n\tB. Ultra Sliper Bee\n\tC. Porta Universal.\n\tD. Barramento Universal.\n\tE. Nenhuma das Alternativas","d"},
  52.     {"Com base nas afirmações a seguir, marque a alternativa correta\n\n\tI. Monitor é um periférico utilizado para saída de dados.\n\tII. Placa de vídeo é responsável por reproduzir vídeos do computador.\n\tIII. HD é o local onde as informações ficam gravadas no computador.\n\tIV. Placa de som é a placa responsável por enviar os sons para as caixas de som.\n","A. Apenas as alternativas I e III estão corretas.\n\tB. Apenas as alternativas I, II e III estão corretas.\n\tC. Apenas as alternativas I, III e IV estão corretas.\n\tD. Todas as alternativas anteriores estão corretas.\n\tE. Nenhuma das Alternativas","c"},
  53.     {"Contém alguns dos primeiros componentes do micro:","A. Hardware e Software.\n\tB. Monitor, Mouse, Teclado e Gabinete.\n\tC. Monitor, Placa de Vídeo, Placa de som, Hd, Placa mãe e Processador.\n\tD. Hardware, Software e Mega Herts.\n\tE. Nenhuma das Alternativas","c"},
  54.     {"Quais são os componentes que compõem o sistema de proteção de um computador?","A. Gabinete.\n\tB. Processador.\n\tC. Placa mãe.\n\tD. Memória RAM.\n\tE. Nenhuma das Alternativas","e"},
  55.     {"Sobre o Eniac, é correto afirmar:","A. O sistema operacional da máquina era através de cartões perfurados.\n\tB. Não era necessário refazer o processo a cada tarefa executada.\n\tC. O ENIAC começou a ser desenvolvido na década de 80.\n\tD. O ENIAC foi criado por Mark Zuckerberg.\n\tE. Nenhuma das Alternativas","a"},
  56.     {"NÃO pertençe ao grupo de periféricos:","A. Teclado.\n\tB. Monitor.\n\tC. Mouse.\n\tD. Caixas de som.\n\tE. Nenhuma das Alternativas","e"},
  57.     {"Chamamos a parte física do computador de _______________, e a parte lógica de_____________.","A. Software / Hardware.\n\tB. Hardware / Sistema Operacional.\n\tC. Hardware / Software.\tD.  Software/ Sistema Operacional.\n\tE. Nenhuma das Alternativas","c"},
  58.     {"Em casa ou escritórios, normalmente as redes de energia apresentam três fios chamados:","A. Fase, neutro e terra.\n\tB. Terra e neutro.\n\tC. Now brake, point e cyrix.\n\tD. Cabo de rede, P2, VGA.\n\tE. Nenhuma das Alternativas","a"},
  59.     {"Sobre o fio terra é correto afirmar:","A. O nome veio de sua cor, que geralmente é amarronzada.\n\tB. O aterramento protege de interferências, choques elétricos e eletroestáticas.\n\tC. O fio terra foi criado pelo cientista Frederick Terra.\n\tD. Ele é responsável por levar a internet ao computador.\n\tE. Nenhuma das Alternativas","b"},
  60.     {"Para o que serve a matéria IMC?","A. Para aprender a mexer em software.\n\tB. Para aprender a mexar em programas de computador.\n\tC. Para aprender a fazer instalação e manutenção de computadores.\n\tD. Para fazer cálculos\n\tE. Nenhuma das Alternativas","c"},
  61.     {"Onde as informações ficam guardadas no computador?","A. Gabinete.\n\tB. HD.\n\tC. CPU.\n\tD. Placa mãe.\n\tE. Nenhuma das Alternativas","b"},
  62.     {"O que é Upgrade?","A. É um aplicativo.\n\tB. É uma marca de processadores.\n\tC. É uma marca de monitor.\n\tD. É o ato de atualizar um hardware.\n\tE. Nenhuma das Alternativas","d"},
  63.     {"O que são periféricos?","A. São toda a parte física que se encontra em torno do computador.\n\tB. São antenas digitais.\n\tC. São os aplicativos de dentro do computador.\n\tD. São fios.\n\tE. Nenhuma das Alternativas","a"},
  64.     {"A opção que NÃO se encaixa no grupo de softwares.","A. Windows.\n\tB. Word.\n\tC. Excel.\n\tD. Mouse.\n\tE. Nenhuma das Alternativas","d"},
  65.     {"A opção que NÃO se encaixa no grupo de hardwares.","A. Teclado.\n\tB. Windows.\n\tC. Mouse.\n\tD. Caixas de som.\n\tE. Nenhuma das Alternativas","b"},
  66.     {"Os Mega-Hertz são _______________.","A. Um tipo de memória.\n\tB. Fio central do computador.\n\tC. Um sistema de proteção.\n\tD. Medidas de som\n\tE. Nenhuma das Alternativas","a"},
  67.     // GSO
  68.     {"Qual a função de um sistema operacional?","A. Controlar o funcionamento de um computador.\n\tB. Guardar os arquivos do computador.\n\tC. Limpar seus arquivos.\n\tD. Instalar o pacote office.\n\tE. Nenhuma das Alternativas","a"},
  69.     {"Como o sistema operacional pode ser conhecido?","A. Controlador, hardware e software.\n\tB. CPU, mouse e teclado\n\tC. Monitor, teclado e software.\n\tD. Monitor, supervisor e Controlador.\n\tE. Nenhuma das Alternativas","d"},
  70.     {"O que significa a sigla GSO?","A. Geral Social Online.\n\tB. Gerenciamento de pessoas organizadas.\n\tC. Gestão de sistemas operacionais.\n\tD. Gestão de sistemas organizados.\n\tE. Nenhuma das Alternativas","c"},
  71.     {"O que é Linux?","A. Programa.\n\tB. Sistema Operacional.\n\tC. Gerenciador de planilhas.\n\tD. Antivírus.\n\tE. Nenhuma das Alternativas","b"},
  72.     {"O que é Windows?","A. Antivírus.\n\tB. Programa.\n\tC. Gerenciador de planilhas.\n\tD. Editor de texto.\n\tE. Nenhuma das Alternativas","e"},
  73.     {"O Linux pode ser usado em que tipo de dispositivos?","A. Servidores.\n\tB. Smartphones.\n\tC. Tablets.\n\tD. Caixas bancários\n\tE. Todas as Alternativas","e"},
  74.     {"O que é um sistema operacional de tempo real?","A. É um sistema operacional destinado à execução de múltiplas tarefas onde o tempo de resposta a um evento é pré-definido.\n\tB. O que dá a hora.\n\tC. Que dá o valor em tempo real.\n\tD. Todas as alternativas.\n\tE. Nenhuma das Alternativas","a"},
  75.     {"Qual foi a primeira versão do Windows?","A. Windows XP\n\tB. Windows Vista\n\tC. Windows 7\n\tD. Windows 10\n\tE. Nenhuma das Alternativas","e"},
  76.     {"Em quantos bits era a interface gráfica da primeira versão do Windows?","A. 16 bits.\n\tB. 32 bits.\n\tC. 64 bits.\n\tD. 32/64 bits.\n\tE. Nenhuma das Alternativas","a"},
  77.     {"O que é um mainframe?","A. É um computador de grande porte capaz de realizar processamento de dados complexos.\n\tB. É uma calculadora.\n\tC. É um computador de pequeno porte capaz de realizar vários procedimentos.\n\tD. É um computador potente da NASA.\n\tE. Nenhuma das Alternativas","a"},
  78.     {"O que é um sistema monousuário?","A. Que se meche com um dedo.\n\tB. Sistema operacional projetado para ser usado por um único usuário por vez.\n\tC. SO que faz apenas uma coisa por vez.\n\tD. SO que não faz o ligamento do PC.\n\tE. Nenhuma das Alternativas","b"},
  79.     {"O que é um sistema monotarefa?","A. Faz várias tarefas.\n\tB. Não faz nenhuma tarefa.\n\tC. Executa apenas uma tarefa de cada vez.\n\tD. Executa várias tarefas ao mesmo tempo.\n\tE. Nenhuma das Alternativas","c"},
  80.     {"Qual das opções de versões do Windows abaixo tem a inicialização mais lenta?","A. W7.\n\tB. W8.1.\n\tC. W10.\n\tD. Todas as alternativas\n\tE. Nenhuma das Alternativas","a"},
  81.     {"Qual das opções de versões do Windows abaixo tem modo tablete?","A. W7.\n\tB. W8.\n\tC. W10.\n\tD. Todas as alternativas\n\tE. Nenhuma das Alternativas","c"},
  82.     {"Qual das opções de versões do Windows abaixo é melhor para jogos e gráficos?","A. W7.\n\tB. W8.1.\n\tC. W10.\n\tD. Todas as alternativas.\n\tE. Nenhuma das Alternativas","c"},
  83.     {"Quais das opções de versões do Windows abaixo tem OneDrive integrado?","A. W7.\n\tB. W8.1 e W10.\n\tC. W10 e W7.\n\tD. W8.1 e W7.\n\tE. Nenhuma das Alternativas","b"},
  84.     {"Qual das opções de versões do Windows abaixo tem a fixação de aplicativos na barra de tarefas?","A. W7.\n\tB. W8.1.\n\tC. W10.\n\tD. Todas as alternativas.\n\tE. Nenhuma das Alternativas","d"},
  85.     {"Quais das opções de versões do Windows abaixo são disponíveis para celulares?","A. W8.1 e W7.\n\tB. W10 e W8.1.\n\tC. W10 e W7.\n\tD. Todas as alternativas.\n\tE. Nenhuma das Alternativas","b"},
  86.     {"Quais das opções de versões do Windows abaixo de celular tem OneDrive?","A. W7.\n\tB. W8.1.\n\tC. W10.\n\tD. Todas as alternativas\n\tE. Nenhuma das Alternativas","e"},
  87.     {"Qual o SO do X-box one?","A. W10.\n\tB. W8.1.\n\tC. W7.\n\tD. Linux.\n\tE. Nenhuma das Alternativas","a"},
  88.     // TPI
  89.     {"Qual é o significado da sigla HTML?","A. Hyper Table Markup Links.\n\tB. Heading Text Markup Language.\n\tC. Hyper Text Markup Language.\n\tD. Heading Table Markup Links.\n\tE. Nenhuma das Alternativas","c"},
  90.     {"O HTML possui quantas versões?","A. Quatro\n\tB. Cinco\n\tC. Seis\n\tD. Mais de seis\n\tE. Nenhuma das Alternativas","c"},
  91.     {"Qual é a última versão do HTML?","A. HTML 4\n\tB. HTML 5\n\tC. HTML 6\n\tD. HTML 7\n\tE. Nenhuma das Alternativas","b"},
  92.     {"Quando foi lançada a última versão do HTML?","A. 2012\n\tB. 2013\n\tC. 2014\n\tD. 2015\n\tE. Nenhuma das Alternativas","c"},
  93.     {"Quando foi lançada a primeira versão do HTML?","A. 1990\n\tB. 1991\n\tC. 1992\n\tD. 1993\n\tE. Nenhuma das Alternativas","b"},
  94.     {"Quando foi lançada a penúltima versão do HTML?","A. 2000\n\tB. 2001\n\tC. 2002\n\tD. 2003\n\tE. Nenhuma das Alternativas","a"},
  95.     {"O que a tag <p> faz?","A. Um salto de linha.\n\tB. Um parágrafo.\n\tC. Um cabeçalho.\n\tD. Uma raiz.\n\tE. Nenhuma das Alternativas","b"},
  96.     {"O que é HTML?","A. HTML é a linguagem de marcação padrão para a criação de páginas da Web.\n\tB. HTML é a linguagem de marcação padrão para a criação de programas.\n\tC. HTML é a linguagem de marcação padrão para a criação de aplicativos.\n\tD. HTML é a linguagem de marcação padrão para a criação de jogos.\n\tE. Nenhuma das Alternativas","a"},
  97.     {"Elementos HTML são representados por?","A. Body\n\tB. Title\n\tC. Head\n\tD. Tags\n\tE. Nenhuma das Alternativas","d"},
  98.     {"O que a declaração <! DOCTYPE> representa?","A. O tipo de pontuação.\n\tB. O tipo de tag.\n\tC. O tipo de conteúdo.\n\tD. O tipo de documento.\n\tE. Nenhuma das Alternativas","d"},
  99.     {"Quando foi lançada a segunda versão do HTML?","A. 1992\n\tB. 1993\n\tC. 1994\n\tD. 1995\n\tE. Nenhuma das Alternativas","d"},
  100.     {"O elemento <title> especifica?","A. Um título para o documento.\n\tB. Um título para o menu.\n\tC. Um título para o corpo da página.\n\tD. Um título para as tags.\n\tE. Nenhuma das Alternativas","a"},
  101.     {"Como uma tag é fechada?","A. Com um sinal de maior, uma vírgula, a tag no centro e um sinal de menor.\n\tB. Com um sinal de menor, uma barra, a tag no centro e um sinal de maior.\n\tC. Com um sinal de menor, um ponto, a tag no centro e um sinal de maior.\n\tD. Com um sinal de menor, um apóstrofo, a tag no centro e um sinal de maior.\n\tE. Nenhuma das Alternativas","b"},
  102.     {"O que o elemento <head> especifica?","A. Um cabeçalho.\n\tB. Um documento.\n\tC. Um menu.\n\tD. Um conteúdo.\n\tE. Nenhuma das Alternativas","a"},
  103.     {"O que o elemento <!//...//> define?","A. Um comentário.\n\tB. Um hyperlink.\n\tC. Uma abreviação.\n\tD. Uma descrição.\n\tE. Nenhuma das Alternativas","a"},
  104.     {"O que o elemento <a> define?","A. Um documento.\n\tB. Um hyperlink.\n\tC. Um parágrafo.\n\tD. Uma tabela.\n\tE. Nenhuma das Alternativas","b"},
  105.     {"O que o elemento <br> define?","A. Uma quebra de linha.\n\tB. Um parágrafo.\n\tC. Um hyperlink.\n\tD. Um documento.\n\tE. Nenhuma das Alternativas","a"},
  106.     {"O elemento <b> deixa o texto formatado em?","A. Itálico\n\tB. Sublinhado\n\tC. Negrito\n\tD. Tachado\n\tE. Nenhuma das Alternativas","c"},
  107.     {"Os documentos HTML podem ser interpretados por?","A. Aplicativos\n\tB. Navegadores\n\tC. Programas\n\tD. Compiladores\n\tE. Nenhuma das Alternativas","b"},
  108.     {"O que são os documentos em HTML?","A. A estrutura básica de um documento\n\tB. Arquivos de texto simples\n\tC. Marcações básicas\n\tD. Hiperligações básicas\n\tE. Nenhuma das Alternativas","b"},
  109.     // RECREIO
  110.     {"Qual é o nome do mamute que aparece no filme \"A era do gelo\"?","A. Manny\n\tB. Sid\n\tC. Diego\n\tD. Manfred\n\tE. Nenhuma das Alternativas","d"},
  111.     {"Qual o gênero do Filme \"A era do gelo\"?","A. Desenho animado\n\tB. Animação\n\tC. Seriado\n\tD. Comic con\n\tE. Nenhuma das Alternativas","b"},
  112.     {"Qual foi o único mutante que não aceitou participar do primeiro grupo dos \"X-Men\"?","A. Destrutor\n\tB. Banshee\n\tC. Mística\n\tD. Wolverine\n\tE. Nenhuma das Alternativas","d"},
  113.     {"Qual foi o primeiro amigo de Vampira na escola do professor Xavier em \"X-Men\"?","A. Pyro\n\tB. Homem de gelo\n\tC. Tempestade\n\tD. Ciclope\n\tE. Nenhuma das Alternativas","b"},
  114.     {"Como a mãe de Nemo morre, no início do filme \"Procurando Nemo\"?","A. Foi comida por uma baleia\n\tB. Afogada\n\tC. Foi comida por um peixe com dentes afiados\n\tD. Foi comida por um pelicano\n\tE. Nenhuma das Alternativas","c"},
  115.     {"Qual a ordem dos livros de \"Harry Potter\"?","A. Pedra Filosofal, Prisioneiro de Azkaban, Câmara Secreta, Enigma do Príncipe, Cálice de Fogo, Ordem da Fênix e Relíquias da Morte\n\tB. Câmara Secreta, Pedra Filosofal, Prisioneiro de Azkaban, Cálice de Fogo, Enigma do Príncipe, Relíquias da Morte\n\tC. Prisioneiro de Azkaban, Câmara Secreta, Cálice de Fogo, Enigma do Príncipe, Relíquias da Morte, Ordem da Fênix, Pedra Filosofal\n\tD. Pedra Filosofal, Câmara Secreta, Prisioneiro de Azkaban, Cálice de Fogo, Ordem da Fênix, Enigma do Príncipe e Relíquias da Morte\n\tE. Nenhuma das Alternativas","d"},
  116.     {"Como se chama o primeiro filme da trilogia do \"Senhor dos Anéis\"?","A. O retorno do Rei\n\tB. A sociedade do Anel\n\tC. Senhor dos Anéis\n\tD. As duas torres\n\tE. Nenhuma das Alternativas","b"},
  117.     {"Quais os principais ataques de Goku?","A. Masenko e Kamehameha\n\tB. Kamehameha e Genki Dama\n\tC. Genki Dama e Kaioken\n\tD. Masenko e Kaioken\n\tE. Nenhuma das Alternativas","b"},
  118.     {"Qual é o coletivo de chave?","A. Chaves\n\tB. Chaverada\n\tC. Chaveiro\n\tD. Molho\n\tE. Nenhuma das Alternativas","d"},
  119.     {"Como é chamado o primeiro leite materno?","A. Elostro\n\tB. Malostro\n\tC. Ninho\n\tD. Colostro\n\tE. Nenhuma das Alternativas","d"},
  120.     {"Qual o primeiro personagem criado por Walt Disney?","A. Pateta\n\tB. Mickey Mouse\n\tC. Tio Patinhas\n\tD. Cinderela\n\tE. Nenhuma das Alternativas","b"},
  121.     {"Qual é o maior planeta do sistema solar?","A. Júpiter\n\tB. Terra\n\tC. Saturno\n\tD. Mercúrio\n\tE. Nenhuma das Alternativas","a"},
  122.     {"O pai do padre é filho do meu pai. O que eu sou do padre?","A. Pai\n\tB. Sobrinho\n\tC. Filho\n\tD. Neto\n\tE. Nenhuma das Alternativas","e"},
  123.     {"Se amanhã for feriado, então hoje José irá viajar. Ora, amanhã não será feriado. Então, pode-se afirmar que:","A. José somente viaja em véspera de feriado\n\tB. José viajará hoje\n\tC. José não viajará hoje\n\tD. É possível que José viaje hoje\n\tE. Nenhuma das Alternativas","d"},
  124.     {"Ontem choveu muito. Esta frase refere-se:","A. Ao tempo\n\tB. Uma pessoa\n\tC. Ao céu\n\tD. A água\n\tE. Nenhuma das Alternativas","a"},
  125.     {"Quantos casais de animais Moisés colocou na arca?","A. 1\n\tB. 2\n\tC. 7\n\tD. 9\n\tE. Nenhuma das Alternativas","e"},
  126.     {"As amazonas (Mitologia Grega):","A. Amputavam o seio direito para usar melhor o arco e flecha\n\tB. Eram submissas aos maridos\n\tC. Utilizavam bigas para seu transporte\n\tD. Possuíam um rei que as orientava sobre a melhor forma de ataque aos seus opositores\n\tE. Nenhuma das Alternativas","a"},
  127.     {"Qual é o maior órgão do corpo humano?","A. Pele\n\tB. Coração\n\tC. Fígado\n\tD. Baço\n\tE. Nenhuma das Alternativas","a"},
  128.     {"Qual é a matéria mais dura encontrada na natureza?","A. Rocha\n\tB. Pérola\n\tC. Diamante negro\n\tD. Metal\n\tE. Nenhuma das Alternativas","c"},
  129.     {"Qual é a vitamina que a pele humana absorve em contato com a luz solar?","A. A\n\tB. B\n\tC. C\n\tD. D\n\tE. Nenhuma das Alternativas","d"},
  130. };
  131.  
  132. void* playerData[][3] = {
  133.     // Subject, Grade, TI
  134. };
  135.  
  136. // library
  137.  
  138. //Below/ Concatenates two strings
  139. char* concat(const char* string1,const char* string2){
  140.     char* result = malloc(strlen(string1) + strlen(string2) + 1);
  141.  
  142.     strcpy(result,string1);
  143.     strcat(result,string2);
  144.  
  145.     return result;
  146. }
  147.  
  148. //Below/ Breaks the execution for a determined time
  149. void sleep(int seconds){
  150.     char Time[2];
  151.     itoa(seconds,Time,10);
  152.  
  153.     system(concat("ping localhost >nul -n ",Time));
  154. }
  155.  
  156. //Below/ Returns a random number [m,n]
  157. int random(m,n){
  158.     m -= 1;
  159.     n += 1;
  160.     float random = (float)(rand() % 0x7FFF) / (float)0x7FFF; // 0x7FFF has the RAND_MAX value. Also, % is needed due to OS differences
  161.     return floor(random * (m-n+1)) + n;
  162. }
  163.  
  164. // System
  165.  
  166. //Below/ Returns the subject
  167. int getSubject(int subject,int currentQ){
  168.     if (subject == 0)
  169.         return floor(currentQ / 20) + 1;
  170.     else
  171.         return subject;
  172. }
  173.  
  174. //Below/ Saves the player data
  175. void savePlayerData(int local,char* subject,char* grade,int TI){
  176.     playerData[local][0] = subject;
  177.     playerData[local][1] = grade;  
  178.     playerData[local][2] = TI;
  179. }
  180.  
  181. // Structure
  182. void leaderboard(int games){
  183.     system("cls");
  184.     system("color 1E");
  185.     int i;
  186.     for (i = 0;i < games;i++){
  187.         printf("Quiz %d\n\tMatéria: %s\n\tNota: %s\n\tT.I.: %d%%\n",i+1,playerData[i][0],playerData[i][1],playerData[i][2]);
  188.         sleep(1);
  189.     }
  190.     sleep(8);
  191. }
  192.  
  193. void credits(){
  194.     int i,j;
  195.     for (i = 1;i < 20;i++){
  196.         system("cls");
  197.         for (j = 0;j < (20 - i);j++)
  198.             printf("\n");
  199.         printf("\t\t\tDesenvolvido por: \n\n");
  200.         printf("\t\tTainã Romani Lautenschlager Donda\n");
  201.         printf("\t\tKaique Lima de Souza\n");
  202.         printf("\t\tPriscila Aparecida Severo de Souza\n");
  203.         printf("\t\tSara Silva Lima\n");
  204.         printf("\t\tRoberta de Souza Gomes");
  205.         sleep(1);
  206.     };
  207.     sleep(3);
  208. }
  209.  
  210. void quiz(int quests,int played){
  211.     int POINTS = (100 / QUESTIONS); // Points per correct question
  212.  
  213.     int i,n; // Official "for" index
  214.  
  215.     if (played > 0)
  216.         leaderboard(played);
  217.  
  218.     int playerScore = 0;
  219.     int score[2] = {0,0}; // Correct answers, wrong answers
  220.  
  221.     //Below/ Summons the scoreboard
  222.     void scoreboard(){
  223.         printf("Score: %d / 100\t(%d | %d)\n\n",playerScore,score[0],score[1]);
  224.         sleep(1);
  225.     }
  226.  
  227.     system(COLOR);
  228.  
  229.     int subject; // Choosen subject (question base)
  230.     do{
  231.         system("cls");
  232.        
  233.         //Below/ Shows the subject menu
  234.         printf("Escolha um número correspondente a matéria:\n\t0 -> Todas\n\t1 -> L.P.\n\t2 -> I.M.C\n\t3 -> G.S.O.\n\t4 -> T.P.I\n\t5 -> Recreio\n> ");
  235.         scanf("%d",&subject);
  236.     }while((subject < 0) || (subject > 5));
  237.  
  238.     int collectedQuests[quests]; // All the questions that are going to be done
  239.  
  240.     //Below/ Avoids equal numbers
  241.     int isRecycled(int number){
  242.         for (n = 0;n < quests;n++)
  243.             if (collectedQuests[n] == number)
  244.                 return 1;
  245.         return 0;
  246.     }
  247.  
  248.     int randMin,randMax;
  249.     //Below/ Organized rand system
  250.     switch(subject){
  251.         case 0:
  252.             randMin = 0;
  253.             randMax = 99;
  254.             break;
  255.         case 1:
  256.         case 2:
  257.         case 3:
  258.         case 4:
  259.         case 5:
  260.             randMin = (subject-1) * 20;
  261.             randMax = randMin + 19;
  262.     }
  263.  
  264.     int number;
  265.     //Below/ Adds the numbers from the quests array
  266.     for (i = 0;i < quests;i++){
  267.         do{
  268.             number = random(randMin,randMax);
  269.         }while(isRecycled(number) == 1);
  270.         collectedQuests[i] = number;
  271.     }
  272.  
  273.     int currentQuestion,currentSubject;
  274.     char answer[5];
  275.     //Below/ Starts the quiz
  276.     while (quests > 0){
  277.         system("cls");
  278.  
  279.         int qnumber = QUESTIONS - quests; // Number of the current question
  280.         currentQuestion = collectedQuests[qnumber];
  281.         currentSubject = getSubject(subject,currentQuestion);
  282.  
  283.         system("cls");
  284.         system(dataSubjects[currentSubject][1]); // Official subject color
  285.         scoreboard();
  286.         printf("Matéria: %s\n\n",dataSubjects[currentSubject][0]);
  287.         sleep(2);
  288.         printf("%d. %s\n",qnumber+1,dataQuestions[currentQuestion][0]); // Question
  289.         sleep(2);
  290.         printf("\t%s\n",dataQuestions[currentQuestion][1]); // Options
  291.         sleep(1);
  292.         printf("> Resposta: ");
  293.         scanf("%s",&answer);
  294.         tolower(answer);
  295.        
  296.         void summonQuestion(){
  297.             system("cls");
  298.             scoreboard();
  299.             printf("Matéria: %s\n\n> %s\n\t%s\n\n",dataSubjects[currentSubject][0],dataQuestions[currentQuestion][0],dataQuestions[currentQuestion][1]);
  300.         }
  301.  
  302.         //Below/ Answer correction
  303.             //Below/ If the answer is correct
  304.         if (strcmp(answer,dataQuestions[currentQuestion][2]) == 0){
  305.             playerScore += POINTS;
  306.             score[0]++;
  307.             summonQuestion();
  308.             printf("Resposta correta!");
  309.             sleep(4);
  310.         }else{ // If the answer is incorrect
  311.             if (playerScore >= POINTS)
  312.                 playerScore -= POINTS;
  313.             score[1]++;
  314.             summonQuestion();
  315.             printf("Resposta incorreta!\nA resposta esperada era \"%s\" e a resposta informada foi \"%s\".",dataQuestions[currentQuestion][2],answer);
  316.             sleep(7);
  317.         }
  318.  
  319.         quests--;
  320.     }
  321.  
  322.     int TI = playerScore - pow(score[1],0.1) + (score[0]+1)%(score[1]+1);
  323.     if (TI<0)
  324.         TI = 0;
  325.     if (TI>100)
  326.         TI = 100;
  327.    
  328.     //Below/ Take a grade based on the TI value
  329.     char* grade;
  330.     switch(TI/10){
  331.         case 0:
  332.         case 1:
  333.         case 2:
  334.         case 3:
  335.             grade = "I";
  336.             break;
  337.         case 4:
  338.         case 5:
  339.         case 6:
  340.             grade = "R";
  341.             break;
  342.         case 7:
  343.         case 8:
  344.             grade = "B";
  345.             break;
  346.         case 9:
  347.         case 10:
  348.             grade = "MB";
  349.     }
  350.  
  351.     savePlayerData(played,dataSubjects[subject][0],grade,TI);
  352.  
  353.     //Below/ Quiz results
  354.     system("cls");
  355.     char again;
  356.     printf("Você pontuou %d de 100 pontos!\n\tAcertos: %d\n\tErros: %d\n\tNota: %s\n\t> T.I.: %d%%\n\n",playerScore,score[0],score[1],grade,TI);
  357.     sleep(3);
  358.    
  359.     printf("> Responder um novo quiz? (S/N): ");
  360.     scanf("%s",&again);
  361.    
  362.     //Below/ Verifies a new quiz / finish quiz
  363.     if (tolower(again) == 's')
  364.         quiz(QUESTIONS,played + 1);
  365.     else
  366.         credits();
  367. }
  368.  
  369. void main(){
  370.     setlocale(LC_CTYPE,"Portuguese"); // Enables accents
  371.  
  372.     system("title Teste de T.I."); // Offical Quiz title
  373.     system(COLOR); // Official Quiz color
  374.  
  375.     srand(time(NULL)); // Random seed becomes randomic
  376.  
  377.     //Below/ Introduction
  378.     printf("\t\t   --------------------------------------\n\t\t   --------------------------------------\n\t\t   --------------------------------------\n\t\t   |\t\tTESTE DE T.I.\t\t|\n\t\t   |\t\t  Bem-Vindo\t\t|\n\t\t   --------------------------------------\n\t\t   --------------------------------------\n\t\t   --------------------------------------\n\n");
  379.  
  380.     sleep(4);
  381.    
  382.     quiz(QUESTIONS,0); // Questions that are going to be done, quizes that were played until now
  383. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement