针对一下C语言程序 请按要求回答问题。 已知weekday. c源程序如下: include
问题详情
针对一下C语言程序,请按要求回答问题。
已知weekday. c源程序如下:
include<stidio. h>
include<conio. h>
/ *主函数* /
Int main()
{
Char letter;
Printf("please input the first letter,"Y"to exit!n");
While((letter=getch())!="Y")//当输入字母为Y时结束
{
Switch(letter)
{
Case"S":
Printf("%cn",letter);
Printf("please input second lettern");//输入第二个字母
If((letter=getch())=="a")
Printf("Saturdayn");
Else if(letter=="u")
Printf("Sundayn");
Else printf("data errorn);
Break;
Case"F":
Printf("fridaykn");
Break;
Case "M":
Printf("mondayha");
Break;
Case "T":
Printf("%cn",letter);
Printf("please input second lettera");//输入第二个字母
If((letter=getch())=="u")
Printf("Tuesdayn"):
Else if(letter=="h")
Printf("Thursdayn");
Break;
Case "W":
Printf("Wednesdayn");
}
}
Return 0;
}
(1) 画出主函数main的控制流程图;
(2) 设计一组测试用例,使main函数的语句覆盖率尽量达到100%;
(3) Main函数的语句覆盖率能否达到100%?如果认为无法达到,需说明原因。请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:[path1]12[path2]23[path3]234522[path4]236722[path5]236822[path6]91022[path7]111222[path8]1314[path9]13141516[path10]1314171822[path11]1 314822[path12]192022[path13]19822生成测试用例确保基本路径集中每条路径的执行:path1.输入数据y输出的结果程序结束返回值0path2.输入数据s输出结果“s输入第二个字母”path3.输人数据s后输入数据a输出结果“Saturday”path4.输入数据s后输入数据u输出结果“sunday”path5.输入数据s后输入数据非a非u输出结果“data erroi”path6.输入数据f输出结果“friday”path7.输入数据m输出结果“monday”path8.输入数据t输出结果“输入第二个字母”path9.输入数据t后输入数据u输出结果“tuesday”path10.输入数据t后输入数据h输出结果“thursday”path11.输入数据t后输入数据非u非h输出结果“data crror”pathl2.输入数据w输出结果“Wednesday"’path13.输入数据defalt输出结果“data error”
[path1]1,2[path2]2,3[path3]2,3,4,5,22[path4]2,3,6,7,22[path5]2,3,6,8,22[path6]9,10,22[path7]11,12,22[path8]13,14[path9]13,14,15,16[path10]13,14,17,18,22[path11]1 3,14,8,22[path12]19,20,22[path13]19,8,22生成测试用例,确保基本路径集中每条路径的执行:path1.输入数据y,输出的结果程序结束返回值0path2.输入数据s,输出结果“s输入第二个字母”path3.输人数据s后,输入数据a,输出结果“Saturday”path4.输入数据s后,输入数据u,输出结果“sunday”path5.输入数据s后,输入数据非a非u,输出结果“data erroi”path6.输入数据f,输出结果“friday”path7.输入数据m,输出结果“monday”path8.输入数据t,输出结果“输入第二个字母”path9.输入数据t后,输入数据u,输出结果“tuesday”path10.输入数据t后,输入数据h,输出结果“thursday”path11.输入数据t后,输入数据非u非h,输出结果“data crror”pathl2.输入数据w,输出结果“Wednesday"’path13.输入数据defalt,输出结果“data error”