2 yankeqianrushi yankeqianrushi 于 2013.09.19 13:14 提问

C++实现命令行功能:`ls`,`cd`,`cat`, `add`, `remove`

#题目 要求

Browse and modify a JSON data structure with ls,cd,cat, add, remove

#实现功能

  • Let's say we have this address entry data structure in JSON

    {
        "entries": {
            "lilei" : {
                "age": 27,
                "mobile" : "13700000000",
                "address" : "Earth somewhere"
            }, 
            "hanmeimei" : {
                "age": 26,
                "mobile" : "13700000001",
                "address" : "Earth somewhere else"
            }
        }
    }
    
  • start interactive command line application

    sh> ./ab

    ab> _

  • use ls command to list the items in current position

    ab> ls

    ab> entries

  • use cd command to go to the entry like go to a directory

    ab> cd entries

    ab> ls

    ab> lilei hanmeimei

  • use cat command to display th item data

    ab> cat lilei

    ab> "lilei" : { "age": 27, "mobile" : "13700000000", "address" : "Earth somewhere" }

  • use add command to add new address entry to JSON

    ab> cd entries

    ab> add

    key: xiaoming

    value: { "age": 28, "mobile" : "13700000002", "address" : "Earth somewhere too" }

    address entry added

    ab> ls

    ab> lilei hanmeimei xiaoming

    Note: the key should be identical, if trying to add duplicated key, just display an error message

  • use remove command to get one or more address entries

    ab> cd entries

    ab> remove

    please give the key: xiaoming

    xiaoming was deleted from JSON

    Note: if trying to delete an non-exist key, just display an error message

  • 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> _

Csdn user default icon
上传中...
上传图片
插入图片