加载中...

第一次个人编程作业

一、Github

 https://github.com/BloodyVampire/123456/tree/master/031702316

 

二、PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning 计划 30 50
Estimate 估计这个任务需要多少时间 0 0
Development 开发 400 450
Analysis 需求分析 (包括学习新技术) 400 350
Design Spec 生成设计文档 0 0
Design Review 设计复审 0 0
Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 15
Design 具体设计 0 0
Coding 具体编码 450 500
Code Review 代码复审 30 35
Test 测试(自我测试,修改代码,提交修改) 250 300
Reporting 报告 120 100
Test Repor 测试报告 65 50
Size Measurement 计算工作量 0 0
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 30
  合计 1785 1880

 

 

 三、解题思路

1*首先在主函数内实现对文件的读操作和写操作,读取到的数据传递到头文件定义的的类中

2*在自己定义的头文件中进行地址的解析操作

3*实现过程中需要不断的从字符串中提取并删除字符以便进行筛选

4*将排好序的地址规格化输出

5*在进行地址匹配时我们要先将字符串中提取出的和自己预先写好的标准地址文档比较查询

 查询的时候可以利用str.find()函数

 

四、具体设计

string cut_PhoneNumber(string s);    // 提取电话号码
    void cut_level();                    // 提取地址的级数
    void cut_name();                    // 提取姓名
    void cut_pro();                        // 提取省
    void cut_city();                    // 提取市
    void cut_county();                    // 提取区/县/县级市
    void cut_area();                    // 提取街道/镇/乡
    void cut_detail();                    // 提取详细地址
    void analyse();                        // 解析地址
    string toJson();                    // 以json格式输出

 

五、计算机模块接口部分的性能改进

cpu使用情况

 

 函数占用情况

 

代码覆盖率

 

 

 

 

 

六、单元测试

input:

1!鲁胞,上海长宁区周18951233466家桥街道长宁路999号春天花园.
1!臧街经,北京市东城区北新桥街道东直门内大街民15679601503安小区8号楼.
1!双韵,安徽黄山市歙县雄村镇006县道与G56杭瑞高速歙县雄村乡防保站13575634949.
1!苗朽蕾,13884441418湖北省孝感市云梦县方庙村村委会.
1!晏孔,重庆巫山13097181946县大昌镇洋溪村便民超市.

out:

[
    {
        "level": 1,
        "姓名": "鲁胞",
        "手机": "18951233466",
        "地址": [
            "上海",
            "上海市",
            "长宁区",
            "周家桥街道",
            "长宁路999号春天花园"
        ]
    },
    {
        "level": 1,
        "姓名": "臧街经",
        "手机": "15679601503",
        "地址": [
            "北京",
            "北京市",
            "东城区",
            "北新桥街道",
            "东直门内大街民安小区8号楼"
        ]
    },
    {
        "level": 1,
        "姓名": "双韵",
        "手机": "13575634949",
        "地址": [
            "安徽省",
            "黄山市",
            "歙县",
            "雄村镇",
            "006县道与G56杭瑞高速歙县雄村乡防保站"
        ]
    },
    {
        "level": 1,
        "姓名": "苗朽蕾",
        "手机": "13884441418",
        "地址": [
            "湖北省",
            "孝感市",
            "云梦县",
            "",
            "方庙村村委会"
        ]
    },
    {
        "level": 1,
        "姓名": "晏孔",
        "手机": "13097181946",
        "地址": [
            "重庆",
            "重庆市",
            "巫山县",
            "大昌镇",
            "洋溪村便民超市"
        ]
    }

]

七、心得体会

主要是自己太菜了,再加上对c++语言和visual studio的了解不够深刻。

有些知识只是停留在了表面,真到用的时候却不知道如何使用。

还有就是在UTF-8和unicode互转时vs会报出异常需要反复的查询调试,真是太难了。

最后作为一名小白的我希望能和大家一起进步。

 

posted @ 2019-09-28 17:48  NinjaMaster  阅读(251)  评论(2编辑  收藏  举报