Jump to content

Ficheiro com perguntas e respostas


Recommended Posts

Posted

Olá

Quero criar um ficheiro que tenha esta estrutura

ID_Pergunta|Pergunta|Opção1|Opção2|Opção3|Opção4|RespostaCorrecta

criar um ficheiro sei, a minha dúvida é como se põe assim, e ao escolher a opção, ele me dê a resposta correta.

as posições tem de ser por coordenadas x e y???

cumps

gmc11

 

Posted

Podes dar uns exemplos de perguntas, opções e respostas?

As opções são sempre 4?

Qual é o objectivo final deste ficheiro?

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

é mais ou menos isto, você precisa criar alguma forma de delimitar os diversos campos no ficheiro, alguns dos mais utilizados são por posicionamento ou por algum delimitador, assim se for o primeiro caso (mais fácil de fazer), você sabe que cada registro por exemplo tem 710 bytes, aí você pode dividir eles assim:

ID -> 9 bytes

Pergunta-> 300 bytes

Opcao1->100 bytes

Opcao1->100 bytes

Opcao1->100 bytes

Opcao1->100 bytes

Resposta correta: 1 byte

Aí é só usar o cursor dentro do ficheiro para ir lendo o arquivo. Você por exemplo, se você quiser ler o 3o registro , sabe que deve iniciar a leitura na posição 2130 e ler 710 bytes. e assim vai.

Outra forma de fazer isto é com um delimitador ou usando por exemplo XML, mas isto é mais complexo de fazer e para ficheiros pequenos geralmente não compensa.

Fernando Lage Bastos - MCP/MCTS/MCPD

Posted

Olá

O objetivo é fazer estilo um quiz.

Tenho a pergunta, e tenho 4 opções, depois das perguntas serem apresentadas o utilizador escolhe a opção e depois dá-lhe a opção correta.

Terei de criar muitas perguntas porque elas terão de ser aleatoriamente..

gmc11

 

Posted

Oi

Até fazia mas tem de ser em ficheiros...

Se se puser tudo numa linha.....poupa-se tempo.

Pensei em usar um dois pontos para separar tudo, a questão é como é que ponho isso a assumir que dois pontos delimitam cada campo?

cumps

gmc11

 

Posted

Entao ... faz isso mesmo. Poe tudo numa linha que les com fgets() e separas com strtok().

    while (fgets()) {
        id = strtok(linha, ":");
        pergunta = strtok(NULL, ":");
        opcao1 = strtok(NULL, ":");
        opcao2 = strtok(NULL, ":");
        opcao3 = strtok(NULL, ":");
        opcao4 = strtok(NULL, ":");
        resposta = strtok(NULL, ":");
    }

falta validacoes!!

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

Oi

Seria uma coisa assim?

#include <string.h>
char *strtok( char *str1, const char *str2 );
char str[] = "1# Capital de Portugall # Porto # Faro # Braga # Lisboa # Lisboa";
char delims[] = "#";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
    printf( "result is \"%s\"\n", result );
    result = strtok( NULL, delims );
}

Vi este exemplo e parece-me que parecido ao teu..

gmc11

 

Posted

Seria uma coisa assim?

Mais ou menos. Este exemplo nao usa as partes separadas para coisas diferentes. Simplesmente imprime cada parte ...

E nao tem a parte de ler o ficheiro ...

E o prototipo da funcao strtok() esta no header, nao se deve "duplicar" no codigo.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.