elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / agenda archivos binarios en: 2 Agosto 2016, 23:38 pm
Esta es la agenda que hice pero me hace falta una función que me permita actualizar los registros. Tengo algunas ideas de como hacerlo pero ninguna dio resultado, quería saber si alguno de ustedes me podía ayudar, gracias y saludos.


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct
  6. {
  7.    unsigned long int DNI;
  8.    unsigned long int fnac;
  9.    char apellido[64];
  10.    char nombres[64];
  11. }Persona;
  12.  
  13. void crearArchivo(char a[],char b[]);
  14. void menu (char* nombreArchivo, char* control);
  15. Persona crearPersona();
  16. void guardarPersona(Persona persona, char* nombreArchivo);
  17. void mostrarLista(char* nombreArchivo);
  18. void pausar();
  19.  
  20. int main()
  21. {
  22.    char nombreArchivo[20], control[20];
  23.    int opcion1;
  24.    printf("Ingrese el nombre del archivo(Incluya su formato): ");
  25.    scanf("%s",&nombreArchivo);
  26.    printf("Ingrese el nombre del archivo de control(Incluya su formato): ");
  27.    scanf("%s",&control);
  28.    printf("Pulse 1 si desea crear los archivos, 2 si desea proceder al menu: ");
  29.    scanf("%d",&opcion1);
  30.    if(opcion1==1)
  31.    {
  32.        fopen(nombreArchivo,"wb");
  33.        fopen(control,"wb");
  34.        fclose;
  35.        menu (nombreArchivo,control);
  36.    }
  37.    else
  38.    {
  39.        menu(nombreArchivo,control);
  40.    }
  41.    return 0;
  42. }
  43.  
  44. void menu(char* nombreArchivo, char* control)
  45. {
  46.    int opcion;
  47.  
  48.    do{
  49.        system("cls");
  50.        printf("1. Agregar Persona\n");
  51.        printf("2. Consultar Lista\n");
  52.        printf("3. Salir\n\n");
  53.        printf("Ingresar una opcion: ");
  54.        scanf(" %d", &opcion);
  55.  
  56.        if (opcion>0 && opcion<5)
  57.            {
  58.            system("cls");
  59.            switch(opcion){
  60.                case 1:
  61.                    guardarPersona(crearPersona(), nombreArchivo);
  62.                    break;
  63.                case 2:
  64.                    mostrarLista(nombreArchivo);
  65.                    break;
  66.                case 3:
  67.                    printf("Fin del programa\n");
  68.                    break;
  69.  
  70.            }
  71.        }
  72.        else
  73.        {
  74.            printf("\nOpcion no contemplada\n");
  75.            pausar();
  76.        }
  77.    }while (opcion!=5);
  78. }
  79.  
  80. Persona crearPersona()
  81. {
  82.    Persona persona;
  83.  
  84.    printf("DNI: ");
  85.    scanf(" %d", &persona.DNI);
  86.    printf("fnac: ");
  87.    scanf(" %d", &persona.fnac);
  88.    printf("Apellido: ");
  89.    scanf(" %s", persona.apellido);
  90.    printf("Nombres: ");
  91.    scanf(" %s", persona.nombres);
  92.  
  93.    return persona;
  94. }
  95.  
  96. void guardarPersona(Persona persona, char* nombreArchivo)
  97. {
  98.    FILE* file= fopen(nombreArchivo, "ab");
  99.  
  100.    if (file==NULL)
  101.        {
  102.        printf("Error al intentar acceder al archivo\n");
  103.        pausar();
  104.        }
  105.    else
  106.    {
  107.        fwrite(&persona, sizeof(Persona), 1, file);
  108.        printf("\nPersona guardada!\n");
  109.        pausar();
  110.        fclose(file);
  111.    }
  112. }
  113.  
  114. void mostrarLista(char* nombreArchivo)
  115. {
  116.    FILE* file= fopen(nombreArchivo, "rb");
  117.  
  118.    if (file==NULL)
  119.        {
  120.        printf("Error al intentar acceder al archivo\n");
  121.        pausar();
  122.    }
  123.    else
  124.    {
  125.        Persona persona;
  126.        printf("%-10s %-15s %-10s %s\n\n", "DNI", "FechaDeNac", "Apellido", "Nombres");
  127.        while (fread(&persona, sizeof(Persona), 1, file))
  128.        {
  129.            printf("%-10d %-15d %-10s %s\n", persona.DNI, persona.fnac, persona.apellido, persona.nombres);
  130.        }
  131.        fclose(file);
  132.        printf("\n\n");
  133.        pausar();
  134.    }
  135. }
  136.  
  137. void pausar()
  138. {
  139.    printf("Presione ENTER para continuar");
  140.  
  141.    while (getchar() != '\n');
  142.    getchar();
  143.  
  144.    printf("");
12  Programación / Programación C/C++ / Re: Necesito ayuda en: 2 Agosto 2016, 21:26 pm
https://www.youtube.com/watch?v=nhLj8v2n990

Aca hacen una agenda, noc si te sirva. Saludos
13  Programación / Programación C/C++ / Agenda - ayuda con actualizacion en: 2 Agosto 2016, 21:22 pm
Esta es la agenda que hice, queria saber si me podian ayudar con una funcion que  permita actualizar los datos(ej:nombre, apellido, etc) desde ya muchas gracias.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct
  6. {
  7.    unsigned long int DNI;
  8.    unsigned long int fnac;
  9.    char apellido[64];
  10.    char nombres[64];
  11. }Persona;
  12.  
  13. void crearArchivo(char a[],char b[]);
  14. void menu (char* nombreArchivo, char* control);
  15. Persona crearPersona();
  16. void guardarPersona(Persona persona, char* nombreArchivo);
  17. void mostrarLista(char* nombreArchivo);
  18. void pausar();
  19.  
  20. int main()
  21. {
  22.    char nombreArchivo[20], control[20];
  23.    int opcion1;
  24.    printf("Ingrese el nombre del archivo(Incluya su formato): ");
  25.    scanf("%s",&nombreArchivo);
  26.    printf("Ingrese el nombre del archivo de control(Incluya su formato): ");
  27.    scanf("%s",&control);
  28.    printf("Pulse 1 si desea crear los archivos, 2 si desea proceder al menu: ");
  29.    scanf("%d",&opcion1);
  30.    if(opcion1==1)
  31.    {
  32.        fopen(nombreArchivo,"wb");
  33.        fopen(control,"wb");
  34.        fclose;
  35.        menu (nombreArchivo,control);
  36.    }
  37.    else
  38.    {
  39.        menu(nombreArchivo,control);
  40.    }
  41.    return 0;
  42. }
  43.  
  44. void menu(char* nombreArchivo, char* control)
  45. {
  46.    int opcion;
  47.  
  48.    do{
  49.        system("cls");
  50.        printf("1. Agregar Persona\n");
  51.        printf("2. Consultar Lista\n");
  52.        printf("3. Salir\n\n");
  53.        printf("Ingresar una opcion: ");
  54.        scanf(" %d", &opcion);
  55.  
  56.        if (opcion>0 && opcion<5)
  57.            {
  58.            system("cls");
  59.            switch(opcion){
  60.                case 1:
  61.                    guardarPersona(crearPersona(), nombreArchivo);
  62.                    break;
  63.                case 2:
  64.                    mostrarLista(nombreArchivo);
  65.                    break;
  66.                case 3:
  67.                    printf("Fin del programa\n");
  68.                    break;
  69.  
  70.            }
  71.        }
  72.        else
  73.        {
  74.            printf("\nOpcion no contemplada\n");
  75.            pausar();
  76.        }
  77.    }while (opcion!=5);
  78. }
  79.  
  80. Persona crearPersona()
  81. {
  82.    Persona persona;
  83.  
  84.    printf("DNI: ");
  85.    scanf(" %d", &persona.DNI);
  86.    printf("fnac: ");
  87.    scanf(" %d", &persona.fnac);
  88.    printf("Apellido: ");
  89.    scanf(" %s", persona.apellido);
  90.    printf("Nombres: ");
  91.    scanf(" %s", persona.nombres);
  92.  
  93.    return persona;
  94. }
  95.  
  96. void guardarPersona(Persona persona, char* nombreArchivo)
  97. {
  98.    FILE* file= fopen(nombreArchivo, "ab");
  99.  
  100.    if (file==NULL)
  101.        {
  102.        printf("Error al intentar acceder al archivo\n");
  103.        pausar();
  104.        }
  105.    else
  106.    {
  107.        fwrite(&persona, sizeof(Persona), 1, file);
  108.        printf("\nPersona guardada!\n");
  109.        pausar();
  110.        fclose(file);
  111.    }
  112. }
  113.  
  114. void mostrarLista(char* nombreArchivo)
  115. {
  116.    FILE* file= fopen(nombreArchivo, "rb");
  117.  
  118.    if (file==NULL)
  119.        {
  120.        printf("Error al intentar acceder al archivo\n");
  121.        pausar();
  122.    }
  123.    else
  124.    {
  125.        Persona persona;
  126.        printf("%-10s %-15s %-10s %s\n\n", "DNI", "FechaDeNac", "Apellido", "Nombres");
  127.        while (fread(&persona, sizeof(Persona), 1, file))
  128.        {
  129.            printf("%-10d %-15d %-10s %s\n", persona.DNI, persona.fnac, persona.apellido, persona.nombres);
  130.        }
  131.        fclose(file);
  132.        printf("\n\n");
  133.        pausar();
  134.    }
  135. }
  136.  
  137. void pausar()
  138. {
  139.    printf("Presione ENTER para continuar");
  140.  
  141.    while (getchar() != '\n');
  142.    getchar();
  143.  
  144.    printf("");
  145. }
14  Programación / Programación C/C++ / Duda con una funcion de archivos en: 1 Agosto 2016, 23:59 pm
Tengo una duda, estoy trabajando en un programa de archivos binarios y necesitaba una función que solicite nombre del archivo de texto con los registros a agregar y que agregue los registros sin buscar espacio libre ni verificar unicidad de los registros. No si alguien me podia guiar para como poder hacer que agregue los registros al archivo de datos principal, desde ya muchas gracias.
15  Programación / Programación C/C++ / URGENTE Archivos Binarios en: 31 Julio 2016, 20:05 pm
Ayuda por favor, necesito resolver uno de los tres ejercicios a continuación, desde ya muchas gracias

Desarrollar una biblioteca de funciones de disposición (crear, cargar desde archivo de texto y cerrar), actualización (insertar, eliminar y actualizar un registro) y recuperación (leer siguiente registro, buscar un registro dado su identificador y reportar todos los registros en un archivo de texto) para los archivos binarios con registros desordenados que se especifican, y desarrollar los programas correspondientes para manipularlos. Los prototipos de las funciones deben ser idénticos para todos los archivos.
Un programa tipo para la manipulación de un archivo debe consistir de una solicitud del nombre del archivo en la carpeta actual, que a continuación presente un menú con opciones para:  Crear el archivo: lo crea junto con el archivo de control que corresponda abriéndolos en modo “wb” e inmediatamente los cierra vacíos.  Agregar registros editados en un archivo de texto (append): solicita nombre del archivo de texto con los registros a agregar, abre al archivo de datos y a su archivo de control en modo “ab+” y al de texto en modo “rt”, y agrega los registros sin buscar espacio libre ni verificar unicidad de los registros.  Abrir el archivo para actualizar o recuperar registros: abre al archivo de datos y a su archivo de control en modo “rb+”, presenta un menú de operación con todas las opciones de actualización (sólo en caso de que el archivo sea actualizable) y recuperación más una para regresar al menú inicial (que cierra a los archivos antes de volver al menú principal).  Terminar el programa.

Los archivos para los cuales deben desarrollarse una biblioteca y un programa son:
1. Persona((dni)i, (fnac) ?, apellidos, nombres)
Con registros de longitud fija actualizables. Los registros se pueden insertar con fecha de nacimiento nula, y se pueden actualizar para registrar una fecha de nacimiento válida o para corregir errores en nombres o apellidos. La fecha de nacimiento debe ser un entero largo sin signo con formato aaaammdd para fechas válidas, o 0 para fecha nula.
Persona (dni: EL, fnac: EL, apellidos: C(64), nombres: C(64))
2. Factura ((número) i, fecha, descuento, componente ((código de Producto) ie, cantidad, precio de venta unitario) +20)
Con registros de longitud variable no actualizables:
Factura (numFac: EL, fecha: EL, dto: F, cantComp: EC, comp (codProd: EL, cant: EC, pvu: F) +)
3. Producto((código) i, nombre, marca, presentación (descripción, existencia, precio de venta unitario) *)
Con registros de longitud variable organizados en bloques y actualizables:
Producto ((codProd: EL, nomProd: CV, marca: CV, cantPres: EC, present (descrip: CV, existencia: E, pvu: F) *) *
16  Programación / Programación C/C++ / Ayuda urgente en: 30 Julio 2016, 21:11 pm
Hola, queria saber si alguien me puede ayudarme con la siguiente consigna

El archivo para el cual debe desarrollarse una biblioteca y un programa son:

Factura ((número) i, fecha, descuento, componente ((código de Producto) ie, cantidad, precio de venta
unitario) +20)

Con registros de longitud variable no actualizables:

Factura (numFac: EL, fecha: EL, dto: F, cantComp: EC, comp (codProd: EL, cant: EC, pvu: F) +)

Desde ya mucha gracias
17  Programación / Programación C/C++ / ejercicio fracciones en: 21 Mayo 2016, 19:52 pm
por favor me podrian ayudar con este:

Codifica un progrma que utilize la funcion
void fraccion(fraccion v[],int N,fraccion *resultado)
donde el usuario ingrese N numero de fracciones cargadas en v, y que devuelva la suma irreductible de las fracciones.
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines