Uncategorized

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 un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *