• Domingo 22 de Diciembre de 2024, 13:38

Autor Tema:  Manejo de archivos en c++  (Leído 2285 veces)

hackingfuny

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Manejo de archivos en c++
« en: Lunes 27 de Mayo de 2013, 17:37 »
0
Hey que tal?
miren he tratado de crear un programa que manipula archivos.
La idea es que el programa lea archivos y los modifique haciendo uso de una lista enlazada.
El problema es que me he quedado atorado a la hora de imprimir los valores.
El programa me los imprime en hexadecimal, y no se quemo hacerle para que me los imprima en caracteres(alfanumerico)
El programa debe leer y/o escribir datos en un archivo.
El archivo puede ó no estar (en caso de no estar, se debe crear)
una vez leído el archivo, debo almacenar los datos en un nodo y ya almacenado en nodos, estos los inserto en una lista enlazada
para manipularlos con la RAM y ya ordenados (o habiendo hecho la modificación pedida)
creo otro archivo con las modificaciones ya hechas.

El problema es que me he quedado troncado a la hora de querer almacenar los datos en un nodo.
el nodo (Alumno lo usare para la lista enlazada)
y el nodo (Registro lo usare para el manejo de datos del archivo)

#include <iostream>
#include <fstream>
//#include <string.h>
#include <stdlib.h>

using namespace std;

struct Registro
{
    int numBoleta;
    string nombreA;
    string estado;
    int promedio;

};
struct Alumno
{
    int numBoleta;
    string nombreA;
    string estado;
    int promedio;
    struct Alumno *siguiente;
};

class MdA
{
    private:
            struct Alumno *inicio;
            struct Alumno *final;
            int Nnodo;

    public:
            MdA()
           {
                inicio=final=NULL;
//                 nnodo=Nnodo=0;
           };
           Registro registro;
           void agregar();
           void consultar();
           void mostrar();
           void modificar();
           void borrar();
           void borradoFisico();
           void insertaFinal(int dato);
           void borraInicio();
           void borraFinal();
           void muestraLista();
           void buscarTDato(int dato);
           Alumno* buscarDato(int dato);
           Alumno* buscarPosicion(int Dato);
           void ordenarMenorMayor();
           void ordenarMayorMenor();
           void posicionNodos(int *x, int e, int d);
           void posicionNodo(int encontrado, int posicion, int dato);
           void modificarDato(int dato);
           void modificarPosicion(int dato);
           int  leerDato();
           void menu();
           void opciones();
           void verLista();
           void numNodos();
           void borrarDato(int datos);

};

void MdA::agregar()
{
    int boleta=0;
    bool encuentra=0;
    system("clear");
    ofstream write("Alta de alumnos.txt", ios_base::app);
    ifstream read("Alta de alumnos.txt");
    cout<<"Favor de ingresar tu numero de boleta: ";
    fflush(stdin);
    cin>>boleta;
    while (!read.eof())
    {
        if(registro.numBoleta==boleta)
        {
            encuentra=1;
            cout<<"Su boleta ya ha sido registrada anteriormente.\n";
            cout<<"Favor de acudir a servicios escolares para solucionar el problema.\n";
            cout<<"Gracias.";
        }
    }
    if(!encuentra)
    {
        cout<<"Favor de llenar los siguientes campos para realizar su registro: \n";
        ofstream write("Alta de alumnos.txt", ios_base::app);

        cout<<"\nFavor de ingresar tu nombre: ";
        cin>>registro.nombreA;
        cout<<"\nFavor de ingresar tu estado academico actual: ";
        cin>>registro.estado;
        cout<<"\nFavor de ingresar tu promedio actual: ";
        cin>>registro.promedio;
        write<<(&registro);
    }



}



si alguien tiene una sugerencia
sera bien recibida, gracias

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Manejo de archivos en c++
« Respuesta #1 en: Lunes 27 de Mayo de 2013, 20:29 »
0
El codigo esta completo? porque al menos a mi me marca errores.

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================