- RAMÍREZ FUENTES EDGAR ALEJANDRO
- Norman Saucedo @norman-ipn
- IMPLEMENT A WAY TO STORAGE DATA AFTER THE PROGRAM IS CLOSED
- REFACTOR CODE
THIS PROJECT WAS MADE TO PUT IN PRACTICE MY KNOWLEDGE ABOUT DATA STRUCTURES AND BUILT A REAL LIFE PRACTICE WITH THIS KNOWLEDGE. THIS PROJECT TRIES TO SIMULATE A TELEPHONE CONTACT MANAGEMENT SYSTEM WHICH HELPS THE USER TO KEEP A RECORD OF HER TELEPHONE CONTACTS. UNFORTUNATELY I DID NOT IMPLEMENTED A WAY TO STORAGE THE DATA AFTER THE PROGRAM IS CLOSED, THAT'S WHY THE CONTACT DATA ONLY WILL PERSIST WHILST THE PROGRAM STILL OPEN. THIS PROJECT USES THE AVL TREE DATA STRUCTURE TO MANIPULATE THE TELEPHONE CONTACT DATA WHICH HELP US TO DO ANY OPERATION (ADD, ERASE, MODIFY, SEARCH) IN A O(LOG2(N)) COMPLEXITY. ALL THE DATA STRUCTURES USED IN THIS PROJECT WERE IMPLEMENTED BY MYSELF THAT'S WHY THE CODE MIGHT NOT BE THE BEST BUT I'LL TRY TO REFACTOR MY CODE TO GET A MORE EFFICIENT CODE.
THIS PROJECT WAS CODED IN SPANISH LANGUAGE BECAUSE IT'S A SCHOOL PROJECT (I LIVE IN MEXICO) BUT EVERY FUNCTION HAS A COMMENT WHICH SAYS WHAT THAT FUNCTION DOES. THERE IS MORE INFORMATION ABOUT THE PROJECT IN THE WIKI BUT IT'S IN SPANISH AS WELL.
- AVL TREE
- STACK
- SIMPLY LINKED LIST
- GIT
- TEXT EDITOR OR IDE (ONLY IF YOU WANT TO CHECK THE CODE)
- MAKE COMMAND IN YOUR TERMINAL (ONLY IF YOU WANT TO COMPILE USING THE MAKEFILE)
- GCC COMPILER (THIS PROJECT WAS COMPILED WITH VERSION 9.3.0)
- OPEN YOUR TERMINAL
- CLONE THE REPOSITORY USING THE GIT CLONE COMMAND
git clone https://github.com/EdgarRamirezFuentes/TELEPHONE-CONTACT-MANAGEMENT-SYSTEM.git
- GO TO THE PROJECT FOLDER
cd TELEPHONE-CONTACT-MANAGEMENT-SYSTEM/
- COMPILATE
THERE ARE TWO WAYS TO COMPILATE THIS PROGRAM
- USING MAKEFILE
TO COMPILATE THIS PROGRAM USING MAKEFILE, YOU ONLY NEED TO RUN THE NEXT COMMAND
make run
- COMPILING STEP BY STEP
IF YOU ARE NOT ABLE TO USE THE "MAKE" COMMAND, THEN YOU ARE GOING TO RUN THE NEXT COMMANDS TO COMPILE THE PROGRAM.
gcc -c lista-simplemente-enlazada.c -Wall
gcc -c pila.c -Wall
gcc -c arbolAVL.c -Wall
gcc -c aplicacion.c -Wall
gcc -c main.c -Wall
gcc main.o aplicacion.o arbolAVL.o lista-simplemente-enlazada.o pila.o -Wall
./a.out