GithubHelp home page GithubHelp logo

timgarvin / students-enroller_-_hash-table-version Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5 KB

A Students Enrollment system using a Finite Set data structure represented as a Hash Table.

C++ 100.00%
c-plus-plus linux hash-table finite-sets data-structure putty winscp data-structures hash-tables

students-enroller_-_hash-table-version's Introduction

Description

Students Enroller (Hash Table Version) is a C++ program that allows the user to add students, remove students, or print students' information using a Finite Set data structure (represented as a Hash Table using closed hashing). This program is made-from-scratch and does not utilize the C++ Standard Template Library (STL).

Compilation and Execution

  • Compile: g++ *.cpp
  • Run Program: ./a.out

Program Commands

  • add <first-name> <last-name> <student-id> <classification> <major>: Adds a student to the Finite Set.
    • Examples:
        set> add James Bond 7 Sophomore Dance
        set> add Bugs Bunny 3229 Junior Business
        set> add Donald Duck 230 Junior ComputerScience
        
  • remove <student-id>: Removes a student from the Finite Set. Returns true if that student has been removed. Returns false if that student does not exist.
    • Examples:
        set> remove 123
        false
        set> remove 7
        true
        
  • print: Prints all students' information in the order they appear in the Finite Set (Hash Table).
    • Notes:
      • When a student is found in a Hash Table bucket, the output printed is in the following tuple notation: (firstname,lastname,student-id,classification,major)
      • When there is no student in a Hash Table bucket, the output printed is (NULL)
      • When a student was previously deleted from a Hash Table bucket, the output printed is (DEL)
      • The print command takes no arguments.
    • Example:
        set> print
        (Donald,Duck,230,Junior,ComputerScience)(NULL)(NULL)(NULL)(NULL)(NULL)(NULL)(DEL)(NULL)(Bugs,Bunny,3229,Junior,Business)
        
  • quit: Exits the program.

Technologies Used

  • C++
  • Linux
  • PuTTY
  • WinSCP

Data Structures Used

  • Finite Set
  • Hash Table (using closed hashing)
    • Hash Table size: B = 10
    • Hash Functions:
      • h(x) = x mod B
      • hi(x) = (h(x) + i^2) mod B

Notes

  • This program should be compiled and executed in a Linux Operating System environment.
  • This program has been tested extensively, without error, through the University of North Texas's Praktomat testing system.

students-enroller_-_hash-table-version's People

Contributors

timgarvin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.