I've learned how to:
- use struct and class, and know how they are different from each other
- build sort algorithm by name, number etc
- utilize user-defined function to manage efficient code
- read the files even if it is subject to change
- utilize priority queues and linked-list
- apply mathematical approaches through projects
- manage the memory by myself by using valgrind for dynamically-allocated arrays
- debug by using gdb
- work in a team
// banking system // This program can read files including clients' financial information and execute 5 commands
- Deposit (+) : Add deposit
- Withdrawal (-) : Subtract deposit
- Check balance (?) : Check total balance
- Find Largest balance (^) : Find the account with the largest balance
- List all accounts and balances (* ) : Show all of the accounts and balances
- Quit (x)
// 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 (* )
// simple python interpreter // This program can interpret simple python codes built in C++ programming language.
- assignment & operator
- print statement
- If-else (incomplete)
// 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;
- Quick Statistics : Output the total # of stations, trips, and capacity
- Summary of bike durations : Show the summary of bike durations
- Histogram of starting times : Categorizes the trips into 1 of 24 categories based on the starting hour
- Stations near me : Find all stations near a given position by using mathmatical user-defined function
- List all stations : List all stations in alphabetical order by name
- Find stations : Perform a case-sensitive search of the stations whose name includes the word input by the user
- Find trips within timespan : Search the bike trips for all trips with a start time that falls within the given timespan
- Quit
// Linked-lists and priority queues // This program comprises linked-lists and priority queues (information in detail is well-described in project 5)
// 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;
- Help : Show helps
- Stats : Output the number of students currently enrolled and waitlisted in each class
- List class : Output information about the specific class considering priority queues (project6 in detail)
- Increase class capacity : Change the enrollment capacity of the specified class considering priority queues
- Enroll class netid : Attempt to enroll the student in the specified class considering enrollment and waitlist
- Waitlist class netid priority : Attempt to waitlist the student in the specified class considering enrollment and waitlist
- Process filename : Attempt to open the given filename and input commands from this file until “q” or “quit” is encountered
- Output filename : Open the given file for output and writes the current enrollment data to this file
- Quit
- No use global variables
- No use built-in algorithms. Only use what I made
- Must represent general solutions
- Crystal clear codes