以下是某C++程序,用来判定用户口令,请仔细阅读程序并完成要求。
//**********************************************************//
// 口令检验程序 //
// 文件名:password_check. cpp //
//**********************************************************//
#include<iostream. h>
#include<string. h>
//**********************************************************//
// 主函数 //
//**********************************************************//
void main(void)
{
char password[128]={’\0/};
cout<<“请输入您的口令:";
cout. flush();
while(true){
cin. getline(password,128,’\n’);
if(strlen(password)<6) //口令长度少于6位
{
cout<<"您的用户口令少于6个字符!"<<endl;
cout<<"请重新输入:";
cout. flush();
}else{
bool capital=false; //检验是否有大写字母
bool lowercase=false; //检验是否有小写字母
bool digit=false; //检验是否有数字
for(unsigned int i=0;i<strlen(password);i++){
if(password[i]>=’A’&&password[i]<=’Z’)
capital=true;
if(passwordEi]>="a"&&password[i]<=’Z’)
lowercase=true;
if(password[i]>=’0’&&password[i]<=’9’)
digit=true;
}
//判断用户输入的口令中缺少哪中字符
if(capital){
cout<<"您的用户口令中没有大写字母!"<<endl;
cout<<"请重新输入:";
}else if(lowercase){
cout<<"您的用户口令中没有小写字母!"<<endl;
cout<<"请重新输入:";
}else if(digit){
cout<<"您的用户口令中没有数字!"<<endl;
cout<<"请重新输入:";
}else{
cout<<"您的口令满足要求!"<<endl;
break;
}
}
}
}
设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明理由。 |