吃貨聯盟訂餐系統

来源:https://www.cnblogs.com/Kimariiii/archive/2022/08/31/16644234.html
-Advertisement-
Play Games

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wi ...


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        /*1.數據主體:包含6個訂餐相關的數組
            訂餐人   names
            送餐時間 dishmags
            送餐時間 times
            送餐地址 addresses
            訂單狀態 states
            總訂單 sumPrices

        包含3個菜品相關的數組
            餐品名 dishNames
            單價 prices
            點贊數 praiseNums
        */

        //訂單信息
        var names = ["小明", "小紅"];
        var disMegs = ["香辣雞腿堡", "可樂"];
        var times = [13, 14];
        var addresses = ["江蘇南京", "江蘇南京"];
        var states = [1, 0];  //是否預定
        var sumPrices = [99 * 2, 52];

        //餐品信息
        var dishNames = ["香辣雞腿堡", "薯條", "可樂", "全家桶"];
        var prices = [18, 11, 8, 99];
        var praiseNums = [78, 10, 8, 20];


        //2.搭建框架結構
        do {
            //使用ES6裡面的模板字元串
            //變數選擇數字
            var choice;
            // +prompt()接收錄入的數據  +直接轉換成整數 
            choice = +prompt(`

            *************************

            1.我要訂餐
            2.查看餐袋
            3.簽收訂單
            4.刪除訂單
            5.我要點贊
            6.退出系統
            7.新品上架
         

            *************************

            請選擇:

            `);

            //根據選項進行操作
            switch (choice) {
                case 1:
                    console.log("====我要訂餐====");
                    var yourName = prompt("請輸入訂餐人姓名")
                    //展示菜品信息
                    console.log(`序號   菜名   單價    點贊數`);
                    for (let i = 0; i < dishNames.length; i++) {
                        //模板字元串解析變數 ${表達式}
                        console.log(`${i + 1}   ${dishNames[i]}   ${prices[i]}    ${praiseNums[i]}`);
                    }

                    //選擇菜品編號
                    let youeDishNo = +prompt("請您選擇要點的菜品編號");
                    while (youeDishNo > dishNames.length || youeDishNo < 1) {
                        youeDishNo = +prompt("對不起,您點的菜真沒有,請重新錄入");
                    }

                    // 選擇份數
                    let yourChoiceCount = +prompt("請選擇您需要的份數");

                    //拼接菜品信息
                    let yourDishMegs = dishNames[youeDishNo - 1] + " " + yourChoiceCount + "份"

                    //選擇時間
                    let yourTime = + prompt("請輸入送餐時間(送餐時間10店到20點之間)");
                    while (yourTime > 20 || yourTime < 10) {
                        yourTime = +prompt("對不起您錄入的時間不在騎手的工作範圍之內,請重新輸入送餐時間");
                    }

                    //選擇地址
                    let yourAddress = prompt("請輸入送餐地址");

                    //後臺做計算價格 : (餐費大於50元免除配送費,否則配送費6元)
                    //後臺將訂餐信息添加到數組中
                    //計算消費
                    let yourCash = prices[youeDishNo - 1] * yourChoiceCount > 50 ? 0 : 6; //三目運算符

                    //計算總價格
                    let yourTotalPrice = prices[youeDishNo - 1] * yourChoiceCount + yourCash;

                    //將訂餐信息添加到數組
                    names.push(yourName);
                    disMegs.push(yourDishMegs);
                    times.push(yourTotalPrice);

                    //列印成功信息
                    console.log("訂餐成功");
                    console.log(`
                    ---------------------------------------------------------------
                    您訂的是:${yourDishMegs}
                    送餐時間:${yourTime}點
                    餐費:${prices[youeDishNo - 1] * yourChoiceCount}元,送餐費:${yourCash}元,總計:${yourTotalPrice}元。

                    `);
                    continue;

                case 2:
                    console.log("****查看餐袋****");
                    console.log(`序號   訂餐人  餐品信息   送餐日期   送餐地址   總金額   訂單狀態`);
                    //let 塊級作用域 定義的變數作用範圍是離他最近的一個花括弧的範圍
                    for (let i = 0; i < names.length; i++) {
                        console.log(`${i + 1}\t${names[i]}\t${disMegs[i]}\t ${times[i]}點 \t ${addresses[i]} \t${sumPrices[i]}元\t${states[i] == 0 ? '已預定' : '已簽收'}`);

                    }
                    continue;

                case 3:
                    console.log("****簽收訂單****");
                    let yourSignNo = +prompt("請選擇要簽收的訂單序號");
                    //判斷訂單數組裡面有沒有數據
                    if (names.length === 0) {
                        console.log("沒有訂單,輸入錯誤");
                    } else {
                        while (yourSignNo > names.length || yourSignNo < 1) {
                            console.log("您選的訂單不存在,請重新選擇訂單序號");
                        }
                        //判斷訂單是否已簽收,已簽收不能再次簽收給出提示
                        if (states[yourSignNo - 1] === 1) {
                            console.log("您選擇的訂單已完成簽收,不能再次簽收!!!");
                        } else {
                            //可以被簽收,修改狀態
                            states[yourSignNo - 1] = 1
                            console.log("簽收完成,感謝您的配合");
                        }
                    }

                    continue;

                case 4:
                    console.log("****刪除訂單****");
                    let yourDelNo = +prompt("請選擇要刪除的訂單");
                    //判斷訂單數組裡面有沒有數據
                    if (yourDelNo === 0) {
                        console.log("沒有訂單,輸入錯誤");
                    } else {
                        while (yourDelNo > names.length || yourDelNo < 1) {
                            console.log("您選擇的訂單不存在,請重新輸入訂單號");
                            yourDelNo = +prompt("請選擇要刪除的訂單");
                        }
                        //判斷訂單是否已經刪除,已刪除
                        if (yourDelNo === 0) {
                            console.log("訂單未簽收,不能刪除");
                        } else {
                            //將選擇的訂單從數組中刪除 arry.splice(yourDelNo-1,1)
                            //刪除6個數組
                            let delNo = yourDelNo - 1;
                            names.splice(delNo, 1);
                            states.splice(delNo, 1);
                            disMegs.splice(delNo, 1);
                            sumPrices.splice(delNo, 1);
                            addresses.splice(delNo, 1);
                            times.splice(delNo, 1);
                            console.log("刪除成功,歡迎惠顧");
                        }
                    }
                    continue;

                case 5:
                    console.log("****我要點贊****");
                    console.log("****我要點贊****");
                    console.log(`餐品信息 `);
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(
                            `${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]
                            }\t`
                        );
                    }
                    let yourProductLikes =
                        +prompt("請輸入需要點贊的訂單序號:");
                    //判斷訂單數組裡面有沒有數據
                    if (names.length === 0) {
                        console.log("沒有訂單,輸入錯誤!");
                    } else {
                        while (
                            yourProductLikes > dishNames.length ||
                            yourProductLikes < 1
                        ) {
                            console.log("您所選的訂單不存在,詰重新訂單序號:");
                            yourProductLikes =
                                +prompt("請選擇要簽收的訂單序號:");
                        }

                        praiseNums.splice(
                            yourProductLikes - 1,
                            1,
                            ++praiseNums[yourProductLikes - 1]
                        );
                        console.log("點贊成功");
                        for (let i = 0; i < dishNames.length; i++) {
                            console.log(
                                `${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]
                                }\t`
                            );
                        }
                    }

                    continue;

                case 6:
                    console.log("****退出系統****");

                    break;

                case 7:
                    console.log("***新品上架****");
                    console.log(`餐品信息`);
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(`${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]}`);
                    }

                    var yourNewChoices = prompt("請輸入需要的訂單名稱:");
                    var yourNewPrices = +prompt("請輸入需要的訂單價格:");
                    var yourdianzan = 0;

                    dishNames.push(yourNewChoices);
                    prices.push(yourNewPrices);
                    praiseNums.push(yourdianzan);

                    console.log("添加成功");
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(`${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]}`);
                    }
                    continue;

            }
            //跳出系統
            break;

        } while (true)
        console.log("程式結束");






    </script>

</body>

</html>

 

<!DOCTYPE html> <html lang="en">
<head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head>
<body>
    <script>         /*1.數據主體:包含6個訂餐相關的數組             訂餐人   names             送餐時間 dishmags             送餐時間 times             送餐地址 addresses             訂單狀態 states             總訂單 sumPrices
        包含3個菜品相關的數組             餐品名 dishNames             單價 prices             點贊數 praiseNums         */
        //訂單信息         var names = ["小組長", "王軍威"];         var disMegs = ["大肉丸子2個", "雞1只"];         var times = [13, 14];         var addresses = ["江蘇警官學院", "江蘇警官學院"];         var states = [1, 0];  //是否預定         var sumPrices = [99 * 2, 52];
        //餐品信息         var dishNames = ["大肉丸子", "雞", "鴨屁股", "烤乳豬"];         var prices = [99, 52, 9.9, 13];         var praiseNums = [78, 10, 8, 20];

        //2.搭建框架結構         do {             //使用ES6裡面的模板字元串             //變數選擇數字             var choice;             // +prompt()接收錄入的數據  +直接轉換成整數             choice = +prompt(`
            *************************
            1.我要訂餐             2.查看餐袋             3.簽收訂單             4.刪除訂單             5.我要點贊             6.退出系統             7.新品上架            
            *************************
            請選擇:
            `);
            //根據選項進行操作             switch (choice) {                 case 1:                     console.log("====我要訂餐====");                     var yourName = prompt("請輸入訂餐人姓名")                     //展示菜品信息                     console.log(`序號   菜名   單價    點贊數`);                     for (let i = 0; i < dishNames.length; i++) {                         //模板字元串解析變數 ${表達式}                         console.log(`${i + 1}   ${dishNames[i]}   ${prices[i]}    ${praiseNums[i]}`);                     }
                    //選擇菜品編號                     let youeDishNo = +prompt("請您選擇要點的菜品編號");                     while (youeDishNo > dishNames.length || youeDishNo < 1) {                         youeDishNo = +prompt("對不起,您點的菜真沒有,請重新錄入");                     }
                    // 選擇份數                     let yourChoiceCount = +prompt("請選擇您需要的份數");
                    //拼接菜品信息                     let yourDishMegs = dishNames[youeDishNo - 1] + " " + yourChoiceCount + "份"
                    //選擇時間                     let yourTime = + prompt("請輸入送餐時間(送餐時間10店到20點之間)");                     while (yourTime > 20 || yourTime < 10) {                         yourTime = +prompt("對不起您錄入的時間不在騎手的工作範圍之內,請重新輸入送餐時間");                     }
                    //選擇地址                     let yourAddress = prompt("請輸入送餐地址");
                    //後臺做計算價格 : (餐費大於50元免除配送費,否則配送費6元)                     //後臺將訂餐信息添加到數組中                     //計算消費                     let yourCash = prices[youeDishNo - 1] * yourChoiceCount > 50 ? 0 : 6; //三目運算符
                    //計算總價格                     let yourTotalPrice = prices[youeDishNo - 1] * yourChoiceCount + yourCash;
                    //將訂餐信息添加到數組                     names.push(yourName);                     disMegs.push(yourDishMegs);                     times.push(yourTotalPrice);
                    //列印成功信息                     console.log("訂餐成功");                     console.log(`                     ---------------------------------------------------------------                     您訂的是:${yourDishMegs}                     送餐時間:${yourTime}                     餐費:${prices[youeDishNo - 1] * yourChoiceCount}元,送餐費:${yourCash}元,總計:${yourTotalPrice}元。
                    `);                     continue;
                case 2:                     console.log("****查看餐袋****");                     console.log(`序號   訂餐人  餐品信息   送餐日期   送餐地址   總金額   訂單狀態`);                     //let 塊級作用域 定義的變數作用範圍是離他最近的一個花括弧的範圍                     for (let i = 0; i < names.length; i++) {                         console.log(`${i + 1}\t${names[i]}\t${disMegs[i]}\t${times[i]}\t${addresses[i]}\t${sumPrices[i]}\t${states[i] == 0 ? '已預定' : '已簽收'}`);
                    }                     continue;
                case 3:                     console.log("****簽收訂單****");                     let yourSignNo = +prompt("請選擇要簽收的訂單序號");                     //判斷訂單數組裡面有沒有數據                     if (names.length === 0) {                         console.log("沒有訂單,輸入錯誤");                     } else {                         while (yourSignNo > names.length || yourSignNo < 1) {                             console.log("您選的訂單不存在,請重新選擇訂單序號");                         }                         //判斷訂單是否已簽收,已簽收不能再次簽收給出提示                         if (states[yourSignNo - 1] === 1) {                             console.log("您選擇的訂單已完成簽收,不能再次簽收!!!");                         } else {                             //可以被簽收,修改狀態                             states[yourSignNo - 1] = 1                             console.log("簽收完成,感謝您的配合");                         }                     }
                    continue;
                case 4:                     console.log("****刪除訂單****");                     let yourDelNo = +prompt("請選擇要刪除的訂單");                     //判斷訂單數組裡面有沒有數據                     if (yourDelNo === 0) {                         console.log("沒有訂單,輸入錯誤");                     } else {                         while (yourDelNo > names.length || yourDelNo < 1) {                             console.log("您選擇的訂單不存在,請重新輸入訂單號");                             yourDelNo = +prompt("請選擇要刪除的訂單");                         }                         //判斷訂單是否已經刪除,已刪除                         if (yourDelNo === 0) {                             console.log("訂單未簽收,不能刪除");                         } else {                             //將選擇的訂單從數組中刪除 arry.splice(yourDelNo-1,1)                             //刪除6個數組                             let delNo = yourDelNo - 1;                             names.splice(delNo, 1);                             states.splice(delNo, 1);                             disMegs.splice(delNo, 1);                             sumPrices.splice(delNo, 1);                             addresses.splice(delNo, 1);                             times.splice(delNo, 1);                             console.log("刪除成功,歡迎惠顧");                         }                     }                     continue;
                case 5:                     console.log("****我要點贊****");                     console.log("****我要點贊****");                     console.log(`餐品信息 `);                     for (let i = 0; i < dishNames.length; i++) {                         console.log(                             `${i + 1}\t${dishNames[i]}\t${prices[i]}\t${praiseNums[i]                             }\t`                         );                     }                     let yourProductLikes =                         +prompt("請輸入需要點贊的訂單序號:");                     //判斷訂單數組裡面有沒有數據                     if (names.length === 0) {                         console.log("沒有訂單,輸入錯誤!");                     } else {                         while (                             yourProductLikes > dishNames.length ||                             yourProductLikes < 1                         ) {                             console.log("您所選的訂單不存在,詰重新訂單序號:");                             yourProductLikes =                                 +prompt("請選擇要簽收的訂單序號:");                         }
                        praiseNums.splice(                             yourProductLikes - 1,                             1,                             ++praiseNums[yourProductLikes - 1]                         );                         console.log("點贊成功");                         for (let
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近在研究APP的啟動優化,也是發現了Jetpack中的App Startup庫,可以進行SDK的初始化操作,於是便是學習了,特此記錄 原文:Jetpack架構組件學習(4)——App Startup庫的使用 - Stars-One的雜貨小窩 兩種方式初始化SDK 首先,先是講解了關於SDK的初始化 ...
  • 經緯度是確定每個地點位置的精確坐標,使用坐標描述一個位置,非常準確但是並不直觀,面向用戶表達並不友好。HMS Core定位服務提供了逆地理編碼功能,可以通過緯度獲取附近地點的詳細地址,將坐標轉化為地理描述。例如,在電商App的地圖裡標定一個點,就可以顯示具體位置;打車、外賣App里拖動地圖或者點擊地 ...
  • 問號(?)的強大之處 點擊打開視頻講解更加詳細 一、問號點(?.) obj: { name: "末晨曦吖", }, console.log(this.obj.age, "年齡"); //undefined console.log(this.obj.hobby, "愛好"); //undefined ...
  • 前言 項目中遇到一個 bug,一個組件為了保留一份 JSON 對象,使用 JSON.stringify 將其轉換成字元串,這樣做當然是為了避免對象是引用類型造成數據源的污染。 但發現後面使用 JSON.parse 方法之後,發現數據有所變化。 代碼簡化: let obj = { name: 'Gop ...
  • 描述 JSON.stringify()的作用就是把 JavaScript 對象或數組或其他簡單值轉換為字元串。它還可以用於對象的深拷貝;對 JSON 字元串進行格式化(縮進);在轉換之前對值進行替換操作。 特殊類型的處理 JSON.stringify()遇到函數、日期等類型的值會進行特殊處理。為了讓 ...
  • ####這篇文章主要幫助大家簡單理解數組的一些常用API用法,許多小伙伴常用方法記不住?別急,看完下麵的介紹您一定就會明白各個方法是如何用的了😘。該文章適合新手小白看,大佬可以多多指點❤️! 1.數組的創建以及Array.of() 下麵介紹幾種創建數組的方法: // 創建數組的三種方式 // 1. ...
  • 引言 在實際中,當多專業設計協助時,遇到圖紙更新後,要對比圖紙找出圖紙的不同處,一直是一個比較耗時費力的事情,也是業內的一大痛點。一般CAD新舊圖紙的內容對比,包括增加新的圖形元素、減少原有的圖形元素以及對原有的圖形進行修改。傳統的方式一般是在PC端CAD環境中實現對圖紙比較的功能,然後隨著互聯網移 ...
  • 雙指針解“鏈表”題也太香了叭! 同步雙指針 1 查找鏈表中倒數第 k 個節點 劍指Offer22.鏈表中倒數第k個節點 思路: 假設鏈表的長度為n,不難得出倒數第k個節點即為整數第n + 1 - k。 如果一個指針從頭節點開始走k步(頭節點算作第1步),則還需n + 1 - k步才能走完鏈表(到達尾 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...