alphasil Posted April 18, 2012 at 03:14 PM Report #449722 Posted April 18, 2012 at 03:14 PM 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
pmg Posted April 18, 2012 at 03:22 PM Report #449727 Posted April 18, 2012 at 03:22 PM 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!
petvetbr Posted April 18, 2012 at 03:26 PM Report #449733 Posted April 18, 2012 at 03:26 PM é 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
alphasil Posted April 18, 2012 at 03:47 PM Author Report #449740 Posted April 18, 2012 at 03:47 PM 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
pmg Posted April 18, 2012 at 04:01 PM Report #449748 Posted April 18, 2012 at 04:01 PM Não queres pensar numa base de dados? Faz uma pesquisa sobre SQLite ... 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!
alphasil Posted April 18, 2012 at 06:30 PM Author Report #449804 Posted April 18, 2012 at 06:30 PM 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
pmg Posted April 18, 2012 at 06:36 PM Report #449805 Posted April 18, 2012 at 06:36 PM 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!
alphasil Posted April 18, 2012 at 06:59 PM Author Report #449811 Posted April 18, 2012 at 06:59 PM 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
pmg Posted April 18, 2012 at 07:17 PM Report #449816 Posted April 18, 2012 at 07:17 PM 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!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now