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