Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Archivos en Dev C++

Estas en el tema de Archivos en Dev C++ en el foro de C/C++ en Foros del Web. Hola!!! tengo un programa en C++ donde quiero recervar algunos puestos de un estacionamiento... tengo un .txt llamado libre donde tengo algunos puestos,,,, cuando ejecuto ...
  #1 (permalink)  
Antiguo 28/10/2014, 23:29
 
Fecha de Ingreso: octubre-2014
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Archivos en Dev C++

Hola!!! tengo un programa en C++ donde quiero recervar algunos puestos de un estacionamiento... tengo un .txt llamado libre donde tengo algunos puestos,,,, cuando ejecuto el programa y pongo el puesto que deseo, me copia el puesto en otro .txt llamdo ocupado y se borra el puesto del libre.txt el problema es que cuando se borran algunos puestos que estan de ultimo se duplica el siguiente....
Aqui les dejo el codigo para que me entiendan mejor... les agradecería cualquier ayuda!!

#include<iostream>
#include<fstream>
#include<iomanip>
#include <ctime>
#include<string.h>

using std::ifstream;
using std::ofstream;
using namespace std;


main()
{
int op,opc;
string p,puesto,oc;
bool encontrado;
do
{
system("cls");
cout<<"1-guardar,2-buscar"<<endl;
cin>>op;
if(op==1)
{

ifstream libre;
libre.open("libre.txt", ios::in);

ofstream salida;
salida.open("ocupado.txt",ios::out|ios::app);

ofstream s;
s.open("sal.txt",ios::out|ios::app);

if(!libre)
{
cout<<"No se puede abrir el archivo"<<endl;
exit(1);
}
else
{
cout<<"puesto a ocupar: "<<endl;
cin>>puesto;

while(!libre.eof())
{
libre>>p;

if(puesto==p)
{
encontrado=true;
salida<<puesto<<endl;
}
else
{
s<<p<<endl;
}

}
if(encontrado!=true)
{
cout<<"Puesto no valido!"<<endl;
}
else
{
cout<<"Puesto recervado"<<endl;
}


}
libre.close();
salida.close();
s.close();

remove("libre.txt");
rename("sal.txt","libre.txt");

cout<<"1-continuar; 0-salir"<<endl;
cin>>opc;
}
}
while(opc==1);
system("pause");
return 0;
}



LIBRE.TXT

p1
p2
p3
p4
p5

Etiquetas: dev, int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:08.