zoukankan      html  css  js  c++  java
  • 第一次个人编程作业

    一、Github链接

    Github

    二、PSP表格

    |PSP2.1|Personal Software Process Stages|预估耗时(分钟)|实际耗时(分钟)|
    |------|------|------|
    |Planning|计划|30|20|
    |·Estimate|估计这个任务需要多少时间|30|20|
    |Development|开发|800|1020|
    |·Analysis|需求分析(包括学习新技术)|200|300|
    |·Design Spec|生成设计文档|20|20|
    |·Design Review|设计复审|10|10|
    |·Coding Standard|代码规范(为目前的开发制定合适的规范)|20|20|
    |·Design|具体设计|10|10|
    |·Coding|具体编码|240|360|
    |·Code Review|代码复审|100|120|
    |·Test|测试(自我测试、修改代码、提交修改)|200|180|
    |Reporting|报告|70|40|
    |·Test Report|测试报告|30|10|
    |·Size Measurement|计算工作量|10|10|
    |·Postmortem&Process Improvement Plan|事后总结,并提出过程改进计划|30|20|
    ||合计|900|1080|

    三、计算模块接口的设计与实现过程

    写了一个名为functions.h的头文件,负责声明函数。
    另有一个名为functions.cpp的源文件,负责定义函数
    主要接口如下:

    void ex_name(wstring& ws, wstring& name);//extract name
    void ex_number(wstring& s, wstring& number);//extract phone numbers
    void ex_1(wstring& ws, wstring& level1, const wstring* table);//extract province
    void ex_2(wstring& ws, wstring& level2, wstring& level1);//extract municipality
    void ex_3(wstring& ws, wstring& level3);//extract county
    void ex_4(wstring& ws, wstring& level4);//extract town
    void ex_5(wstring& ws, wstring& level5);//extract road
    void ex_6(wstring& ws, wstring& level6);//extract door
    void ex_7(wstring& ws, wstring& level7);//extract what's left
    

    主要想法就是按关键词提取每一级地址,这样的话,就没做第三级难度了。

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


    从中可看出,消耗最大的是getline函数,不过这是输入,也改进不了。

    五、计算模块部分单元测试展示

    输入:
    1!胥怕摩,天津市15567749658河东区成林道63号天津工业大学.
    1!罗划,宁夏回族自治区石嘴山市大武口区长城街道15853060471建设西街253号建民诊所.
    1!单于咖,河北省保定博野县小店镇15054608937吴王庄村村民委员会.
    1!古囊缰,天津市河东区上杭路街道滨河15607679537里2号楼.
    1!喻预辱,江西省景15816025063德镇市浮梁县洪源镇方家村洪源派出所.
    1!牟廷者,河北保定15603043581市涿州市码头镇码头村委会.
    1!夹谷转讼,15826761592上海市黄浦区五里桥街道局门路4号甲桑城居民委员会.
    1!幸懒雪,天津市向阳楼街道阳安里4号楼15688316875.
    输出:
    {"level": 1,"姓名": "胥怕摩","手机": "15567749658","地址": [ "天津", "天津市","河东区","","成林道63号天津工业大学"]}
    {"level": 1,"姓名": "罗划","手机": "15853060471","地址": ["宁夏回族自治区","石嘴山市","大武口区","长城街道","建设西街253号建民诊所"]}
    {"level": 1,"姓名": "单于咖","手机": "15054608937","地址": [ "河北省", "保定市","博野县","小店镇","吴王庄村村民委员会"]}
    {"level": 1,"姓名": "古囊缰","手机": "15607679537","地址": ["天津","天津市","河东区","上杭路街道","滨河里2号楼"]}
    {"level": 1,"姓名": "喻预辱","手机": "15816025063","地址": ["江西省","景德镇市","浮梁县","洪源镇","方家村洪源派出所"]}
    {"level": 1,"姓名": "牟廷者","手机": "15603043581","地址": ["河北省","保定市","涿州市","码头镇","码头村委会"]
    {"level": 1,"姓名": "夹谷转讼","手机": "15826761592","地址": ["上海","上海市","黄浦区","五里桥街道","局门路4号甲桑城居民委员会"]}
    {"level": 1,"姓名": "幸懒雪","手机": "15688316875","地址": ["天津","天津市","","向阳楼街道","阳安里4号楼"]}

    六、计算模块部分异常处理说明

    由于第一次做这种编程作业,因为前期的许多问题导致最后没时间去整这个异常处理,也就没了。

    七、PSP表格

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

    八、总结

    一直被编码问题困扰,实在不行了就直接对utf-8编码的字符串进行操作,最后只完成了最简单的一级难度,而且还只是一级难度中只按关键字提取的部分······我寻思着,行吧,就这样吧。结果最后根本评测不了,可是自己本机上运行没啥问题,然后搞性能分析的时候零样本???我人没了。
    总之,这次作业遇到了很多问题,原以为算法的考虑是大头,结果被编码给玩死了。网上也找了很多编码的解决方法,但是自己试验时还是乱码了,搞不懂为什么。这次作业结束后,还是多看看大佬们用c++都是怎么写的吧,现在是没时间了,还得做linux作业(推翻项目重来)
    好了,推翻项目重来,编码问题解决了,也能够顺利处理中文了,输出也没啥问题,但是,评测工具报SyntaxError错误???我人没了_
    好了,我出分了,37左右。

  • 相关阅读:
    js页面跳转(转载)
    insert into select union 插入数据到sqlserver中会自动排列
    一段没用的代码
    gridview中自动生成的列不可以设置只读
    Treeview 简单遍历,赋值,检查 checkbox
    线程操作一个无限循环,cpu 占用 25% 左右
    相对路径,绝对路径互转
    遍历虚拟网站下所有目录
    一个级联关系的表,向上获取各个字段名的函数
    大家用.net 大部分的工作是在干什么
  • 原文地址:https://www.cnblogs.com/haku1/p/11600603.html
Copyright © 2011-2022 走看看