Rafael F. Postado Novembro 10, 2007 Denunciar Share Postado Novembro 10, 2007 E ai pessoal...tenho um trabalho de estatistica pra fazer em C++. E neste trabalho eu preciso ler os dados de um arquivo txt, para fazer os calculos necessarios.o exercicio pede dessa maneira:"O programa deverá ler um arquivo texto com duas colunas, sendo que a primeira coluna contém os dados da variável Ye a segunda coluna contém os dados da variável X. Procure deixar o seu programa bem flexível (ou seja, ele deverá lero arquivo texto com qualquer quantidade de linhas e aceitar valores negativos, inclusive o valor zero)."o arquivo tem essa "formatação":as duas colunas separadas por espaço86,0 1,8349,2 1,5784,0 1,8554,5 1,6052,5 1,6858,5 1,6587,0 1,7368,5 1,7855,0 1,5858,0 1,6459,0 1,6552,0 1,6160,5 1,6047,0 1,64Eu procurei no forum algo que pudesse me ajudar mas não achei....Se possivel, eu gostaria que alguém me ajudasse pois, não tenho ideia de como importar esses dados, achei no tópico algo sobre a biblioteca dirent.h mas parece que ela so percorre o diretorio.Desde já agradeço!abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 flavio Postado Novembro 11, 2007 Denunciar Share Postado Novembro 11, 2007 Tinha um código quase pronto, então lá vai:#include <stdio.h> #include <stdlib.h> int main() { FILE *arq; //Quantidade de linhas (pode servir pra algum calculo estatistico) int quant=0; //Tamanho de caracteres encontrados em uma linha (chute) char linha[50]; //Não foi feito aqui aquele teste pra saber se o arquivo foi lido corretamente (não precisei) arq = fopen("dados.txt", "r"); //Enquanto não alcançar o fim do arquivo, faça o seguinte linha por linha: while(fgets(linha, sizeof(linha), arq) ) { quant++; //Imprima o dado da primeira coluna printf("Y[%d] = %lf\t",quant, atof(strtok(linha, " "))); //Imprima o dado da segunda coluna printf("X[%d] = %lf\n",quant, atof(strtok(NULL, " "))); } fclose(arq); system("pause"); return 0; }OBS.: Os números do arquivo devem estar com ponto (.) e não com vírgula (,).Veja mais detalhes sobre as funções: atof, strtok, fopen, fgetsA função fopen, no exemplo, está lendo o arquivo dados.txt, mas você poderia usar uma variável, passada pelo usuário.Flws! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael F. Postado Novembro 16, 2007 Autor Denunciar Share Postado Novembro 16, 2007 E ai cara vlw pelo codigo mas tipo assim...eu qbrei a cabeça no feriadao tentando fazer isso...O codigo que você me passou não ta rodando..... Eu uso o Builder 4, consegui rodar ele no Dev mas rodou uma vez só....ta dando erro no while, mas isso acho q da pra resolver....queria pedir se tem jeito de me explicar como q eu posso atribuir os dados do arquivo em uma varialvel no caso tem q ser um vetor....//Enquanto não alcançar o fim do arquivo, faça o seguinte linha por linha: while(fgets(linha, sizeof(linha), arq) ) { linha[quant] = atof(strtok(linha, " "); linha2[quant] = atof(strtok(NULL, " "); quant++; }será que eu posso fazer tipo isso ai em cima????vlwwabraço!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Novembro 17, 2007 Denunciar Share Postado Novembro 17, 2007 Voce pode criar dois vetores float, por exemplo x, y.Ai implemente seu código.//Enquanto não alcançar o fim do arquivo, faça o seguinte linha por linha: while(fgets(linha, sizeof(linha), arq) ) { x[quant] = atof(strtok(linha, " "); y[quant] = atof(strtok(NULL, " "); quant++; }Tenho dúvidas se y receberá corretamente os dados, teste isso.Talvéz seja necessário colocar um \n nos tokens. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael F. Postado Novembro 17, 2007 Autor Denunciar Share Postado Novembro 17, 2007 vou tentar cara....obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Grelo Postado Novembro 19, 2007 Denunciar Share Postado Novembro 19, 2007 E ae pessoal beleestou com uma duvida parecida perem ao invés de importar dados(numero)gostaria q fossen importados perguntas e alternarivas pra um jogo de perguntas e respostasuma de cada vez assim depois q o usuário respondesse a pergunta apareceria outraalguém poderia me ajudar aevlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Novembro 19, 2007 Denunciar Share Postado Novembro 19, 2007 Exemplo:Formate o arquivo e use essa informacão para buscar o que precisa.Meu arquivo deve conter 1 pergunta e 4 alternativas.Leia cinco linhas:- Pergunta1. alternativa2. alternativa3. alternativa4. alternativavoce pode usar o fgetsfor (i=0; i<5; i++){ fgets(linha, sizeof(linha), arq); printf("%s",linha); }Pronto, assim já vai estar na tela.Logo em seguinda leia a resposta do cara.Isso pode ser colocado num loop até encontrar o EOF "fim de arquivo". Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Grelo Postado Novembro 19, 2007 Denunciar Share Postado Novembro 19, 2007 ow cara vlew heinresolução boa a sua ajudou muito caravo tentar essa ae Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rafael F.
E ai pessoal...
tenho um trabalho de estatistica pra fazer em C++. E neste trabalho eu preciso ler os dados de um arquivo txt, para fazer os calculos necessarios.
o exercicio pede dessa maneira:
"O programa deverá ler um arquivo texto com duas colunas, sendo que a primeira coluna contém os dados da variável Y
e a segunda coluna contém os dados da variável X. Procure deixar o seu programa bem flexível (ou seja, ele deverá ler
o arquivo texto com qualquer quantidade de linhas e aceitar valores negativos, inclusive o valor zero)."
o arquivo tem essa "formatação":
as duas colunas separadas por espaço
86,0 1,83
49,2 1,57
84,0 1,85
54,5 1,60
52,5 1,68
58,5 1,65
87,0 1,73
68,5 1,78
55,0 1,58
58,0 1,64
59,0 1,65
52,0 1,61
60,5 1,60
47,0 1,64
Eu procurei no forum algo que pudesse me ajudar mas não achei....
Se possivel, eu gostaria que alguém me ajudasse pois, não tenho ideia de como importar esses dados,
achei no tópico algo sobre a biblioteca dirent.h mas parece que ela so percorre o diretorio.
Desde já agradeço!
abraço!
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.