Programando en C: Desarrollo de las diferentes partes del programa del curso

Capítulo 13: Desarrollo de las diferentes partes del programa del curso

agenda.c
/* Programa agendapor Jose Vicente Carratala */#define NOMBREPROGRAMA “Programa agenda”#define VERSION “1.0”#define AUTOR “Jose Vicente Carratala”#include <stdio.h>#include <string.h>#include “libAgenda/datos.c”#include “libAgenda/listadoRegistros.c”#include “libAgenda/introducirRegistro.c”#include “libAgenda/eliminarRegistro.c”#include “libAgenda/buscarRegistro.c”#include “libAgenda/actualizarRegistro.c”#include “libAgenda/menuPrincipal.c”
int main(int argc, char *argv[]) {
    // Primer registro    printf(“\033[2J”);    strcpy(agenda[1].nombre,”Jose Vicente”);    strcpy(agenda[1].telefono,”12345678″);    strcpy(agenda[1].email,”info@josevicentecarratala.com”);        // Segundo registro    strcpy(agenda[2].nombre,”Juan”);    strcpy(agenda[2].telefono,”53254″);    strcpy(agenda[2].email,”juan@josevicentecarratala.com”);    // Tercer registro    strcpy(agenda[3].nombre,”Jaime”);    strcpy(agenda[3].telefono,”64566″);    strcpy(agenda[3].email,”jaime@josevicentecarratala.com”); printf(“\033[2J”);    menuPrincipal(); return 0;}

datos.c
struct RegistroAgenda{        char nombre[50];        char telefono[50];        char email[50];    };        struct RegistroAgenda agenda[100];        int longitudDatos = 3;

listadoRegistros.c
void listadoRegistros(){    printf(“\033[2J”);    // Recorremos los registros uno a uno, los mostramos por pantalla    for(int i = 1; i<=longitudDatos;i++){        printf(“Registro: %s %s %s \n”,agenda[i].nombre,agenda[i].telefono,agenda[i].email);    }    // Volvemos al menu principal    printf(“Pulsa Enter para volver al menú principal \n”);    getchar();    getchar();    printf(“\033[2J”);    menuPrincipal();}

introducirRegistro.c
void introducirRegistro(){    printf(“\033[2J”);    // Información al usuario        printf(“Vamos a introducir un registro \n”);    // Solicitamos el nombre        printf(“Indica el nombre del contacto: \n”);        char nombre[100];        scanf(“%s”,nombre);    // Solicitamos el telefono        printf(“Indica el telefono del contacto: \n”);        char telefono[100];        scanf(“%s”,telefono);    // Solicitamos el email        printf(“Indica el email del contacto: \n”);        char email[100];        scanf(“%s”,email);    // Aumentamos el indice de la matriz        longitudDatos++;    // Creamos una nueva estructura        strcpy(agenda[longitudDatos].nombre,nombre);        strcpy(agenda[longitudDatos].telefono,telefono);        strcpy(agenda[longitudDatos].email,email);    // Feedback al usuario        printf(“Registro añadido, pulsa una tecla para volver al menu inicial \n”);        getchar();        getchar();    // Volvemos al menu principal        printf(“\033[2J”);        menuPrincipal();    }

eliminarRegistro.c
void eliminarRegistro(){    printf(“\033[2J”);    // Mensaje informativo para el usuario        printf(“Vamos a eliminar un registro”);    // Solicitamos el id a eliminar        printf(“Introduce el id del registro a eliminar: \n”);        getchar();        int id = getchar();    // Recorremos la matriz copiando el siguiente registro, en el anterior, a partir del registro indicado        for(int i = id;i<longitudDatos;i++){            agenda[i] = agenda[i+1];        }    // Recortamos la longitud de los datos        longitudDatos–;    // Volvemos al menu inicial        printf(“Pulsa Enter para volver al menu principal”);        getchar();        getchar();        printf(“\033[2J”);        menuPrincipal();}

buscarRegistro.c
void buscarRegistro(){    printf(“\033[2J”);    // Mensaje informativo para el usuario        printf(“Vamos a buscar un registro \n”);    // Introducimos el nombre a buscar        printf(“Introduce el nombre del contacto: \n”);        char nombre[100];        scanf(“%i”,nombre);    // Recorremos la matriz registro a registro, comparando la cadena        for(int i = 1;i<=longitudDatos;i++){            if(strcmp(nombre,agenda[i].nombre) != 0){                printf(“Registro: %s %s %s \n”,agenda[i].nombre,agenda[i].telefono,agenda[i].email);            }        }    // Volvemos al menu principal        printf(“Pulsa Enter para volver al menu principal”);        getchar();        getchar();        printf(“\033[2J”);        menuPrincipal();}

actualizarRegistro.c
void actualizarRegistro(){    printf(“\033[2J”);    // Informamos al usuario        printf(“Vamos a actualizar un registro \n”);    // Introducimos el identificador del contacto        printf(“Introduce el id del contacto: \n”);        getchar();        int idmodificar = getchar();        idmodificar -= 48; // Convertimos de ASCII a numero    // Informamos al usuario del id que se va a modificar        printf(“Has introducido el id para modificar: %d \n”,idmodificar);    // Solicitamos el nuevo nombre        printf(“Introduce el nuevo nombre del contacto: (anterior: %s) \n”,agenda[idmodificar].nombre);        char nombre[100];        scanf(“%s”,nombre);    // Solicitamos el nuevo telefono        printf(“Introduce el nuevo telefono del contacto: (anterior: %s) \n”,agenda[idmodificar].telefono);        char telefono[100];        scanf(“%s”,telefono);    // Solicitamos el nuevo email        printf(“Introduce el nuevo email del contacto: (anterior: %s) \n”,agenda[idmodificar].email);        char email[100];        scanf(“%s”,email);    // Creamos una nueva estructura        strcpy(agenda[idmodificar].nombre,nombre);        strcpy(agenda[idmodificar].telefono,telefono);        strcpy(agenda[idmodificar].email,email);    // Feedback al usuario        printf(“Registro añadido, pulsa una tecla para volver al menu inicial \n”);        getchar();        getchar();    // Volvemos al menu principal        printf(“\033[2J”);        menuPrincipal();    }

menuPrincipal.c
void menuPrincipal(){ printf(“\033[2J”);     // Mensaje de bienvenida printf(“%s v%s \n”,NOMBREPROGRAMA,VERSION); printf(“%s \n”,AUTOR); printf(“\t 1 – Listado de registros \n”); printf(“\t 2 – Introducir un registro \n”); printf(“\t 3 – Eliminar un registro \n”); printf(“\t 4 – Buscar un registro \n”); printf(“\t 5 – Actualizar un registro \n”); printf(“Tu opcion: “); char opcion = getchar(); printf(“La opción que has seleccionado es: %c \n”,opcion); switch(opcion){     case ‘1’:         listadoRegistros();         break;        case ‘2’:         introducirRegistro();         break;        case ‘3’:         eliminarRegistro();         break;        case ‘4’:         buscarRegistro();         break;     case ‘5’:         actualizarRegistro();         break;        default:            printf(“La opción que has introducido no es válida”);             printf(“Pulsa Enter para volver al menú principal \n”);     getchar();     getchar();     printf(“\033[2J”);     menuPrincipal();                        break; }}

agenda.c

agenda.c

Deja una respuesta

Tu dirección de correo electrónico no será publicada.