• Viernes 8 de Noviembre de 2024, 19:07

Mostrar Mensajes

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


Mensajes - hackingfuny

Páginas: [1]
1
C/C++ / Manejo de archivos en c++
« en: Lunes 27 de Mayo de 2013, 17:37 »
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

2
C/C++ / piano en c
« en: Viernes 30 de Septiembre de 2011, 20:45 »
bueno
primero que nada gracias por visitar este pequeño post que puse en su foro

ESTOY EMPEZANDO A PROGRAMAR EN C
el problema es que en la escuela el maestro nos impone a que programemos en turbo c vercion 3
y yo uso linux por lo tanto no puedo probar los programas en mi maquina
sin embargo me compre un libro para programar con el standar de c
ANSCI
Y ME DEJARON programar un mini piano en la octaba numero 6 con las notas si sus sostenidos
el programa yo lo tengo ya hecho y quisiera ver si ustedes me pueden ayudar a pasarlo al standar o por lo menos que me ayuden a correrlo con linux

#include <conio.h>

#include <stdio.h>

#include <dos.h>

#include <math.h>



float frecuencia(float n, float o);

void main()

{

    float f;

    char nota;

    while (1)

    {

   clrscr();

   printf("programa que convierte los numeros en notas tocadas en la sexta");

   gotoxy(1,2);

   printf("Do=1, Re=2, Mi=3, Fa=4, Sol=5, La=6, Si=7");

   gotoxy(1,3);

   printf("favor de introducir la nota: ");

   gotoxy(1,4);

   printf("teclea 8 si deseas salir");

   nota=getch();

   gotoxy(1,6);

   printf("");

   switch(nota)

   {

       case 49:f=frecuencia (1,6); sound(f); delay(500);clrscr();break;

       case 50:f=frecuencia (2,6); sound(f); delay(500);clrscr();break;

       case 51:f=frecuencia (3,6); sound(f); delay(500);clrscr();break;

       case 52:f=frecuencia (4,6); sound(f); delay(500);clrscr();break;

       case 53:f=frecuencia (5,6); sound(f); delay(500);clrscr();break;

       case 54:f=frecuencia (6,6); sound(f); delay(500);clrscr();break;

       case 55:f=frecuencia (7,6); sound(f); delay(500);break;

       case 56:goto fin;break;

       default: printf("el numero que marcaste no entra en el rango antes mencionado");



   }

   nosound();

    }

    fin:

    //getch();

    //return 0;

}

float frecuencia(float n, float o)

{

    float f;

    f=(440.0*exp((o-3)+(n-10)/12)*log(2));

    //printf("tu frecuencia es de:  %.6f",f);

    return(f);

}
gracias

Páginas: [1]