南昌航空大学实验报告 2021 年 10 月 20 日 课程名称: 软件质量保证与测试 实验名称: 测试程序的设计 班级: ****** 姓名: *** 同组人: 指导教师评定: 签名: 一、实验目的 完成测试用程序的编写,为接下来的测试实验做准备。 二、实验要求 〔1〕设计程序的语言可以选择C、C++、JAVA等; 〔2〕保证程序语法正确 〔3〕记录实验数据并书写实验报告 题目要求: 题目一:三角形问题 问题描述:输入三角形三条边a、b、c,三条边有效取值范围为[1,200],判断该三角形是什么三角形,输出内容具体包括:〔1〕等边三角形;〔2〕等腰三角形;〔3〕直角三角形;〔4〕等腰直角三角形;〔5〕一般三角形;〔6〕非三角形;〔7〕输入数据非法。 题目二:NextDate问题 问题描述:输入年月日year、month、day,其中年份的有效取值范围为[1900,2100],请输出输入日期的下一天,例如输入2021年9月29日,输出为2021年9月30日。假设输入日期非法,例如输入2021年2月30日,那么输出“输入日期不存在〞,假设输入日期超出取值范围,例如输入2021年9月32日,那么输出“输入日期超出范围〞。 问题三:佣金问题 问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机〔lock〕、枪托〔stock〕和枪管〔barrel〕。枪机卖45美元,枪托卖30美元,枪管卖25美元。销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。 根据当月的销售情况,并计算销售商的佣金如下: 〔1〕不到〔含〕1000美元的局部为10%; 〔2〕1000〔不含〕~1800〔含〕美元的局部为15%; 〔3〕超过1800美元的局部为20%。 佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。 三、实验步骤 1.运行TC, Visual C++, JAVA等开发工具; 2.在开发环境中完成程序设计,并进行调试; 3.在程序没有语法错误的前提下重点检查程序的逻辑错误; 4.对程序进行调试,并记录实验数据。 四、实验内容 三角形问题: 概要设计: 在输入不同数值可以得到相应的输出结果 〔1〕当输入三条边的数值大小有一不在范围内,提示“输入范围不合理〞 〔2)当输入三值不满足构成三角形条件时,输出“非三角形〞 (3)当输入三值只是满足构成三角形条件,没有其他特殊问题,输出“一般三角形〞 (4))当输入三条边只有两个值相等,输出“等腰三角形〞 (5) 当输入三条边都相等时,输出“等边三角形〞 (6) 当输入三条边只是满足勾股定理时,输出“直角三角形〞 (7)当输入三条边不仅满足勾股定理,而且其中有两条边相等,输出“等腰直角三角形〞 源代码: #include main() { int a,b,c; system( "graftabl 936 "); clrscr(); printf("请输入三个边长:\n"); scanf("%d,%d,%d",&a,&b,&c); if((a>=1&&a<=200)&&(b>=1&&b<=200)&&(c>=1&&c<=200)) { if(a+b>c && a+c>b && b+c>a) if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b) { printf("可以构成一个直角三角形\n"); if(a==b||b==c||a==c) printf("可以构成一个等腰直角三角形\n"); } else if(a==b && a==c) printf("可以构成一个等边三角形\n"); else if(a==b||b==c||a==c) printf("可以构成一个等腰三角形\n"); else printf("可以构成一个等腰三角形\n"); else printf("不能构成三角形\n"); } else printf("输入范围不合理\n"); getch(); } 运行结果: Nextday函数: 概要设计:分析不同情况下的输入,可以得到不同输出 〔1〕当输入数值只要有一个不符合范围,提示“不合理范围〞 〔2〕当输入非月头月尾数值时,输出日期将天数加1 〔3〕当输入非2月月尾时,输出日期将月份加1 〔4〕当输入的为年尾时,输出日期将年份加1 〔5〕当输入闰年28日时,输出日期将天数加1 〔6〕当输入闰年29日时,输出日期将月份加1 〔7〕当输入非闰年27日时,输出日期将天数加1 〔8〕当输入非闰年28日时,输出日期将月份加1 〔9〕当输入非闰年29日时,提示“输入错误〞 源代码: #include main() { int year,month,day; int a[]={31,29,31,30,31,30,31,31,30,31,30,31}; int b[]={31,28,31,30,31,30,31,31,30,31,30,31}; system( "graftabl 936 "); clrscr(); printf("请输入日期:\n"); scanf("%d,%d,%d",&year,&month,&day); if(year<=2100&&year>=1900){ if (year%4==0&&year%100!=0||year%400==0) { if(month<12) { if(a[month-1]>day) printf("后一天:%d年%d月%d日",year,month,day+1); else printf("后一天:%d年%d月1日",year,month+1); } else if(month==12) { if(a[month-1]>day) printf("后一天:%d年%d月%d日",year,month,day+1); else printf("后一天:%d年1月1日",year+1); } } else { if(month<12) { if(b[month-1]>day) printf("后一天:%d年%d月%d日",year,month,day+1); else 本文来源:https://www.wddqw.com/doc/62124e95d3d233d4b14e852458fb770bf78a3bf2.html