A command line application developed in C++ programming language. The main purpose of this project is to act as a qualification test of mastering of C++.
Manage addresses by adding, searching and removing address entries.
-
address entry data structure
-
name of the person
-
mobile number of the person
-
home address of the person
-
-
start interactive command line application
sh> ./ab
ab> _
-
use
add
command to add new address entryab> add
name: xiaoming
mobile: 18888888888
address: xiaoming jia
address entry added
ab> _
-
use
search
command to get one or more address entriesab> search
by (name|mobile|address): name
name: xiaoming
one can search by
name
,mobile
oraddress
, if more than one entires are matched, they should be all displayed. -
use
remove
command to remove one or more address entriesab> delete
by (name|mobile|address): name
name: xiao.*
two address entries deleted
ab> _
one can remove by
name
,mobile
oraddress
, if more than one entries are matched, they should be all removed. -
get help
ab> !help
then help message should be displayed, and when encoutering invalid command, help message should also be displayed.
-
quit from the application
ab> !quit
sh> _
-
your programme should be object-orinted
-
your code should be well-formatted
- NEVER use
tab
for indentation
- NEVER use
-
comments for public interface/class/method is a must
-
please use linked list to store data in memory, when exit the application, you should persist the data to file system.
-
when application start if you can reload the persistent file is a plus.
-
please use simple key/value as persistent file format
-
if you can implement an address book server within the application(telnet or raw socket protocol), and when you start interactive command line application, first it starts a socket server, then takes interactive commands as the input for your socket client; a big plus.
-
gcc or g++ should be should be used to compile and generate runable application. If you working on windows, you can use Cygwin.
-
please provide your steps to build this application
- Make file is a plus.
-
DO NOT store any IDE specific files into git repository
-
if there is any fault in this readme, please also fix it or submit an issue
Fork me and use pull request to submit changes to develop
branch. Anything unclear about the feature, fire issue.