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


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con Archivos Binarios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Archivos Binarios  (Leído 1,497 veces)
mannin87

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con Archivos Binarios
« en: 12 Junio 2017, 06:35 am »

Hola amigos alguien que me pueda ayudar con mi codigo no logro guardar el archivo en binario solo en txt si me pueden ayudar a revisar que me hace falta  a mi codigo muchas gracias.




 Codigo

Código
  1. #include "NuevoAlumno.h"
  2. #include <iostream>
  3. #include <iomanip>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <fstream>
  7. #include <cstring>
  8. #include <string>
  9. #include <conio.h>
  10.  
  11.  
  12. using namespace std;
  13.  
  14.  
  15. NuevoAlumno::NuevoAlumno()
  16.    {
  17.    //ctor
  18.    }
  19.  
  20. NuevoAlumno::~NuevoAlumno()
  21.    {
  22.    //dtor
  23.    }
  24.  
  25. NuevoAlumno::NuevoAlumno(const char * vNombre,const char *vApellido, int vNota1, int vNota2, int vNota3)
  26.    {
  27.    this->nombre = new char[30];
  28.    strcpy(this->nombre, vNombre);
  29.    this->apellido = new char[30];
  30.    strcpy(this->apellido, vApellido);
  31.  
  32.    this->nota1 = vNota1;
  33.    this->nota2 = vNota2;
  34.    this->nota3 = vNota3;
  35.    }
  36. void NuevoAlumno::AgregarAlumno()
  37.    {
  38.    string nombreArchivo;
  39.  
  40.    cout<< "Ingrese el nombre del archivo: "<<endl;
  41.    cin>>nombreArchivo;
  42.  
  43.    ofstream archivo(
  44.  
  45.        nombreArchivo.data(),
  46.        ios::out| ios::in | ios::binary );
  47.  
  48.  
  49.    if (!archivo)
  50.        {
  51.        cout<<"Error!!! No se pudo"
  52.            <<"abrir el archivo."
  53.            <<endl;
  54.        system("pause");
  55.        return ;
  56.        }
  57.    int nota1=0;
  58.    int nota2=0;
  59.    int nota3=0;
  60.    char nombre[20];
  61.    char apellido[20];
  62.    float promedio=0;
  63.  
  64.    int numeroLista;
  65.  
  66.    cout<<"Ingrese el numero de lista"
  67.        <<" (0 para terminar)"<<endl;
  68.    cin>>numeroLista;
  69.    while(numeroLista > 0)
  70.        {
  71.        cout<<"Ingrese Nombre : ";
  72.        cin>>nombre;
  73.        cout<<"Ingrese Apellido : ";
  74.        cin>>apellido;
  75.        cout<<"Ingrese nota 1: ";
  76.        cin>>nota1;
  77.        cout<<"Ingrese nota 2: ";
  78.        cin>>nota2;
  79.        cout<<"Ingrese nota 3: ";
  80.        cin>>nota3;
  81.  
  82.        promedio=(nota1+nota2+nota3)/3;
  83.        cout<<"Promedio del Alumno :"<<promedio<<"%";
  84.        cout<<endl;
  85.        cout<<endl;
  86.  
  87.  
  88.  
  89.        archivo<<numeroLista<<" "
  90.               <<nombre<<" "
  91.               <<apellido<<" "
  92.               <<nota1<<" "
  93.               <<nota2<<" "
  94.               <<nota3<<" "
  95.               <<promedio<<endl;
  96.  
  97.        cout<<"Ingrese numero de lista:"
  98.            <<" (0 para terminar) :";
  99.        cin>>numeroLista;
  100.        }
  101.  
  102.    archivo.close();
  103.  
  104.    cout<<"\nOperacion finalizada"
  105.        <<" con exito\n\n";
  106.  
  107.  
  108.    }
  109.  
  110. void NuevoAlumno::MostrarAlumno()
  111.    {
  112.    string nombreArchivo;
  113.    bool encontrado=false;
  114.  
  115.    cout<<"Ingrese el nombre "
  116.        <<"del archivo  a abrir: ";
  117.    cin>>nombreArchivo;
  118.  
  119.    ifstream archivo(
  120.  
  121.                     nombreArchivo.data(),
  122.                 ios::in | ios::binary );
  123.  
  124.  
  125.    if(!archivo)
  126.        {
  127.        cout<<"Error!!! no se pudo"
  128.            <<" abrir el archivo."
  129.            << endl;
  130.        system("pause");
  131.        return ;
  132.        }
  133.  
  134.    int numeroLista=0;
  135.    char nombre[20];
  136.    char apellido[20];
  137.    float promedio;
  138.    int nota1=0;
  139.    int nota2=0;
  140.    int nota3=0;
  141.  
  142.    cout<<'\n'
  143.        <<setw(10) << "Numero de Lista: "
  144.        <<setw(20) << "Nombre: "
  145.        <<setw(20) << "Apellido: "
  146.        <<setw(15) << "Nota 1: "
  147.        <<setw(15) << "Nota 2: "
  148.        <<setw(15) << "Nota 3: "
  149.        <<setw(15) << "Promedio: "
  150.        <<fixed << setprecision(2)
  151.        <<endl;
  152.    for(int i=0; i<110; i++)
  153.        cout<<'=';
  154.  
  155.    cout<<endl;
  156.  
  157.    archivo>>numeroLista
  158.           >>nombre
  159.           >>apellido
  160.           >>nota1
  161.           >>nota2
  162.           >>nota3
  163.           >>promedio;
  164.  
  165.    while(!archivo.eof())
  166.        {
  167.        cout<<setw(5)<<numeroLista
  168.            <<left<<setw(15)<<nombre
  169.            <<left<<setw(15)<<apellido
  170.            <<setw(15)<<nota1
  171.            <<setw(15)<<nota2
  172.            <<setw(15)<<nota3
  173.            <<right<<setw(15)<<promedio
  174.            <<endl;
  175.  
  176.        archivo>>numeroLista
  177.               >>nombre
  178.               >>apellido
  179.               >>nota1
  180.               >>nota2
  181.               >>nota3
  182.               >>promedio;
  183.  
  184.        }
  185.  
  186.    archivo.close();
  187.    cout<<"\nOperacion finalizada"
  188.        <<" con exito\n\n";
  189.  
  190.    system("pause");
  191.    return ;
  192.    }
  193.  
  194.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 12 Junio 2017, 06:36 am por engel lex » En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.349


Ver Perfil
Re: Ayuda con Archivos Binarios
« Respuesta #1 en: 12 Junio 2017, 17:23 pm »

Verás la diferencia entre texto y binario, es que una A tiene el valor 65, luego cuando tu guardas una A se guarda el byte 65, si abres ese fichero luego con un lector de textos, lo que sucede es que cada bytes que tiene una representación gráfica, muestra la representación gráfica de ese byte, así si lee el byte 65, muestra su gráfico asociado "A"...

Entonces lo que tú crees que es o existe una difernecia entre binario y texto, es un concepto errado, no suficientemente claro en tu mente.

Toma un fichero que tu consideras binario (pongamos una canción MP3), cambia la extensión a txt y ábrelo con un visor de texto, verás que muchos bytes serán legibles, concretamente todos los bytes que tienen un gráfico asociado, los que no, pués no se representan...
Igualmente si abres dicho fichero con uin editor hexadecimal, tendrás lo msimo, en la parte 'textual'.

Otra cosa es uno luego codificara un fichero de alguna otra manera, que entonces sería un galimatías incomprensible, pero sólo porque tu escribas "el perro grande come más que el perro pequeño" y lo guardes a fichero, no vayas a pensar que eso no está en binario... sucede que la sucesión de datos binarios, es comprensible a nuestra mente.

Y por tanto la única diferencia real entre texto y binario, es que el texto se puede guardar con 1, 2 o 4 bytes por carácter (esto es 1,2, 4 bytes por byte). Cuando es 1 a 1, es absolutamente binario aunque tu lo abras y lo puedas leer...

Espero haberte abierto un poco tus miras.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Archivos Binarios
Programación Visual Basic
David Vans 5 2,088 Último mensaje 14 Octubre 2006, 19:32 pm
por Nymphetaminito
Archivos Binarios
.NET (C#, VB.NET, ASP)
David Vans 2 3,284 Último mensaje 1 Junio 2007, 13:45 pm
por »~^~«CkNU!»~^~«
Archivos binarios en VB6???
Programación Visual Basic
Bb-7 1 3,779 Último mensaje 10 Abril 2008, 17:26 pm
por krackwar
[AYUDA] Archivos Binarios
Programación Visual Basic
viviz02 3 1,416 Último mensaje 28 Septiembre 2008, 19:17 pm
por krackwar
[AYUDA]C++.Matrices de char en archivos binarios
Programación C/C++
DPool 0 922 Último mensaje 31 Julio 2018, 09:41 am
por DPool
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines