51Testing软件测试论坛

标题: Day3-3测试积点任务 [打印本页]

作者: 测试积点老人    时间: 2018-8-21 10:30
标题: Day3-3测试积点任务
问题:
付款找零问题

假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。

一.程序设计采用结构化和面向对象的程序设计思想

package test;
import java.util.Scanner;

public class Test {

        public static void main(String[] args) {
                int R, P, N;
                Scanner input = new Scanner(System.in);
                System.out.println("Please input Price & Pay:");
                String a = input.next();
                String b = input.next();
                // 判断输入是否数字
                if (a.matches("\\d+") && b.matches("\\d+")) {
                        R = Integer.parseInt(a);
                        P = Integer.parseInt(b);
                        //判断是否在输入范围
                        if(R>0&&R<=100&&P>0&&P<=100){
                                int Num50,Num10,Num5,Num1;
                                N=P-R;
                                if(N>=0){
                                        Num50=N/50;
                                        N=N-50*Num50;
                                        Num10=N/10;
                                        N=N-10*Num10;
                                        Num5=N/5;
                                        N=N-5*Num5;
                                        Num1=N;
                                        if(Num50==0 && Num10==0 && Num5==0 && Num1==0){
                                                System.out.println("No Change");
                                        }else{
                                                System.out.println("Change¥50:sheets "+Num50);
                                                System.out.println("Change¥10:sheets "+Num10);
                                                System.out.println("Change¥05:sheets "+Num5);
                                                System.out.println("Change¥01:sheets "+Num1);
                                                }
                                }else{
                                        System.out.println("Pay isn't enough!");
                                }
                        }else{
                                System.out.println("Beyond 1-100");
                        }
                } else {
                        System.out.println("Confirm integer!");
                }
        }

}
1.驱动模块与桩模块的开发
(1)读入一批测试用例,对每个测试用例能够读入基本信息并显示出来
(2)利用测试用例来驱动(调用)被测试函数
(3)显示测试用例的实际输出并能与预期输出进行比较,给出判定结果

/*****************************************************************************************//
求大神给写个    驱动程序开发代码。Thank



作者: 梦想家    时间: 2018-8-22 10:29
#include<stdio.h>
int main(int argc, char* argv[])
{
        int R=0,P=0;
        printf("please input the price and cost!");
        scanf("%d %d",&P,&R);//P-R
        int x1=1,x2=0,x3=0,x4=0;
        int i;
        while((x1*50)<(P-R))
        {x1++;}
        x1-=1;
        while((x2*10)<=(P-R-(x1*50)))
        {x2++;}
        x2-=1;
        while((x3*5)<=(P-R-(x1*50)-(x2*10)))
        {x3++;}
        x3-=1;
        while((x4*1)<(P-R-(x1*50)-(x2*10)-(x3*5)))
        {x4++;}
        i=x1+x2+x3+x4;
        printf("%d %d %d %d %d\n",i,x1,x2,x3,x4);
        return 0;
}
作者: jingzizx    时间: 2018-8-22 12:24
说下思路就是把你的测试过程代码化,其实内部也有用力了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2