Hola amigos alguien que me pueda ayudar con mi codigo no logro guardar el archivo en binario solo en txt si me pueden ayudar a revisar que me hace falta a mi codigo muchas gracias.
Codigo
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
Codigo
Código (cpp) [Seleccionar]
#include "NuevoAlumno.h"
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <stdio.h>
#include <fstream>
#include <cstring>
#include <string>
#include <conio.h>
using namespace std;
NuevoAlumno::NuevoAlumno()
{
//ctor
}
NuevoAlumno::~NuevoAlumno()
{
//dtor
}
NuevoAlumno::NuevoAlumno(const char * vNombre,const char *vApellido, int vNota1, int vNota2, int vNota3)
{
this->nombre = new char[30];
strcpy(this->nombre, vNombre);
this->apellido = new char[30];
strcpy(this->apellido, vApellido);
this->nota1 = vNota1;
this->nota2 = vNota2;
this->nota3 = vNota3;
}
void NuevoAlumno::AgregarAlumno()
{
string nombreArchivo;
cout<< "Ingrese el nombre del archivo: "<<endl;
cin>>nombreArchivo;
ofstream archivo(
nombreArchivo.data(),
ios::out| ios::in | ios::binary );
if (!archivo)
{
cout<<"Error!!! No se pudo"
<<"abrir el archivo."
<<endl;
system("pause");
return ;
}
int nota1=0;
int nota2=0;
int nota3=0;
char nombre[20];
char apellido[20];
float promedio=0;
int numeroLista;
cout<<"Ingrese el numero de lista"
<<" (0 para terminar)"<<endl;
cin>>numeroLista;
while(numeroLista > 0)
{
cout<<"Ingrese Nombre : ";
cin>>nombre;
cout<<"Ingrese Apellido : ";
cin>>apellido;
cout<<"Ingrese nota 1: ";
cin>>nota1;
cout<<"Ingrese nota 2: ";
cin>>nota2;
cout<<"Ingrese nota 3: ";
cin>>nota3;
promedio=(nota1+nota2+nota3)/3;
cout<<"Promedio del Alumno :"<<promedio<<"%";
cout<<endl;
cout<<endl;
archivo<<numeroLista<<" "
<<nombre<<" "
<<apellido<<" "
<<nota1<<" "
<<nota2<<" "
<<nota3<<" "
<<promedio<<endl;
cout<<"Ingrese numero de lista:"
<<" (0 para terminar) :";
cin>>numeroLista;
}
archivo.close();
cout<<"\nOperacion finalizada"
<<" con exito\n\n";
}
void NuevoAlumno::MostrarAlumno()
{
string nombreArchivo;
bool encontrado=false;
cout<<"Ingrese el nombre "
<<"del archivo a abrir: ";
cin>>nombreArchivo;
ifstream archivo(
nombreArchivo.data(),
ios::in | ios::binary );
if(!archivo)
{
cout<<"Error!!! no se pudo"
<<" abrir el archivo."
<< endl;
system("pause");
return ;
}
int numeroLista=0;
char nombre[20];
char apellido[20];
float promedio;
int nota1=0;
int nota2=0;
int nota3=0;
cout<<'\n'
<<setw(10) << "Numero de Lista: "
<<setw(20) << "Nombre: "
<<setw(20) << "Apellido: "
<<setw(15) << "Nota 1: "
<<setw(15) << "Nota 2: "
<<setw(15) << "Nota 3: "
<<setw(15) << "Promedio: "
<<fixed << setprecision(2)
<<endl;
for(int i=0; i<110; i++)
cout<<'=';
cout<<endl;
archivo>>numeroLista
>>nombre
>>apellido
>>nota1
>>nota2
>>nota3
>>promedio;
while(!archivo.eof())
{
cout<<setw(5)<<numeroLista
<<left<<setw(15)<<nombre
<<left<<setw(15)<<apellido
<<setw(15)<<nota1
<<setw(15)<<nota2
<<setw(15)<<nota3
<<right<<setw(15)<<promedio
<<endl;
archivo>>numeroLista
>>nombre
>>apellido
>>nota1
>>nota2
>>nota3
>>promedio;
}
archivo.close();
cout<<"\nOperacion finalizada"
<<" con exito\n\n";
system("pause");
return ;
}
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex