软工作业PSP与单元测试训练

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

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

# include <stdio.h>

# include <stdlib.h>

# include <windows.h>

int main(void) {

SetConsoleTitle(L"身份证信息查询系统");

int i, a[20], sum=0, b, m=0;

char c;

long area;

printf("************************ ");

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) {//1 0 X 9 8 7 6 5 4 3 2

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您输入的不是有效的身份证,请重新输入 ");

system("pause");

exit(0);

}

printf(" ");

printf("身份证输入有效 ");

system("pause");

return 0;

}

三、任务清单工作量估算表:

PSP阶段

时间估算(小时)

实际实际(小时)

计划

估计每个阶段的时间成本

 0.6

 0.3

开发

需求分析

 0.7

 0.5

系统设计

 0.4

 0.5

设计复审

 0.6

 0.3

代码实现

 2

 1.5

代码复审

 1

 0.7

测试

 1.5

 1.1

报告

测试报告

 0.3

 0.2

总结

 0.5

0.3

原文地址:https://www.cnblogs.com/zengjingzhao/p/8594824.html