tuga Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 consegui efectuar a leitura de dados de um ficheiro tipo:UR a 1 2 20 30Rx 2 3 10R c 3 2 30mas depois cheguei à parte para ,listar os dados e parei porque não sei que se passa#include<stdio.h>#include<stdlib.h>struct netlist{char tipo_de_componente[2];char referencia;int no1;int no2;int valor1;int valor2;} equa[50];main(){ abertura_ficheiro();}abertura_ficheiro(){ char nome_ficheiro[10]; FILE *fp; int k,i; printf("Insira o nome do ficheiro ou insira sair para fechar programa\n"); gets(nome_ficheiro); if(strcmp(nome_ficheiro,"sair")==0) exit(0); else /*abrir o ficheiro*/ fp = fopen(nome_ficheiro,"r"); /*se o ficheiro foi aberto com sucesso*/ if(fp==NULL){ printf("Impossivel abrir o ficheiro %s\n",nome_ficheiro); abertura_ficheiro(); } else printf("Ficheiro %s aberto com sucesso\n",nome_ficheiro); getchar(); for(k=0;!feof(fp);k++){ fscanf(fp,"%s %c %d %d %d %d",&equa[k].tipo_de_componente,&equa[k].referencia,&equa[k].no1,&equa[k].no2,&equa[k].valor1,&equa[k].valor2);}fclose(fp);listar(); } listar(){int i;for(i=0;i>=50;i++){ printf(" %s %c %d %d %d %d",equa[i].tipo_de_componente,equa[i].referencia,equa[i].no1,equa[i].no2,equa[i].valor1,equa[i].valor2);getchar();getchar();}}a parte que não está a funcionar é a função listar...vejam e digam alguma coisaobrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 for(i=0;i>=50;i++){ quando o i vai ser maior ou igual que 50? nunca, então não passa pelo loop corrigindo for(i=0;i<50;i++){ variando de 0 a 49 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tuga Postado Dezembro 5, 2006 Autor Denunciar Share Postado Dezembro 5, 2006 obrigadãoera um pequeno promenor que não tinha reparado!!!valeu!!!!:-) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 6, 2006 Denunciar Share Postado Dezembro 6, 2006 obrigadãoera um pequeno promenor que não tinha reparado!!!valeu!!!!foi nada!!!isso acontece mesmo :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tuga
consegui efectuar a leitura de dados de um ficheiro tipo:
UR a 1 2 20 30
Rx 2 3 10
R c 3 2 30
mas depois cheguei à parte para ,listar os dados e parei porque não sei que se passa
#include<stdio.h>
#include<stdlib.h>
struct netlist
{
char tipo_de_componente[2];
char referencia;
int no1;
int no2;
int valor1;
int valor2;
} equa[50];
main()
{
abertura_ficheiro();
}
abertura_ficheiro()
{
char nome_ficheiro[10];
FILE *fp;
int k,i;
printf("Insira o nome do ficheiro ou insira sair para fechar programa\n");
gets(nome_ficheiro);
if(strcmp(nome_ficheiro,"sair")==0)
exit(0);
else
/*abrir o ficheiro*/
fp = fopen(nome_ficheiro,"r");
/*se o ficheiro foi aberto com sucesso*/
if(fp==NULL){
printf("Impossivel abrir o ficheiro %s\n",nome_ficheiro);
abertura_ficheiro();
}
else
printf("Ficheiro %s aberto com sucesso\n",nome_ficheiro);
getchar();
for(k=0;!feof(fp);k++){
fscanf(fp,"%s %c %d %d %d %d",&equa[k].tipo_de_componente,&equa[k].referencia,&equa[k].no1,&equa[k].no2,&equa[k].valor1,&equa[k].valor2);
}
fclose(fp);
listar();
}
listar()
{
int i;
for(i=0;i>=50;i++){
printf(" %s %c %d %d %d %d",equa[i].tipo_de_componente,equa[i].referencia,equa[i].no1,equa[i].no2,equa[i].valor1,equa[i].valor2);
getchar();getchar();
}
}
a parte que não está a funcionar é a função listar...
vejam e digam alguma coisa
obrigado
Link para o comentário
Compartilhar em outros sites
3 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.