ayudita urgente, porfavor
(es para mañana y el unico fallo es saber encontrar el fin de fichero en la funcion leer(ese while tiene que controlar el caracter fin de fichero o algo), nose, alguien lo sabe, porfavor)
gracias
1.- Escribe un programa en el que introduzcamos nombres y el dnis de varias personas,
lo almacenemos en un fichero. Después leemos los datos del fichero y lo visualizamos,
el ordenador tiene que controlar el fin de fichero, no vale hacerlo con un número fijo.
#include "stdafx.h"
#using <mscorlib.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#include <tchar.h>
using namespace System;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::IO;
__gc class ejer4
{
public:
int d,c;
String *n;
char x;
ejer4(){d=0;c=0;}
~ejer4(){}
int escribir(BinaryWriter *bw)
{
Console::WriteLine(S"cuantos alumnos y notas?");
String *ic=Console::ReadLine();
c=ic->ToInt32(0);
for(int i=0;i<c;i++)
{
Console::WriteLine(S"introduce nombre:");
String *n=Console::ReadLine();
bw->Write(n);
Console::WriteLine(S"introduce dni:");
String *id=Console::ReadLine();
d=id->ToInt32(0);
bw->Write(d);
}
return c;
}
void leer(BinaryReader *br)
{
do{
n=br->ReadString();
if(n!=NULL)
{
d=br->ReadInt32();
Console::WriteLine(n);
Console::WriteLine(d);
Console::WriteLine(S"-");
}
}while(n!=NULL); <--(aki falla)
}
};
int _tmain(void)
{
FileStream *fs=new FileStream("uno.txt",FileMode::Create,FileAccess::ReadWrite);
BinaryWriter *bw=new BinaryWriter(fs);
BinaryReader *br=new BinaryReader(fs);
int c;
ejer4 *d=new ejer4;
ejer4 *d2=new ejer4;
c=d->escribir(bw);
br->BaseStream->Seek(0,SeekOrigin::Begin);
d2->leer(br);
Console::ReadLine();
return 0;
}
gracias
1.- Escribe un programa en el que introduzcamos nombres y el dnis de varias personas,
lo almacenemos en un fichero. Después leemos los datos del fichero y lo visualizamos,
el ordenador tiene que controlar el fin de fichero, no vale hacerlo con un número fijo.
#include "stdafx.h"
#using <mscorlib.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#include <tchar.h>
using namespace System;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::IO;
__gc class ejer4
{
public:
int d,c;
String *n;
char x;
ejer4(){d=0;c=0;}
~ejer4(){}
int escribir(BinaryWriter *bw)
{
Console::WriteLine(S"cuantos alumnos y notas?");
String *ic=Console::ReadLine();
c=ic->ToInt32(0);
for(int i=0;i<c;i++)
{
Console::WriteLine(S"introduce nombre:");
String *n=Console::ReadLine();
bw->Write(n);
Console::WriteLine(S"introduce dni:");
String *id=Console::ReadLine();
d=id->ToInt32(0);
bw->Write(d);
}
return c;
}
void leer(BinaryReader *br)
{
do{
n=br->ReadString();
if(n!=NULL)
{
d=br->ReadInt32();
Console::WriteLine(n);
Console::WriteLine(d);
Console::WriteLine(S"-");
}
}while(n!=NULL); <--(aki falla)
}
};
int _tmain(void)
{
FileStream *fs=new FileStream("uno.txt",FileMode::Create,FileAccess::ReadWrite);
BinaryWriter *bw=new BinaryWriter(fs);
BinaryReader *br=new BinaryReader(fs);
int c;
ejer4 *d=new ejer4;
ejer4 *d2=new ejer4;
c=d->escribir(bw);
br->BaseStream->Seek(0,SeekOrigin::Begin);
d2->leer(br);
Console::ReadLine();
return 0;
}
