經營一家珍珠奶茶店成本的開銷、賺多少錢、員工薪水、利潤比例,因次數據分析是相當重要的,因此我們需要node.js程式來幫我們分析
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
// 用於存儲訂單的陣列
const orders = [];
// 函數:添加訂單
function addOrder() {
rl.question('請輸入訂單詳情(例如:顧客姓名,飲料名稱,價格):', (input) => {
const [customerName, drinkName, price] = input.split(',');
const order = {
customerName,
drinkName,
price: parseFloat(price),
};
orders.push(order);
console.log('訂單已添加!');
showMainMenu();
});
}
// 函數:顯示訂單列表
function showOrders() {
console.log('訂單列表:');
for (const order of orders) {
console.log(`${order.customerName} 購買了 ${order.drinkName},價格:${order.price}元`);
}
showMainMenu();
}
// 函數:計算總銷售額
function calculateTotalSales() {
const totalSales = orders.reduce((total, order) => total + order.price, 0);
console.log(`總銷售額:${totalSales}元`);
showMainMenu();
}
// 函數:顯示主菜單
function showMainMenu() {
console.log('\n主菜單:');
console.log('1. 添加訂單');
console.log('2. 顯示訂單列表');
console.log('3. 計算總銷售額');
console.log('4. 退出');
rl.question('請選擇操作(輸入對應的數字):', (choice) => {
switch (choice) {
case '1':
addOrder();
break;
case '2':
showOrders();
break;
case '3':
calculateTotalSales();
break;
case '4':
rl.close();
break;
default:
console.log('無效的選項!');
showMainMenu();
}
});
}
// 啟動程序
console.log('歡迎來到珍珠奶茶店訂單管理系統!');
showMainMenu();
// 監聽當用戶關閉程序時,關閉 readline 介面
rl.on('close', () => {
console.log('程序已退出。');
process.exit(0);
});
這個Node.js程式是一個簡單的控制台應用,用於管理一家珍珠奶茶店的訂單。我們將它分為幾個主要部分,然後進行解釋:
引入必要的模塊:
const readline = require('readline');
我們使用Node.js的readline
模塊來處理控制台輸入和輸出。
初始化readline
接口:
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
我們創建一個readline
接口,它允許我們從用戶那裡接收輸入並向控制台輸出信息。
訂單數據的存儲:
const orders = [];
我們使用一個JavaScript陣列orders
來存儲訂單信息。
定義操作函數:
addOrder()
:用戶可以添加新的訂單,我們讓用戶輸入顧客姓名、飲料名稱和價格,然後將該訂單添加到orders
陣列中。
showOrders()
:顯示所有現有的訂單列表。
calculateTotalSales()
:計算所有訂單的總銷售額。
showMainMenu()
:顯示主菜單,用戶可以選擇不同的操作。
顯示主菜單和處理用戶輸入:
我們使用showMainMenu()
函數來顯示主菜單,該菜單提供以下選項:
程式使用rl.question()
函數來等待用戶輸入,然後根據選擇調用相應的操作函數。
啟動程序:
我們在程序開始時歡迎用戶,然後調用showMainMenu()
函數以顯示主菜單。
監聽程序關閉事件:
最後,我們使用rl.on('close', ...)
來監聽當用戶關閉程序時的事件,並在關閉時顯示一條結束信息並退出程序。