/**
*一个能进行选择性购买商品的流程的程序
*author:卢璞
*date:2014.4.3
*/
public class Home{
public static void main(String [] args){
System.out.println(" 欢迎使用我行我素购物管理系统 \n");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.println(" 1、登 录 系统 \n");
System.out.println(" 2、更 改 管 理 员 密 码 \n");
System.out.println(" 3、退 出 \n");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.print("请输入您的选择:");
java.util.Scanner input=new java.util.Scanner(System.in);
int num1=input.nextInt();
if (num1 != 1 && num1 != 3){
// 如果用户输入不是1且也不是3的话,进入此循环程序
do
{System.out.print("该功能正在升级中,暂不可用,请重新输入:");
// 用户重新输入选择,直到输入为1或者3可跳出此循环程序
num1=input.nextInt();
}while (num1 != 1 && num1 != 3);
}
else if (num1 == 3){
// 用户输入为3,则系统退出
System.out.println("系统即将退出....");
System.exit(1);
// 用户输入为1,则继续进行如下流程
}else if (num1 == 1){
System.out.println(" 欢迎使用我行我素购物管理系统 \n");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
System.out.println(" 1.客 户 信 息 管 理 \n");
System.out.println(" 2.购 物 结 算 \n");
System.out.println(" 3.真 情 回 馈 \n");
System.out.println(" 4.返 回 上 一 级 \n");
System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
int num2=input.nextInt();
// 若用户输入不为2,则进入如下循环程序
while (num2 != 2)
{
System.out.print("该功能正在升级中,暂不可用,请重新输入:");
// 用户在此输入选择,直到选择为2可跳出此循环程序
num2 =input.nextInt();
if (num2 == 2)
{break;
}
}
// 用户输入为2,则继续进行如下流程
if (num2 == 2){
System.out.println("商城现有商品如下:\n");
System.out.println("商品编号\t\t商品名称\t\t商品价格\t\t\n");
System.out.println("1\t\t\t云南白药\t\t¥18.00\n");
System.out.println("2\t\t\t小米手机\t\t¥1998.00\n");
System.out.println("3\t\t\t小黑\t\t¥4998.00\n");
System.out.println("4\t\t\t拖鞋\t\t¥25.00\n");
System.out.println("5\t\t\t酱油\t\t¥5.60\n");
System.out.println("6\t\t\t汽车模型\t\t¥350.00\n");
System.out.println("7\t\t\t坦克模型\t\t¥400.00\n");
System.out.println("8\t\t\t玩具枪\t\t¥99.80\n");
System.out.println("请输入您要购买的商品编号:");
int num3=input.nextInt();
// 若用户输入不为1,且不为2、3、4、5、6、7、8,则进入如下循环程序
while (num3 != 1 &&num3 != 2 &&num3 != 3 &&num3 != 4 &&num3 !=5 &&num3 != 6 &&num3 != 7 &&num3 != 8)
{
System.out.print("对不起,没有您要购买的商品,请重新输入:");
// 用户再次输入选择,直到为1或2、3、4、5、6、7、8可跳出此循环
num3 = input.nextInt();
if (num3 ==1 && num3 ==2 && num3 ==3 && num3 ==4 && num3 ==5 && num3 ==6 && num3 ==7 && num3 ==8)
{break;
}
}
System.out.println("请输入您要购买的产品数量:");
// 定义一个整型变量,接收用户从键盘输入的数据,即为用户要购买的产品数量
int num4=input.nextInt();
// 定义一个字符串变量,并先给其一初始值,即为用户购买商品名称
String name=null;
// 定义一个浮点型变量,并先给其一初始值,即为购买商品单价
double price = 0.00;
// 根据用户输入要购买的商品序号,对String和price进行匹配
switch (num3)
{
case 1:
name = "云南白药";
price = 18.00;
break;
case 2:
name = "小米手机";
price = 1998.00;
break;
case 3:
name = "小黑";
price = 4998.00;
break;
case 4:
name = "拖鞋";
price = 25.0;
break;
case 5:
name = "酱油";
price = 5.60;
break;
case 6:
name = "汽车模型";
price = 350.00;
break;
case 7:
name = "坦克模型";
price = 400.00;
break;
case 8:
name = "玩具枪";
price = 99.80;
break;
default :
System.out.println("没有您要购买的商品,请重新输入...");
System.exit(1);
break;
}
// 定义一个浮点型变量,作为用户本应付款数
double sum = num4 * price;
// 定义一个浮点型变量,根据打折程度,作为用户实际需要付款数
double pay = sum * 0.85;
System.out.println("尊敬的用户:小猫\n");
System.out.println("产品名称\t产品单价\t购买数量\t产品总价\n");
System.out.println(name+"\t¥"+price+"\t"+num4+"\t\t¥"+sum);
System.out.println("您购买的商品总价为:"+sum);
System.out.println("按您当前积分,您的折扣为:0.85");
System.out.println("您的应付款为:"+pay);
System.out.print("请付款:");
// 定义变量z,接收用户从键盘输入的实际付款
double z=input.nextDouble();
// 当用户实际付款不足,进行提示并进行如下循环程序
while (z < pay){
System.out.print("对不起,您的付款不足,请重新付款:");
//用户再次输入付款数,当满足条件时可跳出此循环
z=input.nextDouble();
if ( z > pay)
{break;
}
}if (z >= pay){
double x =z - pay;
System.out.print("付款成功!");
System.out.print("找零:¥" + x);
System.out.print("欢迎下次光临!");
}
}
}
}
}