以下是某C++程序,用来判定用户口令,请仔细阅读程序并完成要求。 //**********************************************************// // 口令检验程序

admin2012-04-10  28

问题 以下是某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>=’A’&&password<=’Z’)
   capital=true;
   if(passwordEi]>="a"&&password<=’Z’)
   lowercase=true;
   if(password>=’0’&&password<=’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%,需说明理由。

选项

答案测试用例设计如下 分几种情况考虑:第一要满足所有条件,例如as123CD;第二要都不满足条件,例如#¥%%@¥&;第三要长度小于6,例如Sal;第四要有错误的输入,例如空输入,cin. getline无法获取回车符。 测试用例为: as123CD #¥%%@¥& Sal (回车符,空输入)

解析
转载请注明原文地址:https://kaotiyun.com/show/KSNZ777K
0

相关试题推荐
最新回复(0)