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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


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

Desconectado Desconectado

Mensajes: 17


Ver Perfil
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. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con una agenda
Java
fredycruz 1 3,605 Último mensaje 23 Abril 2010, 22:34 pm
por Debci
Ayuda codigo C++ (Agenda) « 1 2 3 »
Programación C/C++
L0R0 21 20,145 Último mensaje 22 Marzo 2011, 14:45 pm
por L0R0
ayuda a subir foto en mi agenda en php
PHP
jelsir 1 1,719 Último mensaje 7 Octubre 2013, 00:31 am
por GenR_18
Ayuda Programa Agenda C
Programación C/C++
shiftysemantic 1 1,363 Último mensaje 1 Mayo 2017, 23:43 pm
por engel lex
ayuda con búsqueda en agenda y panel de ayuda
Java
juan_1 1 1,711 Último mensaje 29 Mayo 2020, 12:18 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines