question

Pascal quiz nao repetir perguntas?

Ei rapazes e moças,
Eu tenho um projeto de fazer um teste usando a linguagem pascal. Estou fazendo muito bem com a exceção que se repetem as perguntas (10 perguntas são escolhidas aleatoriamente de um total de 20 questões).
Aqui está parte do meu código:

x: = 1 a 10
começar
Rand: = aleatório + 1 (20);
writeln(question[Rand]);
writeln(Choice[Rand]);
ReadLn(UserChoice);
se (userchoice = answer[rand]), em seguida,
começar
writeln ('correto');
Pontuação: = Contagem + 1;
writeln ('é sua pontuação, pontuação);
final
outra coisa
writeln ('Incorreto', 'a resposta foi', answer[rand]);
final;
clrscr;
writeln ('seu escore total para o quiz carro fácil é', pontuação);

As perguntas, respostas e escolhas são na forma de uma matriz como esta:
pergunta [1]: =' o nissan skyline gtr é projetado para:';
escolha [1]: = (1: acelerar rapidamente 2:have um 3:corner de muito alta velocidade rapidamente ');
resposta [1]: = 3;
questão [2]: =' o carro de estrada mais rápido do mundo é o:';
escolha [2]: = 'átomo 1:ariel 2:Bugatti EB 16.4 veyron enzo 3:Ferrari';
resposta [2]: = 1;
pergunta [3]: =' mundos roadcar mais caro é o:';
escolha [3]: = '1:Lamborghoni gallardo 2:Bugatti EB 16.4 Veyron super sport 3:Ferrari Enzo';
resposta [3]: = 2;
pergunta [4]: =' o carro Mundial do ano 2010 é o:';
escolha [4]: = '1:Volkswagen Polo 2:audi TT 3:Toyota Auris';
responder [4]: = 1;
pergunta [5]: =' que é o carro mais vendido de todos os tempos:';
escolha [5]: = '1:Fiat punto 2:Ford escort 3:Toyota Corolla';
responder [5]: = 3;
Ajuda muito apreciada
Obrigado (sou um novato em pascal para tentar ser um pouco simples por favor :)
resposta Resposta
Oi, o programa de demonstração abaixo deve dar-lhe a idéia. Isso usa matrizes em linha para sinalizar que perguntas têm sido utilizadas, e laços através de todas questões apenas uma vez, até que todas as perguntas têm sido utilizadas.

Sinta-se livre para deixar-me saber se você ainda precisar de ajuda.

Demo programa místico;

var p: matriz [operador] de cadeia de caracteres; matriz de f: {perguntas} [operador] de boolean; {sinalizadores (falso padrão)} Pergunta: string; i: inteiro; função QuestionsRemain: inteiro; var res, i: inteiro; começar res: = 0; para i: = 1 a 10 não se f [i] = false então res: = res + 1; QuestionsRemain: = res; final; Procedimento de {QuestionRemain} GetRandomQuestion (var pergunta: string); var n: inteiro; b: boolean; começar b: = False; repetir n: = Random(10) + 1; {número aleatório do operador} se f [n] = false então começar pergunta: = q [n]; f [n]: = True; b: = True; final; {se} até b; final; {GetRandomQuestion} começar Randomize; para i: = 1 a 10 não Str(i,q[i]);

enquanto QuestionsRemain > 0 começar GetRandomQuestion(Question); WriteLn(Question); final; {e} end.

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta




Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved