elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 [2] 3
11  Programación / Programación C/C++ / Duda LECTURA ARCHIVOS BINARIOS en: 11 Mayo 2014, 20:01 pm
Buen Día, mi duda es acerca de la lectura de archivos Binarios, este es el código:

Código
  1. void CargarInformacion(struct TNodo<Usuarios> **Lista)
  2. {
  3.     struct Usuarios Load;
  4.  
  5.     ifstream Datos("Base De Datos.dat", ios::binary);
  6.  
  7.     if (Datos.good())
  8.        while (!Datos.eof())
  9.              if ( Datos.read((char*)&Load, sizeof(Load)) )
  10.                 InsertarFinal(Lista, Load);
  11.  
  12.     Datos.close();
  13. }
  14.  

La Funcion funciona!!! pero no se por que hay que colocar esto

Código
  1. Datos.read((char*)&Load, sizeof(Load))


dentro de un if, le pregunte a alguien pero me dice que es para que no lea 2 veces lo mismo, pero esa es la duda... por que????


Gracias por su tiempo.  ;)
12  Programación / Programación C/C++ / Re: Realmente extraño problema con cin.getline en: 11 Abril 2014, 03:20 am
Muy bien muchísimas gracias, lo seguiré revisando

Definitivamente no   :-( :-( :-( no lo encuentro
13  Programación / Programación C/C++ / Re: Realmente extraño problema con cin.getline en: 11 Abril 2014, 02:20 am
Gracias por responder nolasco281, la verdad no he podido, pero ya he subido el link para que descargues el ejecutable y te des cuenta del error
14  Programación / Programación C/C++ / Realmente extraño problema con cin.getline en: 11 Abril 2014, 01:13 am
Hola Buenas, el problema es que en mi código en la LINEA 20,cin.getline pasa de largo y no ejecuta la instrucción de leer, ya he depurado el código con Dev C++ pero es realmente extraño.

El error ÚNICAMENTE SUCEDE al escoger primero la opción 2 y después intentar con la 1.

Aquí esta la porción de código.
Código
  1.    while (Opcion!=3)
  2.    {
  3.          cout<<"Menu Principal\n\n";
  4.  
  5.          cout<<"1. Ingresar a Facebook";
  6.          cout<<"2. Crear una cuenta"<<endl;
  7.          cout<<"3. Salir\n\n\n";
  8.  
  9.          CharOp=getch();//Lee un caracter sin presionar enter y sin mostrarlo en pantalla
  10.  
  11.          if (CharOp=='1')
  12.          {
  13.             Opcion=1;//Se Decrara para mantener la condicion while principal
  14.             system("cls");
  15.  
  16.             Intentos=0;
  17.             while (Intentos!=3)
  18.             {            
  19.                   gotoxy(30,10);cout<<"Usuario: ";
  20.                   cin.getline(User,10,'\n');
  21.  
  22.                   Validacion=BuscarLista(&ListaUsuarios, User, 1);//Validacion Se Encarga de ver si el Usuario Existe,
  23.                   if ( Validacion==false )
  24.                   {
  25.                      gotoxy(39,12);cout<<"ID no encontrada!!!"<<endl;
  26.                      Sleep(1500);
  27.                      //Borra Los Espacios Incorrectos Para Un Nuevo Intento
  28.                      gotoxy(39,10);cout<<"                         ";
  29.                      gotoxy(39,12);cout<<"                         ";
  30.                      gotoxy(28,10);textcolor(12);cout<<char(219);
  31.                      Intentos+=1;
  32.                   }
  33.                   else
  34.                       Intentos=3;
  35.             }
  36.  
  37.          }
  38.  
  39.          if (CharOp=='2')
  40.          {
  41.             Opcion=2;//Se Decrara para mantener la condicion while principal
  42.  
  43.             cout<<"Nombre: ";
  44.             cin.getline(CuentaNueva.Nombre, 20,'\n');
  45.             cout<<"ID: ";
  46.             cin.getline(CuentaNueva.ID, 10,'\n');
  47.             cout<<"Contrase"<<char(164)<<"a: ";
  48.             cin.getline(CuentaNueva.Contrasenia, 10,'\n');
  49.             cout<<"Genero (M - F): ";//AQUI ESTA EL ERROR????
  50.             cin>>CuentaNueva.Genero;
  51.             cout<<"Edad: ";
  52.             cin>>CuentaNueva.Edad;
  53.             cout<<"Documento: ";
  54.             cin>>CuentaNueva.Documento;
  55.  
  56.             InsertarFinal(&ListaUsuarios, CuentaNueva);
  57.          }
  58.  
  59.          if (CharOp=='3')
  60.             Opcion=3;//Se Decrara para mantener la condicion while principal
  61.  
  62.          system("cls");
  63.    }
  64.  

Si no me hago entender por favor descarguen el ejecutable
https://mega.co.nz/#!Btx2URJb!Dsr7oOEZx5RfvQkVlEAAv5gSw40uD2FEw-Uxh1mQJ9I

Aqui el link del codigo
https://mega.co.nz/#!owZQHZjB!QLbJo-EUYFfucYX2Mnn2GoBqzA56PLwqa1BYo4996Fs
15  Programación / Programación C/C++ / Re: Duda Manejo De Archivos De Acceso Aleatorio en: 1 Abril 2014, 20:22 pm
Gracias amchacon
16  Programación / Programación C/C++ / Duda Manejo De Archivos De Acceso Aleatorio en: 31 Marzo 2014, 20:28 pm
La duda es que tengo un archivo de texto asi:

Lucas Gnneco
Omar Rodriguez
Laura Monroy


y lo que quiero es que atravez del manejo de archivos sin sobreescribir nada meter un nombre por ejemplo entre Omar y Laura.


Lucas Gnneco
Omar Rodriguez
Pepito Perez
Laura Monroy


con acceso secuencial no me funciono, asi que creo que es con acceso aleatorio con seekg y seekp pero la verdad no he podido, podria alguien orientarme por favor.
17  Programación / Programación C/C++ / Re: Asesoria Memoria Dinamica en: 11 Marzo 2014, 22:38 pm
Lo que queria hacer al igualar
Código:
TemFilas[i]=Palabras[i];
era copiar el contenido ya que
Código:
TemFilas[i]
tiene un espacio de mas y esa es la que quiero usar[/size]
18  Programación / Programación C/C++ / Re: Asesoria Memoria Dinamica en: 11 Marzo 2014, 22:25 pm
Esque la salida del programa deve de ser asi:

Entrada: "Anita Lava La Tina"
Salida: Anita --> 1 vez
           Lava -->  1 vez
           La    -->   1 Vez
           Tina -->  1 Vez
19  Programación / Programación C/C++ / Asesoria Memoria Dinamica en: 11 Marzo 2014, 21:59 pm
Hola, estoy haciendo un programa para contar el numero de palabras que tenga una frase, el problema es que por supuesto siempre el numero de palabras varia, por lo que segun pienso yo, hay que usar memoria dinamica

Código
  1. int main(int argc, char *argv[])
  2. {
  3.    char Lectura[200], *PTok, **Palabras=NULL;
  4.    int i=0, j=0, ContPal=1;
  5.  
  6.    cin.getline(Lectura, sizeof(Lectura));
  7.  
  8.    PTok=strtok(Lectura," ");
  9.  
  10.    while ( PTok!= NULL )
  11.    {
  12.          AgrEspacio(Palabras, ContPal);//AgrEspacio Agrega Una Fila De Mas A Palabras
  13.          strcpy( Palabras[i], PTok );
  14.          PTok=strtok(NULL," ");
  15.          i+=1;
  16.          ContPal+=1;
  17.    }
  18.  
  19.    for ( j=0; j<i; j++ )
  20.        cout<<Palabras[j]<<endl;
  21.  
  22.    system("PAUSE");
  23.    return EXIT_SUCCESS;
  24. }


El problema como tal es esa funcion para agregar una fila a la matriz, ya que si compila, pero estoy violando el acceso a la memoria en una parte del codigo de esa funcion

Código
  1. void AgrEspacio ( char **Palabras, int NumPal)
  2. {
  3.     char **TemFilas=new char*[NumPal];
  4.  
  5.     for ( int i=0; i<NumPal; i++ )
  6.     {
  7.         TemFilas[i]=new char[200];  
  8.         TemFilas[i]=Palabras[i];
  9.     }
  10.  
  11.     Palabras=TemFilas;  
  12. }
La verdad este tema de memoria dinamica se me hace un poco dificil de entender, ya que no se bien cuando es correcto usarla, por ejemplo en este ejercicio podria haber creado una matriz estatica como
Código
  1. char Palabras[100][200];
en vez de pensar en memoria dinamica, pero la ventaja es que con esta voy agregando filas a mi matriz cuando lo voy necesitando en vez de declarar una estatica y ocupar memoria que tal vez no usare

Gracias por su tiempo.
20  Programación / Programación C/C++ / Re: Problema Con Un Arreglo Dinamico [?] en: 16 Octubre 2013, 21:15 pm
Gracias por responder....

En realidad lo que trataba de hacer era que para cada posicion del arreglo Mi_Maleta, le correspondiara una arreglo donde se guardara cada item de la maleta.

Pero por lo visto hay que crear los dos arreglos por aparte no? ...

Primero el arreglo de Maletas y despues el arreglo de Items

Código
  1. Maleta *Mi_Maleta=new Maleta[10];
  2. Item *Elementos=new Item[10];


y despues de alguna manera asignarle a cada posicion de Mi_Maleta, el arreglo de Elementos
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines