Skip to content

ChangjaeHan/CS141_projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS141_projects

I've learned how to:

  1. use struct and class, and know how they are different from each other
  2. build sort algorithm by name, number etc
  3. utilize user-defined function to manage efficient code
  4. read the files even if it is subject to change
  5. utilize priority queues and linked-list
  6. apply mathematical approaches through projects
  7. manage the memory by myself by using valgrind for dynamically-allocated arrays
  8. debug by using gdb
  9. work in a team

project1

// banking system // This program can read files including clients' financial information and execute 5 commands

  1. Deposit (+) : Add deposit
  2. Withdrawal (-) : Subtract deposit
  3. Check balance (?) : Check total balance
  4. Find Largest balance (^) : Find the account with the largest balance
  5. List all accounts and balances (* ) : Show all of the accounts and balances
  6. Quit (x)

project2

// banking system v 2.0 // This program is extended version of project1. First of all, this program can handle flexible number of files and clients. Secondly, this program can list accounts that fall within low....high (* )

project3

// simple python interpreter // This program can interpret simple python codes built in C++ programming language.

  1. assignment & operator
  2. print statement
  3. If-else (incomplete)

project4

// analyzing DIVVY (bike) data // This program can input 2 types of flexible number of files; one is stations in the DIVVY system, and the other is bike trips This handles 8 commands;

  1. Quick Statistics : Output the total # of stations, trips, and capacity
  2. Summary of bike durations : Show the summary of bike durations
  3. Histogram of starting times : Categorizes the trips into 1 of 24 categories based on the starting hour
  4. Stations near me : Find all stations near a given position by using mathmatical user-defined function
  5. List all stations : List all stations in alphabetical order by name
  6. Find stations : Perform a case-sensitive search of the stations whose name includes the word input by the user
  7. Find trips within timespan : Search the bike trips for all trips with a start time that falls within the given timespan
  8. Quit

project5

// Linked-lists and priority queues // This program comprises linked-lists and priority queues (information in detail is well-described in project 5)

project6

// Class registration system // This program is composed of principle structures and algorithms I built in project1 ~ project5 This class registration system can execute 9 commands;

  1. Help : Show helps
  2. Stats : Output the number of students currently enrolled and waitlisted in each class
  3. List class : Output information about the specific class considering priority queues (project6 in detail)
  4. Increase class capacity : Change the enrollment capacity of the specified class considering priority queues
  5. Enroll class netid : Attempt to enroll the student in the specified class considering enrollment and waitlist
  6. Waitlist class netid priority : Attempt to waitlist the student in the specified class considering enrollment and waitlist
  7. Process filename : Attempt to open the given filename and input commands from this file until “q” or “quit” is encountered
  8. Output filename : Open the given file for output and writes the current enrollment data to this file
  9. Quit

Restriction

  1. No use global variables
  2. No use built-in algorithms. Only use what I made
  3. Must represent general solutions
  4. Crystal clear codes

About

Freshman projects from UIC (Program Design 2)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published