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
-
a big plus if you can implement an address book server within the application(telnet or raw socket protocol). when you start interactive command line application, first it starts a socket server, then takes interactive commands as the input for your socket client.
-
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. -
You should submit your source code