c語言自動售貨機

C語言編寫的自動售貨機程序可以模擬真實自動售貨機的基本功能,例如選擇商品、顯示價格、付款和找零。下面是一個簡單的示例代碼,展示了一個基本的自動售貨機程序:

#include <stdio.h>// 商品結構體
typedef struct {char name[30];int price;
} Product;// 函數聲明
void showMenu(Product products[], int size);
void purchase(Product products[], int size);int main() {// 商品列表Product products[] = {{"可樂", 3},{"雪碧", 3},{"巧克力", 5},{"薯片", 4},{"餅干", 2}};int size = sizeof(products) / sizeof(products[0]);// 顯示菜單并購買商品showMenu(products, size);purchase(products, size);return 0;
}// 顯示菜單
void showMenu(Product products[], int size) {printf("歡迎使用自動售貨機!\n");for (int i = 0; i < size; i++) {printf("%d. %s - 價格: %d元\n", i + 1, products[i].name, products[i].price);}
}// 購買商品
void purchase(Product products[], int size) {int choice, paid, change;printf("請選擇您要購買的商品編號:");scanf("%d", &choice);if (choice >= 1 && choice <= size) {printf("您選擇了%s,價格為%d元。\n", products[choice - 1].name, products[choice - 1].price);printf("請投入足夠的金額:");scanf("%d", &paid);if (paid >= products[choice - 1].price) {change = paid - products[choice - 1].price;printf("找零:%d元\n", change);printf("感謝您的購買,商品正在出貨...\n");} else {printf("投入金額不足,無法購買。\n");}} else {printf("選擇錯誤,請輸入有效的商品編號。\n");}
}

這個程序首先定義了一個Product結構體來存儲商品的名稱和價格。然后,定義了一個商品數組products,并在main函數中調用showMenupurchase函數。showMenu函數顯示所有商品及其價格,而purchase函數允許用戶選擇商品并進行購買,包括付款和找零。

請注意,這個示例程序是基于控制臺的,并沒有實現自動售貨機的物理交互,如硬幣識別和商品分發。此外,程序沒有實現錯誤處理和更復雜的用戶交互,這些在實際應用中是必要的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37292.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

破解對LabVIEW的偏見

LabVIEW被廣泛應用于科學研究、工程測試和自動化控制領域&#xff0c;具有專業性和高效的開發能力。盡管有人對其存在偏見&#xff0c;認為不如C語言&#xff0c;但LabVIEW的圖形化編程、強大集成能力、豐富社區支持和專業功能&#xff0c;使其在許多實際應用中表現出色。通過多…

Go語言環境安裝

Go下載地址 哪個能用用哪個。 https://go.dev/ https://golang.google.cn/&#xff08;Golang官網的官方鏡像&#xff09; Windows 使用.msi安裝包安裝 下載msi文件 安裝 雙擊運行go1.22.4.windows-amd64.msi Next 勾選I accept the terms in the License Agreement&…

收藏 | SSL證書無效的原因和解決辦法

當瀏覽器訪問一個使用SSL證書保護的網站時&#xff0c;會檢查其證書的有效性。如果發現證書存在問題&#xff0c;瀏覽器會顯示“SSL證書無效”的警告信息&#xff0c;提醒用戶存在潛在的安全風險。 “SSL證書無效”的警告可能會導致用戶離開站點&#xff08;并且永遠不會返回&…

MySQL高級-SQL優化-小結

文章目錄 1、insert 優化2、主鍵優化3、order by 優化4、group by 優化5、limit 優化6、count 優化7、update 優化 1、insert 優化 insert&#xff1a;批量插入、手動控制事務、主鍵順序插入 大批量插入&#xff1a;load data local infile 2、主鍵優化 主鍵長度盡量短、順序插…

系統漏洞復現與勒索病毒

知識點&#xff1a;SMB漏洞介紹、漏洞復現流程、勒索病毒攻擊與防護 滲透測試相關&#xff1a; 基本概念&#xff1a; 滲透測試就是利用我們所掌握的滲透知識&#xff0c;對網站進行一步一步的滲透&#xff0c;發現其中存在的漏洞和隱藏的風險&#xff0c;然后撰寫一篇測試報…

FastAPI教程I

本文參考FastAPI教程https://fastapi.tiangolo.com/zh/tutorial 第一步 import uvicorn from fastapi import FastAPIapp FastAPI()app.get("/") async def root():return {"message": "Hello World"}if __name__ __main__:uvicorn.run(&quo…

GPT-4o模型到底有多強

近年來&#xff0c;人工智能技術突飛猛進&#xff0c;在自然語言處理&#xff08;NLP&#xff09;和計算機視覺等領域取得了令人矚目的成就。OpenAI推出的GPT-4o模型作為最新一代的語言模型&#xff0c;進一步提升了AI的能力&#xff0c;尤其在文檔分析、識圖生文、文生圖等功能…

elementUI的搭建使用過程

Element - The worlds most popular Vue UI framework 上面是elementUI的網站,進入網站 點擊右上角的組件按鈕 復制這段代碼到你的項目終端:npm i element-ui -S 加載完成后即可使用elementUI網站中的組件,使用它們只需要復制組件下面的代碼即可

Unity UGUI 實現簡單兩點連線功能

實現 記錄鼠標點擊位置為線段起點。 posStart Input.mousePosition; 創建一個Image 作為線段。 line new GameObject("line"); rtLine line.AddComponent<RectTransform>(); rtLine.pivot new Vector2(0, 0.5f); rtLine.localScale Vector3.one; img…

Linux 進程通信

1.什么是進程通信&#xff1f; 答&#xff1a;兩個或多個進程實現數據層面的交互&#xff1b;但是因為進程的獨立性&#xff0c;導致進程通信的成本較高&#xff1b; 2.為什么要通信&#xff1f; 答&#xff1a;多進程之間由協同的需求&#xff0c;所以通信&#xff1b;以下…

Java常用對象的快速初始化

在Java中&#xff0c;有多種方式來快速初始化各種常用對象&#xff0c;如字符串數組&#xff08;String[]&#xff09;&#xff0c;集合列表&#xff08;List&#xff09;&#xff0c;映射表&#xff08;Map&#xff09;&#xff0c;以及集合&#xff08;Set&#xff09;。不同…

動態服務管理的藝術:Eureka在服務擴展與收縮中的策略

動態服務管理的藝術&#xff1a;Eureka在服務擴展與收縮中的策略 在微服務架構中&#xff0c;服務的動態擴展和收縮是實現高可用性和彈性的關鍵。Eureka&#xff0c;作為Netflix開源的服務發現框架&#xff0c;提供了一套機制來處理服務實例的動態變化。本文將深入探討Eureka如…

在操作系統中,background通常指的是運行于后臺的進程或任務

在計算機中&#xff0c;"background"一詞具有多種含義&#xff0c;以下是一些主要的解釋和相關信息&#xff1a; 計算機視覺中的背景&#xff08;Background&#xff09;&#xff1a; 在計算機視覺中&#xff0c;background指的是圖像或視頻中的背景部分&#xff0c;…

[code snippet] 生成隨機大文件

[code snippet] 生成隨機大文件 一個無聊的測試代碼&#xff0c;因為要測試大文件的網絡傳輸&#xff0c;就寫了一個隨機大文件生成腳本&#xff0c;做個備份。 基本上都是 GPT 生成的&#xff0c;哈哈。 C# 代碼 namespace ConsolePlayground;internal class BigFileGenera…

IOS17閃退問題Assertion failure in void _UIGraphicsBeginImageContextWithOptions

最近項目更新到最新版本IOS17&#xff0c;發現一個以前的頁面突然閃退了。原來是IOS17下&#xff0c;這個方法 UIGraphicsBeginImageContext(CGSize size) 已經被移除&#xff0c;原參數如果size為0的話&#xff0c;會出現閃退現象。 根據說明&#xff0c;上述方法已經被替換…

【shell腳本速成】python安裝腳本

文章目錄 案例需求應用場景解決問題腳本思路案例代碼 &#x1f308;你好呀&#xff01;我是 山頂風景獨好 &#x1f388;歡迎踏入我的博客世界&#xff0c;能與您在此邂逅&#xff0c;真是緣分使然&#xff01;&#x1f60a; &#x1f338;愿您在此停留的每一刻&#xff0c;都沐…

React 中 useEffect

React 中 useEffect 是副作用函數&#xff0c;副作用函數通常是處理外圍系統交互的邏輯。那么 useEffect 是怎處理的呢&#xff1f;React 組件都是純函數&#xff0c;需要將副作用的邏輯通過副作用函數抽離出去&#xff0c;也就是副作用函數是不影響函數組件的返回值的。例如&a…

vue中如何使用echarts和echarts-gl實現三維折線圖

一、vue中使用三維折線圖 效果圖&#xff1a; 二、使用步驟 1.引入庫 安裝echarts 在package.json文件中添加 "dependencies": {"echarts": "^5.1.2""echarts-gl": "^1.1.1",// "echarts-gl": "^2.0.8…

5G超寬,遠程診療帶來優質就醫體驗

上篇&#xff08;5G與4G的區別-CSDN博客&#xff09;講了4G與5G的區別&#xff0c;大家可以看到5G 具備高帶寬、低時延的特性&#xff0c;可以廣泛應用在各種物聯網場景下。 今天和大家簡單聊聊5G遠程診療。 遠程診療是一種利用信息通信技術為患者提供醫療服務的方式。它允許…

掌握PoE交換機的潛力:全面的以太網供電連接手冊

在數字化日益成為我們生活和工作核心的今天&#xff0c;一個穩固且效率高的網絡基礎架構對于個人和企業來說是不可或缺的。PoE&#xff08;以太網供電&#xff09;交換機作為一種創新技術&#xff0c;通過單一的網絡線纜同時傳遞數據和電源&#xff0c;對于增強網絡的性能起著關…