Ir para conteúdo
Fórum Script Brasil

Lucio_Leandro

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Lucio_Leandro

Lucio_Leandro's Achievements

0

Reputação

  1. 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 10 typedef struct estrutura{ int *info; int cont; int tam; } Estrutura; // a baixo minha função para carregar o arquivo void 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 interessa void Miolo(Estrutura vetor[]){ int opcao; inicializa(vetor); menu(); scanf("%d", &opcao); do{ switch(opcao){ case 1: insere(vetor); system("pause"); system("cls"); break; case 2: libera(vetor); system("pause"); system("cls"); break; case 3: imprime(vetor); system("pause"); system("cls"); break; case 4: listaTodos(vetor); system("pause"); system("cls"); break; //case onde chamo a função carregar. case 5: ** carregar(vetor);** ** system("pause");** ** system("cls");** ** break;** case 6: 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); }
×
×
  • Criar Novo...