Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - nolasco281

#231
todavía no me sale pero ya casi.

#232
Si exacto asi tambien lo estaba tratando de hacer y mas facil.

Código (cpp) [Seleccionar]
fichero<<nombre;

creo que talvez lo que estoy haciendo mal puede ser esto.

Código (cpp) [Seleccionar]
fichero.write(nombre,strlen(nombre));

por que yo estoy leyendo en bin y como no hay datos primero tengo que escribirlos
bueno en este caso pasarlos de txt a binario intentare con lo que me indicas. y comento gracias por la ayuda.
#233
Si entiendo

Pero como le paso esos los datos al archivo de binario, ya intente el.

ofstream fichero( "fichero.bin", ios::out | ios::binary);

pero no me funciona. por que esta creando el fichero.bin, pero como le paso a ese fichero.bin los datos del txt.

si no es mucha molestia agradeceria algun ejemplo.
saludos y gracias por responder.
#234
Hola esta es la siquiente duda que tengo.

quiero hacer esto.



No se como pasar lo que tengo en el txt a un archivo binario. lo de listar si se como hacerlo a si que lo que mas me interesa es hacer la convercion.

y tengo esto

Código (cpp) [Seleccionar]
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <iomanip>
#include "Cliente.h"

using namespace std;

int ArchivoBin();

int main(int argc, char *argv[])
{
  //Archivo de texto
  ifstream lectura("Empleados.txt",ios::in);

   if(!lectura)
   {
        cout << "Error.  No se pudo"
             << " abrir el archivo."
             << endl;
        system("pause");
        return -1;
   } // Verificación del archivo.
   
   // 2. Leer información.
   int idCliente=0;
   char nombre[20], apellido[20];
   double ingreso;
   
   cout << '\n'
        << setw(10) << "Codigo"
        << setw(15) << "Nombre"
        << setw(15) << "Apellido"
        << setw(15) << "Ingreso L."
        << setw(20) << "Archivo Texto"
        << fixed << setprecision(2)
        << endl;
   for(int i=0; i<55; i++)
       cout << '=';
   
   cout << endl;
   
   lectura >> idCliente
           >> nombre
           >> apellido
           >> ingreso;
           
   while(!lectura.eof())
   {
      cout << setw(10) << idCliente
        << right << setw(15) << nombre
        << setw(15) << apellido
        << setw(15) << ingreso << endl;
       
        lectura >> idCliente
                >> nombre
                >> apellido
                >> ingreso;
   }
   
   lectura.close();
   
   ArchivoBin();
           
   system("PAUSE");
   return EXIT_SUCCESS;
}

int ArchivoBin()
{
   ofstream salida ("Empleados.bin", ios::binary);
   
   //Archivo de texto
  ifstream lecturaBin("Empleados.bin", ios::binary);

   if(!lecturaBin)
   {
        cout << "Error.  No se pudo"
             << " abrir el archivo."
             << endl;
        system("pause");
        return -1;
   } // Verificación del archivo.
   
   // 2. Leer información.
   Cliente registro;
   int idCliente=0;
   char nombre[20], apellido[20];
   double ingreso;
   
   cout << '\n'
        << setw(10) << "Codigo"
        << setw(15) << "Nombre"
        << setw(15) << "Apellido"
        << setw(15) << "Ingreso L."
        << setw(20) << "Archivo Binario"
        << fixed << setprecision(2)
        << endl;
   for(int i=0; i<55; i++)
       cout << '=';
   
   cout << endl;
   
   lecturaBin.seekg((idCliente - 1) * sizeof(Cliente));
   lecturaBin.read(reinterpret_cast<char *>(&registro), sizeof(Cliente));
   
   while(!lecturaBin.eof())
   {
      cout << setw(10) << idCliente
        << right << setw(15) << nombre
        << setw(15) << apellido
        << setw(15) << ingreso << endl;
       
         lecturaBin.read(reinterpret_cast<char *>(&registro), sizeof(Cliente));
         
   }
   
   lecturaBin.close();
   return 0;
}


espero puedan ayudarme.

estos son los datos en el .txt por si quieren provarlo

1   Davolio   Nancy  900
2   Fuller   Andrew   678
3   Leverling   Janet  3000
4   Peacock   Margaret   78564
5   Buchanan   Steven  7865
6   Suyama   Michael 8000
7   King   Robert  700
8   Callahan   Laura  2000
9   Dodsworth   Anne  12345

y mi salida es esta.


#235
Programación C/C++ / Re: Alinear texto
24 Marzo 2014, 23:05 PM
Hola primero comentando a lo que indica eferion del codigo.

Código (cpp) [Seleccionar]
// Almacenar datos en archivo.
        archivo << nombreAni << setw(15)
                << tipoAnimalAni << setw(15)
                << razaAni       << setw(15)
                << sexoAni       << setw(15)
                << colorAni      << setw(15)
                << edadAni       << setw(15);


Seria demasiado si lo pongo todo. ahora probare lo que comenta yoel y leosansan y comento luego como me fue.

saludos y gracias por contestar.




Hola ya lo logre. agradezco mucho por su ayuda era tan facil como hacer lo siquiente

Código (cpp) [Seleccionar]
archivo << setw(10) << "Nombre" << setw(15) << "Animal" << setw(15) << "Raza" << setw(15)
            << "Sexo" << setw(15) << "Color" << setw(15) << "Edad" << setw(23)
            << "Servicio" << setw(16) << "Costo" << endl << endl;


Código (cpp) [Seleccionar]
// Almacenar datos en archivo.
         archivo << setw(10) << nombreAni << setw(15)
                 << right << tipoAnimalAni << setw(15)
                 << razaAni       << setw(15)
                 << sexoAni       << setw(15)
                 << colorAni      << setw(15)
                 << edadAni;




el de servicio y costo esta en otra clase asi que por eso no se ve aca.

Saludos y muchas gracias no queria complicarmela con los for.
#236
Programación C/C++ / Re: ayuda en C
24 Marzo 2014, 08:03 AM
aaaaaaaaah sabia que se tenia que poder

Eso era, saludos sequia viendo porque no me salia.
y era esto printf("EN LA FUNCION FECHA:%d-%d-%d\n", *d, *m, *a);

las referencias como indicas.

Saludos gracias leosansan por sacarme algunas dudas a mi tambien.
#237
Programación C/C++ / Re: ayuda en C
24 Marzo 2014, 05:43 AM
Hola amigo segun yo y mis pocos conocimientos

Cuando llega a esta instruccion;

printf("%d-%d-%d\n", dia, mes, anho);
lo que le estas pidiendo que haga es eso que imprim
a la direccion en memoria y soy un aprendiz igual que tu dejame aver si te puedo ayudarte ya que pratico C++ y no se casi nada de C.

PD:Re cuerda que la programacion es una serie de instrucciones que se ejecutan secuencial mente no lo olvides cuando tengas o te aparezca un error solo fijate en que parte lo esta haciendo y listo. dejame sequir viendo Saludos.




Hola amigo despues de estar viendo y tratando cosas me di cuenta de algo.

1. Texplico cuando el programa se ejecuta lo primero que hace es empezar por las variables no ok.

2. lo siquiente que hace es llamar a la funcion fecha que tienes tres argunmentos o parametros como quieras llamerles y tu le pasas dia mes y a~no ok.

3 Despues esos argumetos se evaluan en la funcion y te devuelven  la fecha como lo podes notar en la primera imprecion.

4 luego llega al printf es es donde tu te preguntas por que te imprime la direccion no? es por que es el ultimo valor que tomaron las variables, no me entiendes ok si tu vienes y modificas el codigo.

en esta linea y pones

int dia=2, mes=9, anho=8;

veras una salida como esta



es porque en la direccion que se almacen no hay nada pero si inicializas las variables veras los valores con que la inicializaste ya no entra a la direccion de memoria sino al valor de la variable.

Y tambien ese es el objetivo de usar funciones para evitar redundancia de codigo.
tu puedes llamar esa funcion donde la nesecites. Claro dentro del ambito de donde se declare.



espero haber ayudado saludos y cuidate. tambien aprendi saludos.

PD: Recuerda.

un entero tiene (int). 4 Bytes = 4x8 = 32 bits
Con 32 bits se pueden representar 232=4294967296 valores.

#238
Programación C/C++ / Re: ayuda en C
24 Marzo 2014, 05:29 AM
Hola amigo primero que nada tu pregunta fue

porque en un printf me escribe una cosa diferente del otro printf?

no aclaraste lo que deseabas. Saludos.
#239
Programación C/C++ / Re: ayuda en C
24 Marzo 2014, 05:23 AM
Ya



si es este las impresiones que te hace la segunda es la direccion en memoria de la funcion fecha en este caso esto apuntado ahi por eso salen eso numero. es la direccion en memoria si no me equivoco.

gracias englex tienes razon cree un proyecto para C++ ahora lo hago en C gracias.

tienes razon lo corri asi

Código (cpp) [Seleccionar]
#include <cstdlib>
#include <iostream>

using namespace std;

#include <time.h>
#include <stdio.h>
/*-------------prototipo de funcion--------------*/
void fecha(int d, int m, int a);
/*-------------algoritmo principal----------------*/

int main()
{
   int dia, mes, anho;

   fecha(dia, mes, anho);
   printf("%d-%d-%d\n", dia, mes, anho);
   
   system("PAUSE");
   return EXIT_SUCCESS;
}
void fecha(int d, int m, int a)
{
   time_t ahora;
   struct tm *fecha;
   time(&ahora);
   fecha = localtime(&ahora);
   d = fecha->tm_mday;
   m = fecha->tm_mon+1;
   a = fecha->tm_year+1900;
   printf("%d-%d-%d\n", d, m, a);
}
#240
Programación C/C++ / Re: ayuda en C
24 Marzo 2014, 04:54 AM
Queria ver si te podia ayudar y ver la diferencia de la que hablas de salida pero no me corrio.



claro ya ves porque. vere si lo hago correr


si no me equivoco el error que me salta es por que estoy declarando un puntero de tipo entero como argumento de una funccion. no?