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

Problema de registros

Estas en el tema de Problema de registros en el foro de C/C++ en Foros del Web. Hola buenas, tengo una duda y me gustaria que me pudiera ayudar. Resulta que debo guardar un registro, pero este se debe de llamar de ...
  #1 (permalink)  
Antiguo 26/04/2012, 01:16
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 9 meses
Puntos: 9
Pregunta Problema de registros

Hola buenas, tengo una duda y me gustaria que me pudiera ayudar.

Resulta que debo guardar un registro, pero este se debe de llamar de acuerdo al numero de cedula que ingrese, osea si el numero es 5, el archivo se debe de llamar: "5.dat", ya intente usando stringstream, para convertir el int en string, pero no me sale

Código C++:
Ver original
  1. #include <sstream>
  2. #include <iostream>            
  3. #include <fstream>
  4. #include <sstream>                  
  5. #include <string>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     char nombre[100][10];
  12.     int cedula;
  13.     int cuenta=0;
  14.     int opcion;
  15.     string s;
  16.     stringstream cedulamod;
  17.    
  18.     cout<<"1 agregar"<<endl;
  19.     cout<<"2 mostrar"<<endl;
  20.     cin>>opcion;
  21.    
  22.     switch(opcion)
  23.     {
  24.        case 1:
  25.             {
  26.                   ifstream contadorZ("contador.art",ios::in);                       //crea el contador de los elementos
  27.                   contadorZ>> cuenta;
  28.                  
  29.                   cout<<"Digite el nombre"<<":"<<endl;
  30.                   cin>>nombre[cuenta];
  31.                   cout<<"Digite la cedula:"<<endl;
  32.                   cin>>cedula;
  33.                  
  34.                   cedulamod<<cedula<<".dat";
  35.                   s=cedulamod.str();
  36.                  
  37.                   ofstream cedulanueva(s,ios::app);
  38.                  
  39.                   ofstream contadorX("contador.art", ios::out);
  40.                  
  41.                   cuenta++;
  42.                   contadorX<<cuenta;
  43.                   break;
  44.             }
  45.        break;
  46.        }
  47.     return 0;
  48.            }

De antemano grax por la ayuda!!!
  #2 (permalink)  
Antiguo 26/04/2012, 05:25
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: Problema de registros

Para empezar el error que tu dices no es... deberias probarlo en algo mas reducido y verias que es otra cosa.
Código C++:
Ver original
  1. #include <sstream>
  2.     #include <iostream>            
  3.     #include <fstream>
  4.     #include <sstream>                  
  5.     #include <string>
  6.      
  7.     using namespace std;
  8.      
  9.     int main()
  10.     {
  11.         char nombre[100][10];
  12.         int cedula;
  13.         int cuenta=0;
  14.         int opcion;
  15.         string s;
  16.         stringstream cedulamod;
  17.         cout<<"Digite la cedula:"<<endl;
  18.         cin>>cedula;
  19.                      
  20.         cedulamod<<cedula<<".dat";
  21.         s=cedulamod.str();
  22.         cout << s;
  23.         return 0;
  24. }

Si lees los errores del compilador que dice que esta en la linea 37. Justo es esta linea:

ofstream cedulanueva(s,ios::app);

Y dice que tiene un error de tipo. La funcion espera un "const char *" y vos le pasas un string. Esto se soluciona asi:

ofstream cedulanueva(s.c_str(),ios::app);

el metodo c_str() devuelve un puntero char de la cadena almacenada del string.

Nos vemos
  #3 (permalink)  
Antiguo 26/04/2012, 09:17
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 9 meses
Puntos: 9
Respuesta: Problema de registros

Hola muchas grax me sirvio ahora tengo otra duda, teniendo en cuenta que se guardaran varios archivos digamos llamados: "5.dat", "123456.dat", "23.dat", como hago para recuperar dichos archivos, poniendo el numero y verificar si existe el registro o no???

Etiquetas: fstream, registros, sstream
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 10:44.