Boa noite galera ! sou novo aqui, e já peço desculpas se eu falar alguma besteira ou fizer algo errado.
bem, tenho um trabalho da faculdade para entregar, e estou com problema para ler um arquivo, colocando os seus dados em uma estrutura, para maior entendimento, colocarei aqui tudo o que a questão do trabalho pede, e o código que estou com problemas. A questão é a seguinte :
(Desculpe-me) se eu acabar escrevendo muito.
Considere um vetor de ponteiros de 10 posições
– int *vetor[10]
– Cada ponteiro vai apontar para um vetor de tamanho definido pelo
usuário
• Crie uma função insere que deve solicitar ao usuário em qual vetor
(1 a 10) deve inserir e o número a ser inserido
– Se for a primeira vez a inserir um elemento no vetor da posição, deve
solicitar ao usuário o tamanho do novo vetor e inserir.
• Crie uma função para liberar espaços da memória, o usuário deve
informar qual vetor ele quer liberar
• Crie uma função para listar os vetores, se o vetor estiver nulo,
imprimir “vetor X vazio”
• Crie uma função que imprima todos os números de todos os
vetores ordenados.
• Deve ser criado uma vetor auxiliar do tamanho de todos os
outros. Ordene o vetor auxiliar, imprima, e depois libere o
espaço de memória desse vetor auxiliar
* crie uma função para salvar os vetores em um arquivo txt. * crie uma função para carregar (ler) esse arquivo
a questão em negrito, é a que estou com problemas, pois consigo criar e salvar o arquivo, mas n consigo carregar o mesmo
/estrutura usada no código
include
include
include
define max 10typedefstruct estrutura{int*info;int cont;int tam;}Estrutura;// a baixo minha função para carregar o arquivovoid carregar(Estrutura*vetor){if(modo==1){FILE*arquivo;int txtpos =0, txtTam =0, txtCont =0, txtEle =0,i,j;char txtConthar[500];
arquivo = fopen("vetores.txt","r+");for(i =0; i < max; i++){
fscanf(arquivo,"posicao:%dtam:%dcont:%d",&txtpos,&txtTam,&txtCont);
vetor[txtpos].tam = txtTam;
vetor[txtpos].cont = txtCont;
vetor[txtpos].info =(int*) malloc(txtTam *(sizeof(int)));if(txtCont >0){for(j =0; j < txtCont; j++){
fscanf(arquivo,"elemento:%d",&txtEle);
vetor[txtpos].info[j]= txtEle;}}
scanf(arquivo,"\n");}
fclose(arquivo);
system("pause");}else{
system("pause");}}// abaixo, o miolo de meu programa, eu chamo esse miolo dentro do main. A parte destacada com asterisco é a que interessavoidMiolo(Estrutura vetor[]){int opcao;
inicializa(vetor);
menu();
scanf("%d",&opcao);do{switch(opcao){case1:
insere(vetor);
system("pause");
system("cls");break;case2:
libera(vetor);
system("pause");
system("cls");break;case3:
imprime(vetor);
system("pause");
system("cls");break;case4:
listaTodos(vetor);
system("pause");
system("cls");break;//case onde chamo a função carregar.case5:** carregar(vetor);**** system("pause");**** system("cls");****break;**case6:
salvarComo(&modo);if(modo ==1)
salvarTexto(vetor);else
salvarBinario(vetor);
printf("Arquivo Salvo\n");
system("pause");
system("cls");break;default:
printf("\nValor inválido!\n");
system("pause");
system("cls");break;}
menu();
scanf("\n%d",&opcao);}while(opcao !=0);}
Pergunta
Lucio_Leandro
Boa noite galera ! sou novo aqui, e já peço desculpas se eu falar alguma besteira ou fizer algo errado.
bem, tenho um trabalho da faculdade para entregar, e estou com problema para ler um arquivo, colocando os seus dados em uma estrutura, para maior entendimento, colocarei aqui tudo o que a questão do trabalho pede, e o código que estou com problemas. A questão é a seguinte :
(Desculpe-me) se eu acabar escrevendo muito.
Considere um vetor de ponteiros de 10 posições
– int *vetor[10]
– Cada ponteiro vai apontar para um vetor de tamanho definido pelo
usuário
• Crie uma função insere que deve solicitar ao usuário em qual vetor
(1 a 10) deve inserir e o número a ser inserido
– Se for a primeira vez a inserir um elemento no vetor da posição, deve
solicitar ao usuário o tamanho do novo vetor e inserir.
• Crie uma função para liberar espaços da memória, o usuário deve
informar qual vetor ele quer liberar
• Crie uma função para listar os vetores, se o vetor estiver nulo,
imprimir “vetor X vazio”
• Crie uma função que imprima todos os números de todos os
vetores ordenados.
• Deve ser criado uma vetor auxiliar do tamanho de todos os
outros. Ordene o vetor auxiliar, imprima, e depois libere o
espaço de memória desse vetor auxiliar
* crie uma função para salvar os vetores em um arquivo txt.
* crie uma função para carregar (ler) esse arquivo
a questão em negrito, é a que estou com problemas, pois consigo criar e salvar o arquivo, mas n consigo carregar o mesmo
Link para o comentário
Compartilhar em outros sites
0 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.