Bom dia, estou com dificuldades para fazer um programa em C onde este deve importar os valores de uma matriz, esta sendo um arquivo do excel; Importando e salvando esses valores em uma variavél para que possa ser mostrada e manipulada dentro deste programa.

se alguem souber me ajudar de alguma forma, agradeço muito.

segue o arquivo csv e o programa o qual acredito ter varios erros.

Saida.csv

 

#include <stdio.h>

#define ENTRADA "Saida.csv" //nome do arquivo onde esta contida a matriz

#define N 3
#define M 3

main()

{

    int i;
    int Qtd; 
    Qtd=N*M;

   int M_matriz[Qtd];


     FILE * entrada= fopen(ENTRADA,"r");// comando para abrir o arquivo, no caso a matriiz em modo de leitura
    if (entrada == NULL)// verifica se foi possivel abrir o documento
    {
      printf("ERRO: não foi possível abrir o arquivo %s\n", entrada);
      exit(1); //finaliza o programa com o código 1 (ERRO)
    } 

    while(scanf(entrada,"%d",&M_matriz)!=EOF)// copia os valores contidos no arquivo entrada para minha variavel Matriz
    {
       printf("%d\n",M_matriz);// imprime os valores no console do code blocks
    }


   }

Exibições: 2463

Responder esta

Respostas a este tópico

Boa tarde L2CS,

Recomendações:
1. Remova seu sketch da área de texto do seu tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada linha e facilita a ajuda.
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
   com o seu sketch.

RV

Não entendi...

O arquivo está onde, em um cartão SD ???

Se for vc precisa incluir as bilbiotecas e fazer um acesso padrão para cartão SD.

Se vc quer incluir direto no codigo, em tempo de compilação, direto vc não consegue.

Sugiro converter para C, que seria criar uma constante.

O jeito mais polido para fazer isso seria programar no proprio excell, usando VBA (Macro), para te gerar um arquivo apropriado.

Naão irei utilizar cartao sd, estou fazendo apenas com a comunicação de programas dentro do computador, no caso eu criei uma matriz no excel, e vou criar um programa em linguagem c, onde eu irei utilizar dentro do eu programa em c, os valores desta matriz.

Olá Leonardo

Vejo uma inconsistência aqui

#define N 3
#define M 3

Qtd=N*M;

int M_matriz[Qtd];

Pois você quer alocar memória em tempo de execução (alocação dinâmica), nesse caso use malloc() (o sistema precisa saber onde e a quantidade de memória usada), mas caso seja estática coloque um valor fixo na declaração do vetor.

Qual o erro que está aparecendo?

Ahhhhhhhh, achava que era para microcontrolador...

C é uma opção ou vc está sendo obrigado a usar ?

Se está num ambiente PC sugeriria uma linguagem que tenha suporte nativo a tabelas excel, ainda que em .xls.

A ideal é mesmo o VBA, que vc roda dentro do Excel, criando uma macro.

Outra seria o Delphi.

Vide:

http://activedelphi.com.br/forum/viewtopic.php?t=65002&sid=8318...

Ultima resposta. O trecho le uma .xls e mostra um dos valores.

Caso isso não ajude, diga:

- Qual compilador está usando;

- Qual erro está dando;

- Inclua os fontes como anexo.

]

Estou obrigado a usar c, no caso meu erro é ate um pouco geral digamos assim, porque estou usando a funçao fopen para abrir o arquivo, apos, estou usando a funçao fscanf para copiar os dados do meu aquivo, para uma variavel criada dentro de meu programa. na teoria seria isso, e isso deveria funcionar, porem na pratica nao estou consegundo capturar estes valores dentro da minha variavel. estou usando o code blocks.

como assim os fontes?

Caramba! Abrir csv em C é a mesma coisa que recriar a roda rs!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço