|    
			
				08/06/2008, 10:25
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: junio-2008 
						Mensajes: 4
					 Antigüedad: 17 años, 4 meses Puntos: 0 |  | 
  |  Respuesta: alta ordenada en ficheros  
  wenoantetodo, gracias a mephisto por contestar.......
 al final logre sacarlo
 aqui dejo un ejemplo de lo que queria hacer:
 
 #include<iostream>
 #include<cstdlib>
 struct r_pdatos{
 int codigo;
 char curso[4];
 char nombre[20];
 int edad;
 char telefono[10];};
 void pedir_datos(struct r_pdatos *,int);
 using namespace std;
 
 int main (int argc, char *argv[]){
 struct r_pdatos pda;
 FILE *f;
 int tamany,trobat=0;
 
 cout<<"--> DAR DE ALTA CODIGO AUTOMATICO <--"<<endl<<endl;
 
 if ((f=fopen("pdatos.dat","ab+"))==NULL)
 { cout<<"Error no se puede dar de alta. El fichero no se abre";
 exit(1);
 }
 fseek(f,0,SEEK_END);//calcular tamaño
 tamany=ftell(f);
 if(tamany==0)
 pedir_datos(&pda,1);
 
 else{
 fseek(f,tamany-sizeof(pda),SEEK_SET);
 fread(&pda,sizeof(pda),1,f);
 fseek(f,0,SEEK_END); //o fseek(f,0,SEEK_SET);
 pedir_datos(&pda,pda.codigo+1);
 }
 
 fwrite(&pda,sizeof(pda),1,f);
 fclose(f);
 system ("PAUSE");
 }
 
 void pedir_datos (struct r_pdatos *a, int c)
 {
 a->codigo=c;
 cout<<"Introduce nombre: ";
 cin.getline(a->nombre,20);
 cout<<"Introduce curso: ";
 cin.getline(a->curso,4);
 cout<<"Introduce edad: ";
 cin>>a->edad;
 cin.get();
 cout<<"Introduce telefono: ";
 cin.getline(a->telefono,10);
 }
 
 
 esto te pondria el codigo automaticamente, por si a alguien mas le sirve
 
 hasta otra
     |