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

任务说明(二选一):

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

二、实现模块判断传入的电子邮箱账号的正确性;

实现要求:

一、实现功能模块;

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

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

实现模块判断传入的电子邮箱账号的正确性:

#include <iostream>
#include <ctype.h>
#include<String.h>
using namespace std;
int main(int argc, char *argv[]) {
string s;
while(getline(cin,s)){
int i=0;
bool flag=true;
while(s[i]!='@'){
if(isalnum(s[i]) || s[i]=='_' || s[i]=='@' ||s[i]=='.')

{
i++;
}
else{
flag=false;
break;
}
}
if(i<6 || i>18){
cout<<"格式错误"<<endl;
continue;
}
if(flag==false){
cout<<"格式错误"<<endl;
continue;
}

//cout<<i<<endl;
//cout<<s[i]<<endl;
i++;

if(s[i]=='.'){
cout<<"格式错误"<<endl;
continue;
}
while(s[i]!='.'){
if(isalnum(s[i])){
i++;
}
else{
flag=false;
break;
}
}

if(flag==false){
cout<<"格式错误"<<endl;
continue;
}

//cout<<i<<endl;
//cout<<s[i]<<endl;
if(s[s.size()-1]=='.'){
cout<<"格式错误"<<endl;
continue;
}
cout<<"格式正确"<<endl;

}
return 0;
}

(代码摘自:http://www.cnblogs.com/mainguo/p/8569579.html)

任务清单工作量估算表:

PSP阶段

时间估算(小时)

实际实际(小时)

计划

估计每个阶段的时间成本

 2

 2.5

开发

需求分析

 0.5

 0.4

系统设计

 0.1

 0.3

设计复审

 0.3

 0.1

代码实现

 1.4

 1.1

代码复审

 0.1

 0.1

测试

 0.1

 0.5

报告

测试报告

 0.5

 0.4

总结

 0.8

 0.4

原文地址:https://www.cnblogs.com/Chenjx-666/p/8558209.html