吃货联盟订餐系统

功能介绍:

分5大功能区:1、订餐功能:可选择餐品(规定的餐品)、所需的份数、派送时间(规定的时间)与地址,然后订单详情展示,如果小于三份,则需要2块钱运费。

        2、订单的查看:显示出订单的详情(姓名、餐品、份数、配送时间、地址、金额、配送情况)。

        3、订单签收功能:选择需要签收的订单序号,如果没有该订单则重新输入。

        4、订单删除功能:选择需要删除的订单序号,如果没有该订单则重新输入。删除完之后将下面每一条订单信息赋值给上一条。

        5、菜品点赞:选择需要点赞的菜品序号,如果没有该订单则重新输入。

程序代码:

 

package com.bd22;

import java.util.Scanner;

public class ReservationSystem {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int[] num = new int[100];
        int[] copies = new int[100];
        double[] pay= new double[100];
        int[] time = new int[100];
        int number = 0;
        double[] money = new double[100];
        int i = 0;
        String[] name = new String[100];
        String[] address = new String[100];
        String[] finish = new String[100];
        boolean flag = false;
        System.out.println("欢迎使用“吃货联盟订餐系统”");

        while(true) {
            //            进入订餐的界面
            System.out.println("*******************");
            System.out.println("1、我要订餐");
            System.out.println("2、查看订单");
            System.out.println("3、签收订单");
            System.out.println("4、删除订单");
            System.out.println("5、我要点赞");
            System.out.println("6、退出系统");
            System.out.println("*******************");
            System.out.println("请选择");
            int choose = s.nextInt();

            //            如果选择6,那么久退出系统
            if(choose == 6) {
                System.out.println("感谢支持吃货联盟订餐系统!");
                break;
            }

            switch(choose) {

            //            选择1,开始订餐
            case 1 :
                for(;i<num.length;i++) {

                    System.out.println("***我要订餐***");
                    System.out.println("请输入订餐人的姓名:");
                    name[i] = s.next();
                    //                输出菜品与价格
                    System.out.print("序号"+"\t"+"菜品"+"\t"+"价格"+"\n");
                    System.out.println("1"+"\t"+"蛋炒饭"+"\t"+"11.0元");
                    System.out.println("2"+"\t"+"炒面条"+"\t"+"10.0元");
                    //                输入详细的轻餐信息
                    //                    如果没有此选择的菜品序号则需要重新输入
                    while(true) {
                        System.out.println("请输入您所选的菜品序号:");
                        num[i] = s.nextInt();
                        if(num[i]==1 || num[i]==2) {break;}
                        System.out.println("没有此菜品序号");;
                    }
                    System.out.println("请输入您所需要的份数:");
                    copies[i] = s.nextInt();
                    System.out.println("请输入配送时间(8点到20点之间的整数)");
                    time[i] = s.nextInt();
                    //                时间只能在8-20里面选择,否则需要重新输入
                    if(time[i]<8 || time[i]>20) {
                        System.out.println("请输入8到20之间的整数:");
                        time[i] = s.nextInt();
                    }
                    System.out.println("请输入配送地址:");
                    address[i] = s.next();
                    System.out.println("订餐成功!");
                    finish[i]="预定中";
                    //                下单成功之后,显示订单详情与费用
                    if(num[i] == 1) {
                        pay[i] = 11 * copies[i];
                        System.out.println("您订的是:蛋炒饭"+copies[i]+"份");
                        System.out.println("派送时间:"+time[i]+"点");
                        if(copies[i]<3) {
                            money[i] = pay[i] + 2;
                            System.out.println("餐费:"+pay[i]+"元   "+"运费:"+2+"元(小于3份运费2元)"+"总计:"+money[i]+"元");
                        }else {
                            System.out.println("餐费:"+pay[i]+"元  "+"运费:"+0+" "+"总计:"+money[i]+"元");
                        }
                    }else if(num[i] == 2) {
                        pay[i] = 10 * copies[i];
                        System.out.println("您订的是:炒面条"+copies[i]+"份");
                        System.out.println("派送时间:"+time[i]+"点");
                        if(copies[i]<3) {
                            money[i] = pay[i] + 2;
                            System.out.println("餐费:"+pay[i]+"元   "+"运费:"+2+"元(小于3份运费2元)"+"总计:"+money[i]+"元");
                        }else {
                            System.out.println("餐费:"+pay[i]+"元  "+"运费:"+0+" "+"总计:"+money[i]+"元");
                        }
                    }

                    //                输入0时返回主页面

                    System.out.println("输入0返回,输入其他数字继续订餐");
                    int back1 = s.nextInt();
                    if(back1==0) {
                        flag = true;
                        break;
                    }else {continue;}

                }
                if(flag==true) {
                    break;
                }

                //                查看订单的界面
            case 2 :
                System.out.println("***查看订单***");
                if(i==0) {
                    System.out.println("没有订单");
                    break;
                }
                System.out.println("序号"+"\t"+"订餐人"+"\t"+"餐品信息"+"\t"+"送餐时间"+"\t"+"送餐地址"+"\t"+"总金额"+"\t"+"订单状态"+"\t");
                //序号    订餐人    餐品信息        送餐日期    送餐地址        总金额    订单状态
                for(int j = 0; j <= i; j++) {
                    System.out.println((j+1)+"\t"+name[j]+"\t"+(num[j]==1?"蛋炒饭":"炒面条")+"\t"+time[j]+"\t"+address[j]+"\t"+money[j]+"\t"+finish[j]+"\t");
                }
                while(true) {
                    System.out.println("输入0返回");
                    int back1 = s.nextInt();
                    if(back1==0) {

                        break;
                    }else {continue;}
                }
                break;

                //                签收订单的界面
            case 3 :
                System.out.println("***订单签收***");
                if(i==0) {
                    System.out.println("没有订单");
                    break;
                }
                System.out.println("请输入您要签收的订单号:");
                //                如果没有此选择的订单序号则需要重新输入
                while(true) {
                    number = s.nextInt();
                    if(number<=i+1 && number>0) {
                        System.out.println("签收成功!");
                        break;
                    }
                    System.out.println("没有此订单序号,请重新输入:");
                }
                finish[number-1]="已完成";
                while(true) {
                    System.out.println("输入0返回");
                    int back1 = s.nextInt();
                    if(back1==0) {
                        break;
                    }else {continue;}
                }
                break;

                //                删除订单的界面
            case 4 :
                System.out.println("***删除订单***");
                if(i==0) {
                    System.out.println("没有订单");
                    break;
                }
                System.out.println("请输入您要删除的订单的序号:");
                int del = 0;
                //                如果没有此选择的订单序号则需要重新输入
                while(true) {
                    del = s.nextInt();
                    if(del<=i+1 && del>0) {
                        break;
                    }
                    System.out.println("没有此订单序号,请重新输入:");
                }
                //                如果删除最后一个订单,那么直接将其定义为null
                int tump = i;
                if(del==i+1) {
                    name[i]="";
                    address[i]="";
                    time[i]=0;
                    money[i]=0;
                    finish[i]="";
                    i--;
                }else{
                    //                    如果删除的不是最后一条,那么要把后面的数据全部复制给前一个数据

                    for(int k = del; k <= i; k++) {
                        name[k-1]=name[k];
                        address[k-1]=address[k];
                        time[k-1]=time[k];
                        money[k-1]=money[k];
                        finish[k-1]=finish[k];
                    }
                    i--;
                }
                System.out.println("删除成功!");
                while(true) {
                    System.out.println("输入0返回");
                    int back1 = s.nextInt();
                    if(back1==0) {
                        break;
                    }else {continue;}
                }
                break;

                //                点赞菜品
            case 5 :
                System.out.println("***点赞菜品***");
                while(true) {
                    System.out.print("序号"+"\t"+"菜品"+"\n");
                    System.out.println("1"+"\t"+"蛋炒饭");
                    System.out.println("2"+"\t"+"炒面条");
                    System.out.println("请输入您要点赞的菜品的序号:");
                    int zan = s.nextInt();
                    //                    如果没有此选择的菜品序号则需要重新输入
                    if(zan == 1 || zan ==2) {
                        break;
                    }else {
                        System.out.println("没有您选择的菜品序号,请重新输入:");
                        continue;
                    }
                }
                System.out.println("点赞成功!感谢您的认可!");
                while(true) {
                    System.out.println("输入0返回");
                    int back1 = s.nextInt();
                    if(back1==0) {

                        break;
                    }else {continue;}
                }
                break;

                //                如果输入的数不是1-6,那么将进行下一次循环
            default :
                System.out.println("请输入1-6之间的整数:");
                continue;
            }
        }

    }
}

 

 

  1、订餐功能:

 

      

 

  2、订单的查看:

3、订单签收功能:

 

      

4、订单删除功能:

 

      

  5、菜品点赞:

 

posted @ 2019-01-07 11:08  杨文祥  阅读(1454)  评论(0)    收藏  举报