Ir para conteúdo

Arquivado

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

k_program

Erro:"cannot convert 'FILE*' to 'const char*'

Recommended Posts

Boa noite!!!!

Estou fazendo um programa q tem q ler dados de um arquivo txt...e mostrar ordenado segundo a opção do usuário...em outro arquivo txt...o problema é que quando compilo aparece um erro q nao consigo identificar...aparece a frase:"cannot convert 'FILE*' to 'const char*'...

Alguém pode me dizer como faço pra arrumar isso???

Qualquer ajuda será bem vinda...

#include <conio.h>#include <stdio.h>#include <iostream.h>#include <string.h>#include <stdlib.h>#include <math.h>int i,j;struct{   int mat;   char nome[41];   char curso[26];   int nota;}reg[20],regtemp;// ___________________________________________________________void ord_nome(){   for(i=0;i<19;i++)	  for(j=i+1;j<20;j++)	 if(strcmp(reg[j].nome,reg[i].nome)<0)	 {		regtemp=reg[i];		reg[i]=reg[j];		reg[j]=regtemp;	 }}//___________________________________________________________________void ord_mat(){   int m,lugar;   for(i=0;i<19;i++)   {	  m=reg[i].mat;	  lugar=i;	  for(j=i+1;j<20;j++)	 if(reg[j].mat<m)	 {		m=reg[j].mat;		lugar=j;	 }   regtemp=reg[i];   reg[i]=reg[lugar];   reg[lugar]=regtemp;   }}//______________________________________________________________void ord_curso(){   for(i=0;i<19;i++)	  for(j=i+1;j<20; j++)	 if(strcmp(reg[j].curso,reg[i].curso)<0)	 {		regtemp=reg[i];		reg[i]=reg[j];		reg[j]=regtemp;	 }}//_________________________________________________________________void ord_nota(){   int m, lugar;   for(i=0;i<20; i++)   {	  m=reg[i].nota;	  lugar=i;	  for(j=i+1;j<20;j++)	  {	 if(reg[j].nota>m)	 {		m=reg[j].nota;		lugar=j;	 }	  regtemp=reg[i];	  reg[i]=reg[lugar];	  reg[lugar]=regtemp;	  }}void main();{   FILE *fent,*fsai;   int escolha=0,a=0;   float soma=0,media=0;   if((fent=fopen("arq_ent.txt","r"))==NULL);   {	  printf("O arquivo de entrada nao pode ser aberto!");	  getch();	  exit(1);   }   if((fsai=fopen("arq_sai.txt","w"))==NULL);   {	  printf("O arquivo de saida nao pode ser aberto!");	  getch();	  exit(1);   }   do   {	  for(i=0;i<20;i++)	  {	 fscanf(fent,"%5d%40c%25c%3d", ®[i].mat,reg[i].nome,reg[i].curso,®[i].nota);	 //reg[40].nome='\';	 //reg[25].curso='\';	  }printf("\n\n ----------------------- ");printf("\n 1 - Ordenar por matricula");printf("\n 2 - Ordenar por nome");printf("\n 3 - Ordenar por curso");printf("\n 4 - Ordenar por nota");printf("\n 5 - Fechar Programa ");printf("\n\n Escolha uma opcao: ");printf("\nEntre com sua escolha:");scanf("%d",&escolha);switch (escolha){   case 1:   {	  ord_mat();	  printf("\n\n Ordenar por Matricula ");	  for(i=0;i<20;i++)	 printf(fsai,"%5d%s%s%d\n",reg[i].mat,reg[i].nome,reg[i].curso,reg[i].nota);	  break;   }   case 2:   {	  ord_nome();	  printf("\n\n Ordenar por Nome ");	  for(i=0;i<20;i++)	 printf(fsai,"%5d%s%s%d\n", reg[i].mat,reg[i].nome,reg[i].curso,reg[i].nota);	 break;   }   case 3:   {	  ord_curso();	  printf("\n\n Ordenar por Curso ");	  for(i=0;i<20;i++)	 printf(fsai,"%5d%s%s%d\n", reg[i].mat,reg[i].nome,reg[i].curso,reg[i].nota);	 break;   }   case 4:   {	  ord_nota();	  printf("\n\n Ordenar por Nota ");	  for(i=0;i<20;i++)	 printf(fsai,"%5d%s%s%d\n", reg[i].mat,reg[i].nome,reg[i].curso,reg[i].nota);	 break;   }   default:	  printf("Opcao errada!!!!!!\n");	  break;}   for(i=0;i<20;i++)	  soma=soma+reg[i].nota;	  media=soma/20;	  for(i=0;i<20;i++)	  {	 if(reg[i].nota>=50)		a++;		//fprintf(fsai,"\n  Alunos Aprovados: %d", a);		//fprintf(fsai,"\n Media: %f",media);	  }   }while (escolha!=5);fprintf(fsai,"\n  Alunos Aprovados: %d", a);fprintf(fsai,"\n Media: %f",media);fclose(fent);fclose(fsai);}getch();}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.