21/11/2012, 21:47
|
| | Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 12 años, 1 mes Puntos: 0 | |
Por que se me borran los datos del archivo. Hola, tengo un problema con este código en c++ con el que estoy trabajando, ingresar al menú y digitar los datos se guardan en el archivo, pero si me salgo y vuelvo a entrar se borra lo que dígito en el archivo, soy nueva en esto y agradecería todo la ayuda que me pueden brindar.
Aquí esta lo que medio hice(hay unas cosas que le faltan pero se las quite para que no se haga mucho enredo) ;
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <stdio.h>
#include <iomanip>
using namespace std;
struct _suministro // Estructura
{
char name[80];
char cod[80];
char Unidad[80];
char cantMinima[80];
char cantMaxima[80];
char cantActual[80];
// Demas datos
// suministro;
}suministro;
int main()
{
int op,opi;
ofstream f;
f.open("archivo.txt", ios::out);
if (!f.is_open())
{
cout << "ERROR: no se puede abrir el fichero para escribir" << endl;
return 0;
}
cout<<" MENU PRINCIPAL "<<endl;
cout<<" SUMINISTROS E INVENTARIOS "<<endl<<endl;
cout<<" 3-- LISTAR LOS REGISTROS DE SUMINISTROS "<<endl;
cin>>op;
switch(op){
case 1:{
cout<<" SUBMENU DE INGRESO "<<endl<<endl;
cout<<" 1-- SUMINISTROS QUE NO EXISTEN (NUEVOS)"<<endl;
cout<<" 2-- SUMINISTROS SOLICITADOS POR PEDIDOS (YA EXISTEN)"<<endl;
}
break;
case 2:{
}
break;
case 3:{
cout<<" 3-- LISTAR LOS REGISTROS DE SUMINISTROS "<<endl;
cout<<"1-introducir nuevos"<<endl;
cout<<"2-mostrar anteriores"<<endl;
cin>>opi;
if(opi==1)
{
cout<< "SUMINISTROS"<<endl<<endl;
cout<< "Dijite el nombre;"<<endl;
cin>>suministro.name;
f.write(suministro.name,80);
cout<<" Dijite el codigo"<<endl;
cin>> suministro.cod;
f.write(suministro.cod,80);
cout<<" Dijite la unidad"<<endl;
cin>>suministro.Unidad;
f.write(suministro.Unidad,80);
cout<<" Dijite la cantidad minima"<<endl;
cin>>suministro.cantMinima;
f.write(suministro.cantMinima,80);
cout<<" Dijite la cantidad maxima"<<endl;
cin>> suministro.cantMaxima;
f.write(suministro.cantMaxima,80);
cout<<" Dijite la cantidad Actual"<<endl;
cin>>suministro.cantActual;
f.write(suministro.cantActual,80);
f.close();
}
if(opi==2) {
cout<<suministro.name,80;
cout<<suministro.cod,80;
cout<<suministro.Unidad,80;
cout<<suministro.cantMinima,80;
cout<<suministro.cantMaxima,80;
cout<<suministro.cantActual,80;
f.close();
}
}
break;
case 4:{
}
break;
default: {
cout<<"opcion incorrecta"<<endl;
}
break;
};
return 0;
} |