|    
			
				21/11/2012, 21:47
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: noviembre-2012 
						Mensajes: 4
					 Antigüedad: 12 años, 11 meses 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;
 }
     |