zoukankan      html  css  js  c++  java
  • 软工作业PSP与单元测试训练

    任务说明:

    一、实现模块判断传入的身份证号码的正确性;

    实现要求:

    一、实现功能模块;

           1.对身份证前17位进行公式计算,与输入的身份证最后一位校验位进行判断;

           2.对身份证中的年月日格式进行判断是否合理;

    二、针对所实现的模块编写对应的单元测试代码;

    # include <stdio.h>  
    # include <stdlib.h>  
    # include <windows.h>  
      
    int main(void) {  
      
    
        int i, a[20], sum=0, b, m=0;  
        char c;   
        printf("请输入您所查询的身份证号:");  
        for(i=1; i<=17; i++) {  
            scanf("%1d", &a[i]);  
        }  
        scanf("%c", &c);  
        sum = a[1]*7 + a[2]*9 + a[3]*10 + a[4]*5 + a[5]*8 + a[6]*4 + a[7]*2  
            + a[8]*1 + a[9]*6 + a[10]*3 +a[11]*7 + a[12]*9 + a[13]*10 + a[14]*5  
            + a[15]*8 + a[16]*4 + a[17]*2;  
        b = sum%11;  
        switch(b) {   
            case 0: if(c=='1') m = 1;break;  
            case 1: if(c=='0') m = 1;break;  
            case 2: if(c=='X'||c=='x') m = 1;break;  
            case 3: if(c=='9') m = 1;break;  
            case 4: if(c=='8') m = 1;break;  
            case 5: if(c=='7') m = 1;break;  
            case 6: if(c=='6') m = 1;break;  
            case 7: if(c=='5') m = 1;break;  
            case 8: if(c=='4') m = 1;break;  
            case 9: if(c=='3') m = 1;break;  
            case 10: if(c=='2') m = 1;break;  
        }  
        if(m!=1||a[7]>2||a[11]>1||a[13]>3) { //判断身份证最后一位校验位、年月日格式 
            printf("
    "); 
            printf("a您输入的不是有效的身份证
    
    ");           
            exit(0);  
        }  
      
        printf("
    ");  
        printf("a%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%c该身份证为有效身份证
    ",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],c);    
        return 0;  
    }

    三、需要按PSP流程进行工作量估算,填写任务清单工作量估算表。

    任务清单工作量估算表:

    PSP阶段

    时间估算(小时)

    实际实际(小时)

    计划

    估计每个阶段的时间成本

     1

     1.5

    开发

    需求分析

     1

     1

    系统设计

     0.3

     0.5

    设计复审

     0.2

     0.1

    代码实现

     1

     1

    代码复审

     0.2

     0.3

    测试

     0.3

     0.5

    报告

    测试报告

     0.2

     0.2

    总结

     0.5

     0.3




     

  • 相关阅读:
    设计模式(6)--Adapter(适配器模式)--结构型
    设计模式原则(1)--Single Responsibility Principle(SRP)--单一职责原则
    设计模式(5)--Builder(建造模式)--创建型
    设计模式(4)--AbstractFactory(抽象工厂模式)--创建型
    设计模式(3)--SimpleFactory( [1] 简单工厂模式)--创建型
    JS 的map和array集合组合返回JSON字符串
    HTML中直接写js 函数
    设计模式(3)--FactoryMethod( [2] 工厂方法模式)--创建型
    图片剪贴工具类
    远程Get,Post请求工具类
  • 原文地址:https://www.cnblogs.com/ChenZhenYe1215/p/8576211.html
Copyright © 2011-2022 走看看