【C語言】C語言-設備管理系統(源碼+數據文件)【獨一無二】

請添加圖片描述


👉博__主👈:米碼收割機
👉技__能👈:C++/Python語言
👉公眾號👈:測試開發自動化【獲取源碼+商業合作】
👉榮__譽👈:阿里云博客專家博主、51CTO技術博主
👉專__注👈:專注主流機器人、人工智能等相關領域的開發、測試技術。


系列文章目錄


目錄

  • 系列文章目錄
  • 一、設計要求
  • 二、運行結果
  • 2.1 添加設備
  • 2.2 顯示設備信息
  • 2.3 查詢設備信息—設備名稱
  • 2.4 查詢設備信息—部門
  • 2.5 設備排序
  • 2.6 退出系統
  • 代碼分析


一、設計要求

  1. 功能描述

    • 設備管理系統用于管理公司或組織的各種設備信息,包括設備的編號、名稱、領用人、所屬部門、數量、購買時間和價格等。
    • 功能包括顯示所有設備信息、查詢設備信息、添加設備、刪除設備和排序設備。
  2. 數據存儲

    • 設備信息應該以結構體數組的形式存儲在內存中,每個結構體包含一個設備的所有信息。
    • 設備信息應該可以從文件中加載,并且在程序運行期間對設備信息的修改應該能夠保存到文件中。
  3. 界面設計

    • 系統應該提供一個菜單界面,用于用戶選擇不同的功能。
    • 菜單應該清晰明了,包括顯示所有設備信息、查詢設備信息、添加設備、刪除設備、排序設備和退出系統等選項。

      👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈

  4. 功能設計

    • 顯示所有設備信息:將所有設備的信息按照指定格式顯示在屏幕上。

    • 查詢設備信息:用戶可以選擇按設備名稱或所屬部門進行查詢,查詢結果應該顯示所有符合條件的設備信息。

    • 添加設備:用戶可以逐步輸入新設備的各項信息,系統應該能夠將新設備添加到設備列表中。

    • 刪除設備:用戶輸入要刪除的設備編號,系統應該能夠根據編號刪除對應的設備信息。

    • 排序設備:根據購買時間對設備信息進行排序,排序結果應該按照購買時間的先后順序顯示。

      👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈


二、運行結果

2.1 添加設備

在這里插入圖片描述

2.2 顯示設備信息

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈

2.3 查詢設備信息—設備名稱

在這里插入圖片描述

2.4 查詢設備信息—部門

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈

2.5 設備排序

在這里插入圖片描述

2.6 退出系統

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈


代碼分析

  1. 數據結構

    • 代碼中使用了結構體 Device 來表示設備信息,包括設備編號、名稱、領用人、所屬部門、數量、購買時間和價格等字段。

    • 設備信息以結構體數組 devices 的形式存儲,同時用整型變量 device_count 記錄當前設備數量。

      typedef struct {int id;char name[50];char owner[50];char department[50];int quantity;char purchase_date[20];double price;
      } Device;
      

      👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈

  2. 文件操作

    • load_devices_from_file 函數用于從文件中加載設備信息,采用文件流方式讀取文件內容,并將讀取到的設備信息存儲到 devices 數組中。

    • save_devices_to_file 函數用于將當前的設備信息保存到文件中,采用文件流方式寫入設備信息到文件。

      void load_devices_from_file(const char* filename) {FILE* file = fopen(filename, "r");if (file == NULL) {printf("無法打開文件。\n");return;}while (fscanf(file, "%d %49s %49s %49s %d %19s %lf",&devices[device_count].id,devices[device_count].name,devices[device_count].owner,devices[device_count].department,&devices[device_count].quantity,devices[device_count].purchase_date,&devices[device_count].price) != EOF) {device_count++;}fclose(file);
      }
      

      👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈

  3. 菜單功能

    • display_menu 函數用于顯示系統菜單,提供了顯示所有設備信息、查詢設備信息、添加設備、刪除設備、排序設備和退出系統等選項。

    • main 函數通過循環結構提供了菜單選擇功能,根據用戶輸入的選項調用相應的功能函數。

      
      void display_menu() {printf("\n設備管理系統\n");printf("1. 顯示所有設備信息\n");printf("2. 查詢設備信息\n");printf("3. 添加設備\n");printf("4. 刪除設備\n");printf("5. 排序設備\n");printf("0. 退出系統\n");
      }
  4. 功能實現

    • display_all_devices 函數用于顯示所有設備信息,遍歷設備數組并將每個設備的信息輸出到控制臺。

    • query_device 函數用于根據用戶輸入的設備名稱或所屬部門查詢設備信息,輸出符合條件的設備信息。

    • add_device 函數用于添加新設備,先接收用戶輸入的設備信息,然后將新設備添加到設備數組中。

    • delete_device 函數用于刪除指定編號的設備,根據用戶輸入的設備編號查找并刪除對應的設備信息。

    • sort_devices 函數用于根據購買時間對設備信息進行排序,采用 qsort 函數實現。

      void display_all_devices() {printf("\n所有設備信息:\n");for (int i = 0; i < device_count; i++) {printf("ID: %d, 名稱: %s, 領用人: %s, 部門: %s, 數量: %d, 購買時間: %s, 價格: %.2f\n",devices[i].id,devices[i].name,devices[i].owner,devices[i].department,devices[i].quantity,devices[i].purchase_date,devices[i].price);}
      }
      

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “設備” 獲取。👈👈👈

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

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

相關文章

AI大模型:大數據+大算力+強算法

前言&#xff1a;好久不見&#xff0c;甚是想念&#xff0c;我是辣條&#xff0c;我又回來啦&#xff0c;兄弟們&#xff0c;一別兩年&#xff0c;還有多少老哥們在呢&#xff1f; 目錄 一年半沒更文我干啥去了&#xff1f; AI大模型火了 人工智能 大模型的理解 為什么學習…

ComfyUI完全入門:圖生圖局部重繪

大家好&#xff0c;我是每天分享AI應用的螢火君&#xff01; 這篇文章的主題和美女有關&#xff0c;不過并不是教大家生產美女視頻&#xff0c;而是講解 ComfyUI 的圖生圖局部重繪&#xff0c;其中將會以美女圖片為例&#xff0c;來展示局部重繪的強大威力。 先看看效果&…

2024年5月26日 十二生肖 今日運勢

小運播報&#xff1a;2024年5月26日&#xff0c;星期日&#xff0c;農歷四月十九 &#xff08;甲辰年己巳月庚寅日&#xff09;&#xff0c;法定節假日。 紅榜生肖&#xff1a;馬、豬、狗 需要注意&#xff1a;牛、蛇、猴 喜神方位&#xff1a;西北方 財神方位&#xff1a;…

java hashmap在項目中的使用

java hashmap在項目中的使用 1&#xff0c;緩存機制&#xff1a; 在需要頻繁訪問數據但又不想每次都從數據庫或遠程服務獲取的場景中&#xff0c;可以使用 HashMap 作為緩存。例如&#xff0c;在一個 Web 應用程序中&#xff0c;用戶信息可能只需要在登錄時從數據庫檢索一次&a…

解釋器和編譯器(程序語言基礎)

一、解釋器 解釋器則是一種逐行或逐段地解釋執行源代碼的工具。解釋器會直接讀取源代碼&#xff0c;并在運行時逐行或逐段地解釋執行代碼&#xff0c;不生成獨立的目標代碼文件。解釋器適用于一些動態語言&#xff0c;允許用戶在代碼執行過程中進行交互&#xff0c;更容易調試…

【linux_常用的指令】

筆記 1連接遠程主機2 兩臺主機間復制2.1 查看當前目錄2.2 普通復制 3 創建能運行sudo命令的用戶3.1 更改用戶admin的密碼3.2 切換到admin用戶&#xff0c;并且啟動一個新的shell3.3 更改文件或目錄的權限 4 切換目錄5 解.tar.gz格式的壓縮包6 運行.sh文件7 查看當前目錄的所有文…

泛型中K T V E ? Object等分別代表的含義

E – Element (在集合中使用&#xff0c;因為集合中存放的是元素) T – Type&#xff08;Java 類&#xff09; K – Key&#xff08;鍵&#xff09; V – Value&#xff08;值&#xff09; N – Number&#xff08;數值類型&#xff09; &#xff1f; – 表示不確定的java類型&…

一個月速刷leetcodeHOT100 day07 輪轉數組 除自身以外的乘積 找到字符串中所有字母異位詞

輪轉數組 給定一個整數數組 nums&#xff0c;將數組中的元素向右輪轉 k 個位置&#xff0c;其中 k 是非負數。 示例 1: 輸入: nums [1,2,3,4,5,6,7], k 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右輪轉 1 步: [7,1,2,3,4,5,6] 向右輪轉 2 步: [6,7,1,2,3,4,5] 向右輪轉 3 步: […

系統思考—跳出癥狀看全局

結束了《系統思考—跳出癥狀看全局》的迭代課程后&#xff0c;我感觸頗深。通過一個深入的案例研討、互動討論和實戰演練&#xff0c;學員們不僅更好地理解了如何跳出癥狀看全局&#xff0c;還掌握了制定更具前瞻性和可持續性策略的方法。我們還探討了如何在實際工作中應用這些…

《python編程從入門到實踐》day38

# 昨日知識點回顧 定義、遷移模型Entry # 今日知識點學習 18.2.7 Django shell 每次修改模型后&#xff0c;看到重啟后的效果需要重啟shell&#xff0c;退出shell會話Windows系統按ctrlZ或者輸入exit() 18.3 創建頁面&#xff1a;學習筆記主頁 創建頁面三階段&#xf…

介紹一下Hugging Face,這個公司的背景是什么

Hugging Face是一家成立于2016年的人工智能公司&#xff0c;專注于為AI研究人員和開發者提供開源模型庫和工具。以下是關于Hugging Face公司的詳細背景介紹&#xff1a; 公司歷史與創始人&#xff1a; Hugging Face由Clment Delangue、Julien Chaumond和Thomas Wolf三位法國籍…

E0144 “const char *“ 類型的值不能用于初始化 “char *“ 類型的實體

解決方案&#xff1a; 在Visual Studio中&#xff0c;在項目上右鍵&#xff0c;屬性 >> C/C >> 語言 >> 符合模式&#xff0c;改為“否”。

AI大模型探索之路-基礎篇5:GLM-4解鎖國產大模型的全能智慧與創新應用

目錄 前言一、GLM4大模型總體概述二、GLM4和GPT4功能對比三、GLM4和GPT4性能對比1、基礎能力&#xff08;英文&#xff09;2、指令跟隨能力3、對齊能力4、長文本能力5、多模態-文生圖 四、GLM-4 ALL Tools1、文生圖2、代碼解釋器3、網頁瀏覽4、Function Call5、多工具自動調用 …

【學習筆記】關于建模時需要調整的變量

在進行回歸分析時&#xff0c;選擇調整變量&#xff08;也就是模型中的協變量&#xff09;需要謹慎考慮。調整的變量并不一定必須是混雜因素&#xff0c;但通常情況下&#xff0c;目的是為了控制那些可能扭曲主要自變量和因變量關系的混雜因素。除了混雜因素&#xff0c;還有幾…

C語言之指針進階(3),函數指針

目錄 前言&#xff1a; 一、函數指針變量的概念 二、函數指針變量的創建 三、函數指針變量的使用 四、兩段特殊代碼的理解 五、typedef 六、函數指針數組 總結&#xff1a; 前言&#xff1a; 本文主要講述C語言指針中的函數指針&#xff0c;包括函數指針變量的概念、創建…

【面試干貨】事務的并發問題(臟讀、不可重復讀、幻讀)與解決策略

【面試干貨】事務的并發問題&#xff08;臟讀、不可重復讀、幻讀&#xff09;與解決策略 一、臟讀&#xff08;Dirty Read&#xff09;二、不可重復讀&#xff08;Non-repeatable Read&#xff09;三、幻讀&#xff08;Phantom Read&#xff09;四、總結 &#x1f496;The Begi…

Stable Diffusion——U-ViT用于擴散建模的 ViT 主干網

1.概述 擴散模型是最近出現的強大的深度生成模型&#xff0c;可用于生成高質量圖像。擴散模型發展迅速&#xff0c;可應用于文本到圖像生成、圖像到圖像生成、視頻生成、語音合成和 3D 合成。 除了算法的改進&#xff0c;骨干網的改進在擴散建模中也發揮著重要作用。一個典型…

nginx代理前端html

正常配置&#xff0c;通過www.example.com或192.168.20.12:80訪問server {listen 80;server_name example.com www.example.com;root /var/www/html;index index.html index.htm;location / {try_files $uri $uri/ 404;} }解釋&#xff1a; listen 80;&#xff1a;監聽 HTTP 端…

汽車R155法規中,汽車獲取到的VTA證書,E后面的數字表示什么意思?

標簽&#xff1a; 汽車R155法規中&#xff0c;汽車獲取到的VTA證書&#xff0c;E后面的數字表示什么意思&#xff1f;&#xff1b; 汽車&#xff1b;VTA認證; 有些廠商汽車拿到的VTA證書上面寫著E9&#xff0c; 有些廠商汽車拿到的VTA證書上面寫著E5&#xff0c;E9與E5有什么差…

嵌入式之音頻基礎知識

聲音特性 1、響度&#xff1a;人主觀上感覺聲音的大小&#xff08;俗稱音量&#xff09;&#xff0c;由“振幅”和人離聲源的距離決定&#xff0c;振幅越大響度越大&#xff0c;人和聲源的距離越小&#xff0c;響度越大&#xff1b; 2、音調&#xff1a;聲音的高低&#xff0…