Skip to content

This repository is used to storage my final project of the Data structures class

License

Notifications You must be signed in to change notification settings

EdgarRamirezFuentes/Phone-book

Repository files navigation

TELEPHONE CONTACT MANAGEMENT SYSTEM

Team:

  • RAMÍREZ FUENTES EDGAR ALEJANDRO

MENTOR

  • Norman Saucedo @norman-ipn

SCHOOL: ESCOM - IPN

CLASS: DATA STRUCTURES

GROUP: 1CV10

LAST MODIFICATION DATE: 07/30/2020

TO DO

  • IMPLEMENT A WAY TO STORAGE DATA AFTER THE PROGRAM IS CLOSED
  • REFACTOR CODE

DESCRIPTION

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.

NOTE:

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.

DATA STRUCTURES IMPLEMENTED:

  • AVL TREE
  • STACK
  • SIMPLY LINKED LIST
REQUIRED TOOLS
  • 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)

STEPS TO COMPILATE THIS PROJECT

  1. OPEN YOUR TERMINAL
  2. CLONE THE REPOSITORY USING THE GIT CLONE COMMAND
git clone https://github.com/EdgarRamirezFuentes/TELEPHONE-CONTACT-MANAGEMENT-SYSTEM.git
  1. GO TO THE PROJECT FOLDER
cd TELEPHONE-CONTACT-MANAGEMENT-SYSTEM/
  1. 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

About

This repository is used to storage my final project of the Data structures class

Resources

License

Stars

Watchers

Forks

Packages

No packages published