Ir ao conteúdo
  • Cadastre-se

gravar números advindos de um arquivo txt


Danielq.ds

Posts recomendados

Olá

Estou tentando fazer um programa que lê os números vindo de um arquivo txt.

Os dados que vêm do arquivo são esses

5

1 11

2 21 22

3 31 32 33

4 41 42 43 44

5 51 52 53 54 55

onde o número 5 do topo representa quantas turmas existem, e os números 1,2,3,4 e 5( da primeira coluna) são a quantidade de elementos que cada grupo tem. Nesse exemplos temos 5 grupos onde oselementos de cada grupo são :{11}, {21,22}, {31,32,33}. {41,42,43,44} e {51,52,53,54,55}

no meu problema eu consigo identificar o número de turmas e os números que representam as quantidades de elementos, porém eu não consigo ler os elementos


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>


void main(void)
{
FILE *fp;
int i;
char Linha[100];
char *result;
char Arquivo[100];
char *resultado;

printf("Digite o nome, ou o caminho do arquivo: ");
scanf("%s", &Arquivo);
fp = fopen(Arquivo, "r");

if(fp==NULL)
printf("Digite um nome de arquivo valido seguido de sua extensao");


int turmas;
int *quant_elem;
int **Elementos;
int k;
turmas=0;


fscanf(fp, "%d", &turmas);
printf("\na quantidade de turmas e : %d\n", turmas);

quant_elem = malloc (turmas * sizeof(int));
for(i=1; i-1<turmas; i++)
{
result = fgets(Linha, 100, fp);
if(result)
fscanf(fp, "%d", &quant_elem[i]);
printf("\na quantidade de elementos e : %d\n", quant_elem[i]);

for(k=0;k <quant_elem[i]; k++)
{
Elementos = malloc(quant_elem[i] *sizeof(int));
resultado = fgets(Linha, 100, fp);
if(resultado)
fscanf(fp, "%d", &Elementos[k]);
printf("\nas pessoas do grupo sao essas: %d\n", Elementos[k]);
}

}





}

O meu programa simplesmente ignora os integrantes do grupo

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...