任务说明(二选一):
一、实现模块判断传入的身份证号码的正确性;
二、实现模块判断传入的电子邮箱账号的正确性;
实现要求:
一、实现功能模块;
二、针对所实现的模块编写对应的单元测试代码;
三、需要按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 |