Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

[Borland C++] URGENTE Ayuda con punteros

Participa en el tema [Borland C++] URGENTE Ayuda con punteros en el foro Programación.
Hola soy baltanders y nesecito ayuda con punteros y archivos en borland c++, pues estoy ...

Buscar en este tema:
1 2 >
 
  •  
    #1 [Borland C++] URGENTE Ayuda con punteros
    Hola soy baltanders y nesecito ayuda con punteros y archivos en borland c++, pues estoy estudiando programacion en la utn, y el profesor q' me toco me complica la vida, le envio un ej de parcial espero q' lo entiendan;
    "Realizar un programa q permita realizar lo siguiente:1*cargar nombre , nota y fecha de nacimiento de 30 alumnos; 2* ordenar las estructuras alfabeticamente; 3*listar los datos; 4*salir.
    el menu, las validaciones de enteros y cadenas debe ser realizada por funciones; el ingreso de datos se debe calcular la edad del alumno y se debe guardar en el campo edad de la estructura, la unica funcion q devolvera un dato sera la validacion de enteros y todos los parametros de las funciones seran pasados por referencia"

    desde ya muchas gracias!:o_O:
    +
     
    0
    Me gusta
     
    | Más
  • #2 Re: URGENTE Ayuda con punteros

    Leete este powerpoint, explica el uso de los punteros con ejemplos...
    Espero que te sirva.
    Archivos adjuntos
    Tipo de archivo: zip punteros.zip (214.7 KB, 111 vistas)
    Me gusta este mensaje
  • #3 Re: URGENTE Ayuda con punteros

    no puedo bajarlo-_-
    Me gusta este mensaje
  • #4 Re: URGENTE Ayuda con punteros

    que raro, recien intente y pude..., en fin. de ultima, bajate el tutorial "aprenda c++ como si estuviera en primero" del foro manuales y tutoriales, ahi te explica lo que necesitas.
    Suerte
    Me gusta este mensaje
  • #5 Re: URGENTE Ayuda con punteros

    www.conclase.net
    entra ahi...sino, hace como dice agustin...lo tuyo es mas consulta base...asi q valla leyendo libros

    no te quiere complicar la vida...si hubiese querido, te podria haber dicho q te mandes una busqueda recursiva sobre el archivo, por ejemplo (como me hicieron a mi), o no se...un monton de cosas mas...la cuestion es q estas necesitando teoria...
    eso se encuentra en la seccion manuales y tutoriales

    saluT
    Me gusta este mensaje
  • #6 Re: URGENTE Ayuda con punteros

    Originalmente publicado por Hi MaTT
    www.conclase.net
    entra ahi...sino, hace como dice agustin...lo tuyo es mas consulta base...asi q valla leyendo libros

    no te quiere complicar la vida...si hubiese querido, te podria haber dicho q te mandes una busqueda recursiva sobre el archivo, por ejemplo (como me hicieron a mi), o no se...un monton de cosas mas...la cuestion es q estas necesitando teoria...
    eso se encuentra en la seccion manuales y tutoriales

    saluT
    Mirá te aconcejo lo mismo que la mayoría, mirar un poco de teoría que no biene mal, pero en este tipo de acsos lo mas sencillo que hay es utilizar las clases contenedoras (vector presisamente) que te facilita la mayor parte del trabajo de busqueda , como así también de altas y bajas dentro de la estructura, que es en esencia lo que te pide el problema. Lo de pasaje por referencia es un problemita menor cuando tenes bien en claro como te vas a manejar con la estructura

    Saludos, A2R2
    Me gusta este mensaje
  • #7 Re: URGENTE Ayuda con punteros

    Bueno como ya te dijeron anteriormente es todo tema de teoria un poco, y otro poco de practica, como verás ante un problema hay muchas pero muchas formas de resolverlo, y mas usando C++ (que tambien permite usar C).

    Te recomiendo que vayas leyendo un poco los manuales y tutoriales que te recomendaron aca mientras yo te doy ideas de como poder resolver el probleama.

    bueno si estas usando C, para trabajar con archivos tenes la estructura FILE creo que esta en stdio.h, y sus funciones fopen(); fclose(); ftell(), fseek(), fwrite(), fread() que te permiten abrir, cerrar, leer y esciribir en arcihvos asi tambien como saber su tamaño y su posicion.

    Antes que nada deberias definir una estructura de un registro en el cual vas a ir agrupando los datos (nombre, apellido, fecha de nacimiento, nota etc.
    Luego definir un vector de esos registros. Luego la idea seria abrir el archivo para lectura, ir leyendo elemento a elemento e ir cargandolo en el vector, luego con cualquier metodo de ordenamiento (burbujeo, seleccion simple, insercion, shell sort, quicksort, mergesort, heapsort, en fin cualquier metodo iterativo o recursivo para ordenar) podes ordenar el vector y presentarlo por pantalla.

    En cambio si estás trabajando con C++ ya hay clases que te pueden solucionar mucho la vida, por ejemplo estan los streams para archivos, entre ellos estan el ofstream para hacer output (escribir) en archivos, tenes el ifstream para hacer input (leer) de archivos y tenes el fstream (para output e input) de archivos. esas clases estan en iostream.h

    tambien tenes estructuras dinamicas de datos que te permiten tratar a tus vectores de forma dinamica creiendo en tamaño y decreciendo segun necesidad, tambien proveen metodos para ordenarlos, buscar y demas.

    Para eso podes usar la clase list que representa una lista enlazada, tiene metodos como push_front, push_back, pop_front, pop_back, tambien podes buscar elementos y tiene un metodo llamdo sort que simplemente ordena la lista.

    Para que el metodo sort funcione correctamente, los registros (structs) u objetos que vayas a guardar en la lista tienen que tener definido o sobrecargado el operador >, < y ==. Para esto si estas usando structs o registros simplemente haces:


    //Defino elr egistro que voy a escribir y leer del archivo
    struct registro {
    char nombre[30];
    char fechaNac[15];
    int nota;
    };

    //Defino el operador > para el registro Y asi sigo con los demas operadores
    bool operator < (const registro& r1, const registro& r2) {
    if( strcmp(r1.nombre,r2.nombre) < 0)
    return true;
    else
    return false;
    }

    En el caso de la clase u objeto haria algo asi:
    class Registro {
    private:
    std::string nombre;
    std::string fechaNac;
    int nota;
    public:
    Registro(void) {
    };

    ~Registro(void) {
    }

    //Operador < sobrecargado
    boolean operator < (const Registro& r) {
    if( nombre < r.nombre)
    return true;
    else
    return false;
    }
    };


    Bueno saludos
    Pablo
    Me gusta este mensaje
  • #8 Re: URGENTE Ayuda con punteros

    gracias por la ayuda, ahora necesitaria saber por medio de funciones y punteros como obtener la fechas actual(sacandola del sistema) para calcular la edad de una persona( teniendo la fecha de nacimiento de dicha persona); desde ya muchas gracias!
    Me gusta este mensaje
  • #9 Re: URGENTE Ayuda con punteros

    Oigan , como hago para hacer una copia de seguridad de un archivo dentro de un programa
    Me gusta este mensaje
  • #10 Re: URGENTE Ayuda con punteros

    Para obtener la fecha actual tenes que crear una estructura como date (viene en la libreria dos.h), hacelo antes del main y despues del main usas la funcion getdate(&nombredelaestructura) para declararlo.

    esa estructura te quedaria algo asi:

    nombre.da_day
    nombre.da_mon
    nombre.da_year

    esos son los que se sirven para obtener la fecha actual. Si no entendes o queres saber mas, fijate en el compilador (si es que usas el borland C++) en Ayuda, anda a index y escribi la ayuda que necesites. Por ejemplo, si tenes dudas con la estructura date escribi date en el index y dale al enter que hasta te da ejemplos, es muy comodo y te digo que te ahorra dolores de cabeza y a veces horas de busqueda en internet.

    Ah para calcular la edad de una persona pensa un poquito que no es jodido, con los datos de la fecha de cumpleaños de la persona anda comparando dia x dia, mes x mes y año x año y si son iguales los dias y meses entonces solo resta los años, en caso contrario fijate si cumple antes o despues del dia actual y fijate como la piloteas (es una pavada pero algo de laburo te voy a dejar).

    Espero que te haya servido, si no entendiste algo chifla.

    Bueno aca te dejo un ejemplo de como crear una copia de seguridad de un archivo:

    #include <stdio.h>

    main ()
    {
    FILE *f_in, *f_out;
    char c;

    clrscr();
    if ((f_in = fopen ("prueba.c", "r")) == NULL)
    {
    printf ("Error de apertura del fichero\n");
    exit (1);
    }
    if ((f_out = fopen ("salida.c", "w")) == NULL)
    {
    printf ("Error de creación del fichero\n");
    exit (1);
    }
    do
    {
    c = getc(f_in);
    putchar(c) /* escritura en pantalla */
    putc(c, f_out); /* escritura en el fichero */
    }
    while (c != EOF);
    fclose (f_in);
    fclose (f_out);
    }

    te aclaro que la funcion exit es solamente para que salga del programa, vos no les bola, lo que mas te sirve es el putc y el getc (lo de fopen y demases supongo que ya lo sabras no?).

    Te dejo una pagina interesante que podes visitar aprovechando que vas a la utn:
    http://www.programacionutn.com.ar
    Me gusta este mensaje
1 2 >
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 12 RESPUESTAS
  • 5414 VISTAS
  • 7 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB