Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
JoaoNascimento

Erro ao tentar escrver em ficheiro..

Recommended Posts

JoaoNascimento

A tentar escrever num ficheiro uam determinada informação que o utilizador pesquise deixa de funcionar.

Codigo:

void psq_ano(char curso[50],char nomeuc[N][50],char area_cientifica[N][50], int ects[N], int opcional[N],char doc_res[N][50],float docentes[N],int ano[N],int semestre[N],float turm_t[N],float turm_tp[N],float turm_p[N],float turm_pl[N],float turm_ac[N],float turm_ot[N],float turm_s[N],float t[N],float p[N],float tp[N],float pl[N],float ac[N],float ot[N],float s[N])
{
int ano_ref, i, op;
char ficheiro[50];
FILE *pf;

printf("Insira o ano do curso: \n");
scanf("%d",&ano_ref);

printf("                                                       Carga Horária\n");
printf("           Unidade curricular   Area Cientifica\tDocente Resp.\tDocentes\tAno\tSem\tT\tTP\tP\tPL\tAC\tOT\tS\tT\tP\tTP\tPL\tAC\tOT\tS\n");
for(i=0;i<N;i++)
{
	if (ano[i]==ano_ref)
	{
		printf("%30s\t%10s\t%2d\t%2d\t%10s\t%2f\t%2d\t%2d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",nomeuc[i],area_cientifica[i],ects[i],opcional[i],doc_res[i],docentes[i],ano[i],semestre[i],turm_t[i],turm_tp[i],turm_p[i],turm_pl[i],turm_ac[i],turm_ot[i],turm_s[i],&t[i],&p[i],tp[i],pl[i],ac[i],ot[i],s[i]);
	}
}
system("pause");

//Guardar os dados num ficheiro de texto
fflush(stdin);
system("cls");
printf("Deseja guardar a informação num ficheiro de texto: \n");
printf("\t1 - Sim\n");
printf("\t2- Nao\n");
scanf("%d",&op);

	switch (op)
	{
	case 1:
	{
		fflush(stdin);
		puts("Introduza o nome com o qual quer gravar o ficheiro: ");
		gets(ficheiro);

		//Abertura do ficheiro
		pf=fopen(ficheiro,"w");

		if( pf == NULL )
		{
			printf("Erro de abertura\n");
		}
		else
		{
			for( i = 0 ; i < N ; i++ )
			{
				if(ano[i] == ano_ref)
				{
					fprintf(pf,"%s\t%s\t%s\t%d\t%d\t%s\t%f\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\n" ,curso[i],nomeuc[i],area_cientifica[i],ects[i],opcional[i],doc_res[i],docentes[i],ano[i],semestre[i],turm_t[i],turm_tp[i],turm_p[i],turm_pl[i],turm_ac[i],turm_ot[i],turm_s[i],t[i],p[i],tp[i],pl[i],ac[i],ot[i],s[i]);
				}
			}
		}
	}
	case 2: printf("Adeus!\n");
	}
}

Share this post


Link to post
Share on other sites
Localhost

As tuas dúvidas costumam ser muito vagas. Não podes simplesmente deixar aqui o código e esperar que os outros procurem pelo erro.

Se precisares de debuggers avisa que o pessoal indica-te um.


here since 2009

Share this post


Link to post
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
Sign in to follow this  

×

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.