期末專題報告 11128137 蕭宇呈
===
內容說明
---
將 **人員雇用程式進行修改**
1. 原程式碼說明
製作人員招募選單,可以展示以下功能:
(1) Show list of positions to be hired // Show numbersin a rOW
(2) Show list of already hired positions (Sort by number)
(3) Show list of already hired positions (Sort by name)
(4) Hire a person / Input number and name to set a position
(5) Fire a person / Input number to fire a person
2. 修改程式之說明
製作一個類似的選單,讓用戶能夠查看可購買和不可購買的食物,以及訂購和取消食物訂單。
其包含以下選項:
(1) Show available foods
(2) Show unavailable foods
(3) Order food
(4) Cancel food order
後面將細節介紹。
程式架構說明
---
這個程式碼是一個簡單的食物訂購系統,它具有以下功能:
1. **struct Food** 結構
這個結構定義了食物的屬性,包括編號 (number)、可用性 (isAvailable)、名稱 (name)、價格 (price) 和庫存量 (stock)。每個食物都用一個 struct Food 的實例來表示。
2. **showAvailableFoods** 函式
該函式用於顯示可用的食物清單。它遍歷 foods 數組並檢查每個食物的可用性。如果一個食物是可用的,它就會顯示食物的編號、名稱和價格。
3. **showUnavailableFoods** 函式
該函式用於顯示不可用的食物清單。它遍歷 foods 數組並檢查每個食物的可用性。如果一個食物是不可用的,它就會顯示食物的編號、名稱和價格。
4. **orderFood** 函式
該函式用於訂購食物。它接受用戶輸入的食物編號和名稱。然後,它檢查食物的可用性和庫存量。如果食物可用且有庫存,它將更新食物的狀態,將其設為不可用,並減少庫存量。最後,它會顯示已訂購的食物的名稱和價格。
5. **cancelFoodOrder** 函式
該函式用於取消已訂購的食物。它接受用戶輸入的食物編號。然後,它檢查食物的可用性。如果食物是已訂購的,它將更新食物的狀態,將其設為可用,並增加庫存量。
6. **Main** 函式
該函式是程式的入口點。它初始化 foods 數組,設置每個食物的屬性。然後,它進入一個循環,允許用戶選擇不同的功能。根據用戶的選擇,它調用相應的函式來顯示可用或不可用的食物清單,訂購食物或取消訂單。循環在用戶輸入 0 時結束。
結果呈現
---
### 執行結果:
**剪輯影片並使用Youtube上傳成果執行過程**
網址: -[期末成果執行過程](https://youtu.be/Y9-QLRnoTBs)
(內有附帶說明)
#### Header檔:food.h

#### 函式1:showAvailableFoods.c

#### 函式2:showUnavailableFoods.c

#### 函式3:orderFood.c

#### 函式4:cancelFoodOrder.c

#### 主函式:Main.c


總結
---
#### What Did I Do
現代許多店家(例火鍋店、速食餐廳...等)幾乎入內都可以不用跟店員接觸,因為靠著自助點餐、線上刷卡、機器人做餐兼送餐,這因此讓我也希望做一個簡單的線上選單,他可以幫我提顧客查看可點、不可點餐點,並且查看價錢,並且還能去點餐及刪除不需要的餐點。
其中,我透過 **1.提出檔頭 2.分離函式** 的函式去使我的程式碼頁面,減少寫程式時的眼花撩亂及簡潔。
#### What Dificulties Did I Face
1. 對於建立檔頭、分離函式的不熟悉,需要去複習先前學習紀錄。
2. 對於該如何提供選單呈現的內容,需要去考慮邏輯是否正確能使消費者使用。
3. 對於該如何提供更完整系統,如庫存顯示、輸入資訊異常...等需要去更加學習精進。
#### References
1. -[王老師教學頻道](https://www.youtube.com/@user-bf2my2mc6h)
2. -[Chat GPT](https://chat.openai.com/)
一下HackMD學期學習紀錄
---
#### 本篇網址
-[期末專案網址](https://hackmd.io/@ViiAQr3WSjqUjpx4MQrN9w/中原電機_11128137蕭宇呈_計概期末專案)
#### 專案學習紀錄
1. -[寫出人員招募程式(無分函式、檔頭)](https://hackmd.io/@ViiAQr3WSjqUjpx4MQrN9w/第一次)
2. -[讀檔、存檔](https://hackmd.io/@ViiAQr3WSjqUjpx4MQrN9w/第二次)
3. -[終端機使用](https://hackmd.io/@ViiAQr3WSjqUjpx4MQrN9w/第三次)
#### 指標學習紀錄
1. https://hackmd.io/@ViiAQr3WSjqUjpx4MQrN9w/11128137_0508HW
2. https://hackmd.io/@ViiAQr3WSjqUjpx4MQrN9w/BykqFSDHn