Jump to content

Tratamento de ficheiros


CuecaoXD
 Share

Recommended Posts

Escrever um programa em C que permita criar um ficheiro para guardar os dados Nome(uma so palavra), e Numero dos 5 alunos do curso(os dados de cada aluno ficam numa só linha).

O nome do ficheiro deverá ser introduzido pelo utilizador. Não deverá ser possivel utilizar um ficheiro existente.

Apos a introdução dos dados deverão ser apresentados os dados de todos os alunos registados(1 aluno em cada linha).

O que eu tenho é o seguinte:

#include <stdio.h>

typedef struct{
  char Nome[30];
  int num;
}ALUNO;

int main()
{
  ALUNO alunos[5];
  char nomeficheiro[50];
  int i,j;
  FILE *ficheiro;

  ficheiro=fopen(nomeficheiro, "r");
  if(ficheiro !=NULL){
     printf("Ficheiro existente, terminou o programa");
     fclose(ficheiro);
     return 100;
  }
  ficheiro=fopen(nomeficheiro, "w");
  for(i=0;i<5;i++)
  {
     for(j=i;j<5;j++)

printf("Introduza odo pelo utilizador. Não deverá ser possiv nome do aluno: \n");
puts("%s",alunos.Nome[i]);
printf("Introduza o numero do aluno: \n");
puts("%s",&alunos.num[i]);
  }
  fclose(ficheiro);
}

Porque o meu for de dentro está mal? Alguem me pode dizer o porquê e para que serve? E como é sefasvor

Link to comment
Share on other sites

HappyHippyHippo

Alguem me pode dizer o porquê e para que serve?

visto que o código foi idealizado e implementado por ti, quem tem de responder a essa questão és tu

por isso, te pergunto:

- qual a razão de teres escrito esse for ?

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

bem, a primeira coisa que podes fazer é mudar de explicador.

depois, apagas tudo que vem depois da confirmação da existência do ficheiro

no final, voltas a pensar e escrever a solução, porque isso não tem ponta por onde se lhe pegue.

se tiveres mais alguma dúvida, é só dizer

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

ou então tentas pensar no que deves fazer, tentas implementar, e se alguma coisa não entrar na engrenagem, apresentas a tua dúvida

ps : eu não tenho de provar que sei fazer o código que é pretendido que tu faças

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

podes não percebe, mas o que estou a fazer é mesmo ajudar.

como disse, tens de pensar no que tens de fazer.

tenta resolver o problema em pseudo-código, apresentando aqui a tua solução.

se a solução estiver correcta, podes então aplicar a solução em código

como disse, se tiveres uma duvida, apresenta, não é pedir que te façam o problema que irás ter uma resposta que te ajude

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

já consegui fazer

já agora tou noutro exercicio so me falta uma parte que é apresentar todos os artigos mas só os que forem inferiores a 200, como faço?

#include <stdio.h>

typedef struct{
int codigo;
char descricao[50];
}ARTIGO;

int main()
{
int num_artig,i,j;  
char caracter;

printf("Introduza o número de artigos a introduzir: ");
scanf("%d",&num_artig);

ARTIGO artigos[num_artig];
FILE *ficheiro;

ficheiro=fopen("Artigos.txt","a");
for(i=0;i<num_artig;i++){
printf("Introduza o codigo do artigo: ");
scanf("%d",&artigos[i].codigo);
printf("Introduza a descriçao do artigo: ");
scanf("%s", artigos[i].descricao);

fprintf(ficheiro,"%d",artigos[i].codigo);
fprintf(ficheiro,"\n");

for(j=0;artigos[i].descricao[j]!='\0';j++){
fputc(artigos[i].descricao[j],ficheiro);
}
fprintf(ficheiro,"\n");
}
fclose(ficheiro);

ficheiro=fopen("Artigos.txt","r");
while((caracter=fgetc(ficheiro))!=EOF){
putchar(caracter);
}
fclose(ficheiro);
return 0;
}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.