necesito ayuda con el tema de los ficheros


16 de Abril del 2016

este es mi codigo digamen DONDE ESTOY FALLANDO ahhh otra cosa estoy aprendiendo a programar 

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <conio.h>
using namespace std;      

ofstream escribir;
ifstream salida;

struct equipo_de_beisbol // struct del programa
{
string nombre_equipo;
int numero_victoria ;

void registrar (string equipo,int _numero_victoria) // funcion para registrar
{
nombre_equipo = equipo;
numero_victoria = _numero_victoria;

};

void consultar () // funcion para consultar
{
salida.open("datos4.txt",ios::in);

if ( salida.fail() )
{
cout << "fallo al abrir el archivo entrando"<< endl;
getch();
}
else
{
salida >> nombre_equipo;
while (!salida.eof()){

salida >> numero_victoria;

cout << " " << nombre_equipo;
cout << " " <<numero_victoria<<endl;

salida >> nombre_equipo;

}
}
getch();
// salida.close();
};

void guardar () // funcion para guardar
{
escribir.open("datos4.txt",ios::out | ios::app);
if (escribir.fail())
{
cout << "el archivo no se creo correctamente "<< endl;
getch();
}else{

cout<<" " <<endl;
escribir <<nombre_equipo << endl;
escribir <<numero_victoria << endl ;
cout<<" " <<endl;

escribir.close();
cout << "guardando " << endl;
getch();
}

};
};

int main (){
// main
int op,sel;
cout << "introduzca la cantidad de equipos a registrar :" << endl;
cin >> sel;

equipo_de_beisbol equipo[sel];

string nombre_equipo;//,nombre_jugador,nombre_picher;
int numero_victoria;//,numero_derrota,numero_errores,numero_homerun,numero_homerun_jugador,numero_ponche;

do{
cout << " seleccione una opcion "<< endl;
cout << " 1- opcion registrar "<< endl;
cout << " 2- opcion consultar "<< endl;
cout << " 3- guardar" << endl;
cout << " 4- salir" << endl;
cout << " "<< endl;
cin >> op;

switch (op)
{
case 1: // caso para llenar la funcion de registrar
cout << "vaya llenando cada pregunta :" << endl;
for (int i = 0 ; i < sel ; i++)
{
cin.ignore();
cout << "nombre del equipo"<< i+1 << " :"<< endl;

getline(cin, nombre_equipo);
cout << "numero de victorias :" << endl;
cin >> numero_victoria;

equipo[i].registrar(nombre_equipo,numero_victoria);

}
break;
case 2: // caso para llenar la funcion de consultar
for (int i = 0 ; i < sel ; i++){
equipo[i].consultar ();
}
case 3:// caso para llena la funcion de guardar
for (int i = 0 ; i < sel ; i++){
equipo[i].guardar();
}
break;
default:
cout << "vuelva a intentar"<< endl;
}
system ("cls");
}
while (op != 4);

system ("pause");
return 0;
}