C語言程序設(shè)計方案圖書信息管理系統(tǒng)_第1頁
C語言程序設(shè)計方案圖書信息管理系統(tǒng)_第2頁
免費預(yù)覽已結(jié)束,剩余22頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、封面 作者:PanHon glia ng 僅供個人學習 電氣與信息工程學院 2013 2013 20142014 學年第 一 學期課程名稱 C C 語言課程設(shè)計 設(shè)計題目實驗設(shè)備管理系統(tǒng) 姓名李海峰 學號 1211323412113234 專業(yè)班級電子信息工程 指導教師蔣 蓮 20132013 年 9 9 月 1、 設(shè)計任務(wù)書 4 1.1 課程設(shè)計題目:實驗設(shè)備管理系統(tǒng) 4 1.2 課程設(shè)計要求:4 1.3 課程設(shè)計目的:4 1.4 課程設(shè)計原理:5 1.5 課程程序涉及的知識點 5 2、 C 語言程序需求分析 6 2.1 技術(shù)可行性 6 2.2 經(jīng)濟可行性 6 2.3 需求分析 7 2.4

2、內(nèi)容摘要 8 3、 功能設(shè)計 8 3.1 應(yīng)用程序功能詳細說明 8 3.1.1 添加記錄 8 3.1.2 修改記錄 9 3.1.3 顯示記錄 10 3.1.4 統(tǒng)計分類 10 3.1.5 查詢記錄 10 3.2 總體設(shè)計與模塊的劃分 11 3.3 建立實驗設(shè)備信息結(jié)構(gòu)體 12 3.4 系統(tǒng)功能模塊與設(shè)計 12 4、 程序代碼設(shè)計 12 4.1 設(shè)計目標 12 4.2 設(shè)計思想 12 4.3 系統(tǒng)完成功能及功能框圖 13 4.4 程序運行主界面 13 4.5 核心算法:13 4.5.1 輸入設(shè)備記錄 13 4.5.2 查看所有設(shè)備信息 14 4.5.3 編輯設(shè)備報廢與破損記錄 14 4.5.4

3、按編號查詢 14 4.5.5 設(shè)備分類統(tǒng)計 15 5、 C 程序設(shè)計結(jié)論:錯誤!未定義書簽。 5.1 存在問題: 15 5.2 特點的體現(xiàn): 15 5.3 學習總結(jié): 15 6、 后記 16 7、參考文獻 16 8、附錄錯誤!未定義書簽。 8.1 系統(tǒng)公共數(shù)據(jù)結(jié)構(gòu)如下: 16 8.2 源程序: 17 1、設(shè)計任務(wù)書 1.1 課程設(shè)計題目: 實驗設(shè)備管理系統(tǒng) 1.2 課程設(shè)計要求: 實驗設(shè)備信息包括:設(shè)備編號,設(shè)備種類 (如:微機、打印 機、掃描儀等等 ),設(shè)備名稱,設(shè)備價格,設(shè)備購入日期,是否報 廢,報廢日期等。 主要功能: 1、 能夠完成對設(shè)備的錄入和修改 2、 對設(shè)備進行分類統(tǒng)計 3、 設(shè)

4、備的破損耗費和遺損處理 4、 設(shè)備的查詢 要求:使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作 1.3 課程設(shè)計目的: 學校的規(guī)模不斷擴大,實驗室設(shè)備數(shù)量急劇增加,有關(guān)實驗 室設(shè)備的各個信息也成倍增加。面對龐大的信息量,需要有專門 的實驗室設(shè)備管理系統(tǒng)來提高工作的效率。本系統(tǒng)為實驗室設(shè)備 管理信息系統(tǒng),通過這樣的系統(tǒng),可以做到信息的規(guī)范管理,快 速查詢實驗室設(shè)備的就業(yè)信息。其開發(fā)主要包括數(shù)據(jù)庫的建立和 維護以及前端應(yīng)用程序的開發(fā)兩個方面。 其次通過設(shè)計主要使學生有一個獨立編寫程序的過程,對理 論學習及動手能力都有一個很大的提高 ,進一步培養(yǎng)學生熱愛專業(yè) 的思想,同時對本專業(yè)綜合素質(zhì)的提高起一個

5、積極的推動作用。 1.4 課程設(shè)計原理: 總體設(shè)計的基本目的就是回答“系統(tǒng)應(yīng)該如何實現(xiàn)?”這個 問題。因此總體設(shè)計又稱為概要設(shè)計或初步設(shè)計。通過這個階段 的工作將劃分出組成系統(tǒng)的物理元素 程序、文件、數(shù)據(jù)庫、人 工過程和文檔等等,但是每個物理元素仍然處于黑盒子級,這些 黑盒子里的具體內(nèi)容將在以后仔細設(shè)計??傮w設(shè)計階段的另一項 重要任務(wù)是設(shè)計軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是由 哪些模塊組成的,以及這些模塊相互之間的關(guān)系。 總體設(shè)計工程通常有兩個主意階段組成:系統(tǒng)設(shè)計,確定系 統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計確實軟件結(jié)構(gòu),也就是要確定系統(tǒng) 中每個程序擁有哪些模塊組成的,以及這些模塊之間的關(guān)系。

6、在 詳細設(shè)計之前進行總體設(shè)計可以站在全局的高度上,花較少的成 本,從中選出最佳方案和最合理的軟件結(jié)構(gòu),從而用較低的成本 開發(fā)出高質(zhì)量的軟件系統(tǒng)。 1.5 課程程序涉及的知識點: 1、函數(shù)的調(diào)用 2、結(jié)構(gòu)體類型 3、 For循環(huán)語句 4、 數(shù)組的熟練運用 5、 結(jié)構(gòu)體的靈活運用 6、 文件的打開和關(guān)閉 7、 字符串的比較和復(fù)制 2、C語言程序需求分析 2.1 技術(shù)可行性 一個完備的實驗室設(shè)備管理信息系統(tǒng)具有以下優(yōu)越性: 方便校領(lǐng)導查詢實驗室設(shè)備的使用情況,節(jié)省時間,可以提高 系統(tǒng)的工作效率和準確率。為了適應(yīng)新形勢的發(fā)展,我進行了這一 系統(tǒng)的初步設(shè)計工作,也可以說是做一個初步的探索,希望它能夠 在

7、查詢實驗室設(shè)備信息時發(fā)揮高效、便捷的作用,把系統(tǒng)管理員從 繁重的工作中解脫出來! 該實驗室設(shè)備管理信息系統(tǒng)是以 ACCESS數(shù)據(jù)庫為后臺核心應(yīng) 用、以服務(wù)為目的信息平臺,對資源進行科學的加工整序和管理維 護,為實驗室設(shè)備信息提供管理。 2.2 經(jīng)濟可行性 經(jīng)濟可行性主要依據(jù)是成本 / 效益分析,該系統(tǒng)的目標是以最低 的成本,在最短的期限內(nèi)開發(fā)出實驗室設(shè)備管理信息系統(tǒng)。系統(tǒng)能 減少很多不必要的資源,不用象以前那樣用冗余的紙張式的管理。 大大節(jié)省了學校能源。并且還提高了實驗室設(shè)備信息管理的精確 度。 方便快速的操作,可減少實驗室設(shè)備信息管理的漏洞,又減少 因工作的冗余出現(xiàn)的錯誤,并且操作非常簡單,

8、可減少許多不很必 要的人員,這無論從物質(zhì)上海是工作人員的工資上都為學校節(jié)約了 開支。為學校增加了財富。 目標系統(tǒng)開發(fā)需求比較低,加上具有成熟的軟硬件環(huán)境,所以 在軟硬件的支出上比較低,在為使用者帶來便利的同時,也問哦系 統(tǒng)的進一步推廣創(chuàng)造了條件。這帶來的經(jīng)濟回報將遠超過支出,并 且最重要的是該軟件的開發(fā)可以使我們對系統(tǒng)的開發(fā)有全面的認 識。從經(jīng)濟角度考慮,此實驗室設(shè)備管理信息系統(tǒng)開發(fā)可行。 2.3 需求分析 管理員可以對實驗室設(shè)備信息進行查詢及相關(guān)實驗室設(shè)備的使 用情況查看。管理員可以根據(jù)本人用戶名和密碼登錄系統(tǒng)。在信息 系統(tǒng)中,后臺數(shù)據(jù)庫存儲的地位相當重要,數(shù)據(jù)庫的設(shè)計不但對數(shù) 據(jù)的操作速度

9、有影響,還直接關(guān)系到軟件系統(tǒng)的質(zhì)量和生存周期。 本系統(tǒng)采用了 SQL 數(shù)據(jù)庫 book,book 庫中包括教師信息表、借用設(shè) 備表、儀器表、用戶登陸表。系統(tǒng)首先必須維護實驗室中詳細資料 的數(shù)據(jù)表,程序能對該表進行寫入和讀出數(shù)據(jù)的操作,相應(yīng)的,該 表還有記錄讀者的借用情況,系統(tǒng)通過該表判斷讀者是否滿意借用 條件。系統(tǒng)還要管理員信息表,記錄管理員的資料,檢驗管理員的 登陸,管理員的權(quán)限等。 實驗室設(shè)備信息用文件存儲,提供文件的輸入輸出操作;要能 夠完成設(shè)備的錄入和修改,需要提供設(shè)備添加和修改操作;實現(xiàn)對 設(shè)備進行分類統(tǒng)計,需要提供排序操作;實現(xiàn)對設(shè)備查詢需要提供 查找操作,設(shè)備的查詢可根據(jù)設(shè)備編號

10、 設(shè)備種類 設(shè)備購入日期 正 常設(shè)備(未報廢的)等多種方式查詢;另外還要根據(jù)鍵盤式選擇菜 單以實現(xiàn)功能選擇。 2.4 內(nèi)容摘要: 實驗室設(shè)備管理系統(tǒng)是典型的設(shè)備信息管理系統(tǒng) , 要求能為學校 實驗室管理提供信息化動態(tài)化的管理,方便實驗室設(shè)備管理工作, 提高設(shè)備管理質(zhì)量和使用效率。而且系統(tǒng)應(yīng)符合設(shè)備管理的有關(guān)規(guī) 定,包括新設(shè)備的申請、購買確認、新設(shè)備信息錄入、舊設(shè)備維修 和報廢及用戶管理等。能滿足日常工作的基本需要,并達到操作過 程中的直觀、方便、實用、安全等有關(guān)要求。 實驗室設(shè)備管理系統(tǒng)是一個典型的信息管理系統(tǒng), 采用面向?qū)?象的分析方法 ,給出系統(tǒng)的基本結(jié)構(gòu) ?設(shè)計特色 ?設(shè)計模型及實現(xiàn)途徑

11、 并且對系統(tǒng)的開發(fā)技術(shù)進行研究 ?本系統(tǒng)是一個為適應(yīng)對學校實驗室 設(shè)備管理的迫切需求而設(shè)計開發(fā)的軟件系統(tǒng)。 3 3、功能設(shè)計 3.1 應(yīng)用程序功能詳細說明 程序運行后進入管理系統(tǒng),顯示目錄:添加記錄、修改記錄、 顯示記錄、分類統(tǒng)計、查詢記錄。 3.1.1 添加記錄 系統(tǒng)提示用戶在原有的基礎(chǔ)上錄入新的設(shè)備信 息。流程圖如下: 3.1.2 修改記錄 系統(tǒng)要求用戶輸入要修改的設(shè)備ID號,這時系統(tǒng) 會顯示設(shè)備的具體信息,用戶只需該設(shè)備新的信息按要求輸入即可 對信息進行修改。流程圖如下: 開始 判斷是否有資料可以統(tǒng)計分 類 沒有資料可以統(tǒng)計跳出 輸入要統(tǒng)計的分類序號 按輸入序號調(diào)用各功能模塊 函數(shù) 結(jié)束

12、 3.1.3 顯示記錄 無記錄退出,有記錄者按要求輸出。流程圖如 下: 3.1.4 統(tǒng)計分類若有資料可以統(tǒng)計,則按要求分類統(tǒng)計輸出。流 程圖如下: - - 沒有記錄可以顯示,跳出 開始 * I . 有記錄者按要求輸出 判斷是否有資料可以統(tǒng)計 I 分類 - 沒有資料可以統(tǒng)計跳出 結(jié)束 _ _ 輸入要統(tǒng)計的分類序號 按輸入序號調(diào)用各功能模 塊函數(shù) 結(jié)束 3.1.5 查詢記錄 若信息為空,貝 S 不能查詢。流程圖如下: 3.2 總體設(shè)計與模塊的劃分整個系統(tǒng)可設(shè)計為實驗設(shè)備信息輸入模塊實 驗設(shè)備信息添加模塊實驗設(shè)備信息修改模塊實驗設(shè)備分類統(tǒng)計模塊 和實驗設(shè)備查詢模塊。 結(jié)束 3.3 建立實驗設(shè)備信息結(jié)

13、構(gòu)體 結(jié)構(gòu)體成員包括設(shè)備編號設(shè)備種類設(shè)備名稱設(shè)備價格設(shè)備購入 日期是否報廢報廢日期。 3.4 系統(tǒng)功能模塊與設(shè)計 模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個 模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完 成指定的功能滿足用戶的需求。 采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱 讀和理解。因為程序錯誤常局限在有關(guān)的模塊及它們之間的接口 中,所以模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的可 靠性。一個好的電子系統(tǒng)要有一些必要的模塊組成,若缺少了某些 模塊那么這個系統(tǒng)就會有缺陷。 4 4、程序代碼設(shè)計 4.1 設(shè)計目標 通過設(shè)計主要使學生有一個獨立編寫程序

14、的過程,對理論學習 及動手能力都有一個很大的提高,進一步培養(yǎng)學生熱愛專業(yè)的思想, 同時對本專業(yè)綜合素質(zhì)的提高起一個積極的推動作用。 4.2 設(shè)計思想 第一,應(yīng)該具有自動初始化的功能。實際網(wǎng)絡(luò)中被管設(shè)備數(shù)量 巨大,通常能達到百位量級,如果初始化時需要管理員手動輸入所 有被管設(shè)備的基本信息,這是一個相當枯燥漫長的過程,會大大降 低系統(tǒng)的實用性。第二,在長時間的運行過程中,系統(tǒng)數(shù)據(jù)要與實際設(shè)備配置保 持一致。實際網(wǎng)絡(luò)中變化是經(jīng)常發(fā)生的,包括網(wǎng)絡(luò)的拓撲、設(shè)備的 配置等都會為了運行的需求而經(jīng)常變化。那么,最好能讓系統(tǒng)中的 數(shù)據(jù)能自動更新,而不需要每次改變實際網(wǎng)絡(luò)配置后,還需要管理 員手動更新。 第三,操

15、作簡單直觀,不依賴于太多的專業(yè)知識。無論是信息 的展示,還是可以進行的操作,希望都能以簡單的頁面元素來表 達,管理員通過簡單的點擊、選擇等操作就能完成大部分管理任 務(wù)。 4.3 系統(tǒng)完成功能及功能框圖 為彌補手工管理設(shè)備信息造成的資源共享困難、管理手續(xù)繁瑣 等問題,設(shè)備管理系統(tǒng)應(yīng)能夠滿足設(shè)備信息共享的需求,方便快捷 的得到所需要的信息,對實驗室的幫助很大。系統(tǒng)功能如圖所示, 其主要功能包括:設(shè)備的錄入和修改、對設(shè)備進行分類統(tǒng)計、設(shè)備 的破損耗費和遺損處理、設(shè)備的查詢。 4.4 程序運行主界面 4.5 核心算法: 4.5.1輸入設(shè)備記錄 void add_data() struct shebei

16、 st。 int b 。 int i,j,k 。 while(1) j=0。 printf(nn 繼續(xù)添加設(shè)備信息 1-yes 0-no:) 。 scanf(%d,&b) 。 if(b=0) break 。 save_data()。 4.5.2 查看所有設(shè)備信息 void view_data() int i 。 printf(”編號t 種類t 名稱t 價格t 購入日期t 報廢狀態(tài)(0-報廢,1-未報廢)t 破損狀態(tài)(0- 破損, 1-未破損) )。 printf(n - n) 。 for(i=0。idd.count。i+) printf(%st%st%st%.2ft%st%dt%dn,

17、dd.shei.no,dd.shei.kind,,dd.s hei.price,dd.shei.time,dd.shei.bao,dd.shei.po) 。 if(dd.shei.bao=0)printf( 該設(shè)備報廢日期: %st,dd.shei.time1) 。 if(dd.shei.po=0)printf( 該設(shè)備破損花費: %.2ft,dd.shei.price1) 。 if(dd.shei.bao=0|dd.shei.po=0)printf( 該設(shè)備處理方式為: %sn,dd.shei.way) 。 4.5.3 編輯設(shè)備報廢與破損記錄 void edit_da

18、ta() printf(n 名 稱 : %s, 編 號 : %s, 種 類 :%s, 價 格 : %.2f, 購 入 日 期: %s,,dd.shek.no,dd.shek.kind,dd.shek.price,dd.shek.time) 。 printf(n 破損耗費: ) 。 scanf(%f,&price1) 。 dd.shek.price1=price1 。 4.5.4 按編號查詢 void query_data_no() int i,k 。 char no5 。 printf(n 請輸入要查詢設(shè)備的編號 :)。 scanf(%s,no) 。 k=-1

19、。 printf(nn 沒有找到該設(shè)備 ( 編號 -%s)!,no) 。 4.5.5 設(shè)備分類統(tǒng)計 void count_data() char kind10 。 int i,s=0 。 printf( 請輸入要查詢的設(shè)備種類: ) 。 scanf(%s,kind) 。 for(i=0 。 idd.count 。 i+) if(strcmp(dd.shei.kind,kind)=0) s+。 printf(統(tǒng)計結(jié)果:s 種類的設(shè)備有d 件。,kind,s)。 5、C程序設(shè)計結(jié)論: 5.1 存在問題: 本程序的功能不是很完善,只能完成最基礎(chǔ)的設(shè)備的錄入和修 改,不能輸入過多設(shè)備的存儲和查詢,只能

20、分類統(tǒng)計出相應(yīng)類型的 數(shù)量,不能詳細分類統(tǒng)計。 5.2 特點的體現(xiàn): 本C語言程序主要使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單 方式工作,再結(jié)合函數(shù)、數(shù)組等基本程序設(shè)計編寫而成。 可以完成最基礎(chǔ)的設(shè)備的錄入和修改,對設(shè)備進行分類統(tǒng)計, 設(shè)備的破損耗費和遺損處理,以及按照設(shè)備類型和設(shè)備編號的查 詢。能夠基本滿足管理設(shè)備工作人員的需求。 5.3 學習總結(jié): 此程序設(shè)計讓我很好的掌握了 C語言的一些知識,但也反映了 一些不足之處,而且本程序的功能不是很完善,隨著以后的學習, 我會更好的去探究更完美的更實用的管理系統(tǒng)。 6、后記 通過 “實驗設(shè)備管理系統(tǒng) ”設(shè)計,增加了我學習軟件技術(shù)的興 趣,雖然還不明

21、確軟件技術(shù)包含的具體內(nèi)容,但從 C語言這門課程開 始,已發(fā)現(xiàn)程序設(shè) 計的樂趣,在學習 C語言的過程中也學到了許多計 算機應(yīng)用基礎(chǔ)知識,對計算機的機體也有了一個大體的了解。 在具體操作中對這學期所學的 C語言的理論知識得到鞏固,在 實際操作中也發(fā)現(xiàn)了自己的不足之處,在以后的上機中應(yīng)特別注 意,同時也體會到了 C語言具有的語句簡潔,使用靈活,執(zhí)行效率高 等的特點。通過實際操作,學會 C語言程序編程的基本步驟、基本 方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的 能力。 7、參考文獻 【1】.C程序設(shè)計(第四版),譚浩強著 【2】.C程序設(shè)計(第四版)學習輔導譚浩強編著 8、附錄 8.1

22、 系統(tǒng)公共數(shù)據(jù)結(jié)構(gòu)如下: 表示可錄入設(shè)備的最大數(shù)量 定義一個名為 shebei 的結(jié)構(gòu)體,這個結(jié)構(gòu)體定 義了設(shè)備的基本信息 設(shè)備的編號 設(shè)備的名稱 設(shè)備的種類 char time 購買日期 char time1 報廢日期 char way 處理方式 float price 設(shè)備的價格 破損花費 int bao 是否報廢 是否破損 8.2 源程序: #include stdio.h #include string.h #define MAX 20 struct shebei char no10 。 / 編號 char kind10 。 / 設(shè)備種類 char name10 。 / 設(shè)備名稱 fl

23、oat price 。 / 價格 char time10 。 / 日期 int bao。 / 是否報廢 char time110 。 / 報廢日期 int po。 / 是否破損 float price1 。 / 破損花費 char way10 。 / 處理方式 she。 struct data int count 。 / 當前設(shè)備數(shù)組中設(shè)備的個數(shù) struct shebei sheMAX 。 / 設(shè)備數(shù)組 dd 。 void save_data() FILE *fp 。 int i 。 if(fp=fopen(d:dada.dat,wb)=NULL) printf(ncannot open f

24、ilen) 。 return。 for(i=0 。 idd.count 。 i+) if(fwrite(&dd.shei,sizeof(struct shebei),1,fp)!=1) printf(file write errorn) 。 fclose(fp) 。 void read_data() FILE *fp 。 int i,k 。 struct shebei st。 k=0。 if(access(d:dada.dat,0)=-1) / 如果文件不存在 fp=fopen(d:dada.dat,wb) 。 fwrite(&k,sizeof(int),1,fp) 。 fcl

25、ose(fp) 。 fp=fopen(d:dada.dat,rb) 。 fread(&k,sizeof(int),1,fp) 。 dd.count=k 。 for(i=0。ik。i+) fread(&st,sizeof(struct shebei),1,fp) 。 strcpy(,) 。 strcpy(dd.shei.no,st.no) 。 strcpy(dd.shei.kind,st.kind) 。 dd.shei.price=st.price 。 strcpy(dd.shei.time,st.time) 。 dd.shei.bao=st

26、.bao 。 dd.shei.po=st.po 。 strcpy(dd.shei.time1,st.time1) 。 strcpy(dd.shei.way,st.way) 。 dd.shei.price1=st.price1 。 fclose(fp) 。 void view_data() int i 。 printf(”編號t 種類t 名稱t 價格t 購入日期t 報廢狀態(tài)(0-報廢,1-未報廢) (0-破損, 1 -未破損) )。 printf(n - n) 。 for(i=0 。 idd.count 。 i+) t 破損狀態(tài) printf(%st%st%st%.2ft%st%dt%dn,dd

27、.shei.no,dd.shei.kind,,dd.s hei.price,dd.shei.time,dd.shei.bao,dd.shei.po) 。 if(dd.shei.bao=0)printf( 該設(shè)備報廢日期: %st,dd.shei.time1) 。 if(dd.shei.po=0)printf( 該設(shè)備破損花費: %.2ft,dd.shei.price1) 。 if(dd.shei.bao=0|dd.shei.po=0)printf( 該設(shè)備處理方式為: %sn,dd.shei.way) 。 void add_data() struct shebei st

28、。 int b 。 int i,j,k 。 while(1) j=0。 printf(n 請輸入設(shè)備信息 :n) 。 printf( 編號 t 種類 t 名稱 t 價格 t 購入日期 t) 。 printf(n - n) 。 scanf(%s%s%s%f%s,st.no,st.kind,,&st.price,st.time) 。 for(i=0 。 idd.count 。 i+) if(strcmp(dd.shei.no,st.no)=0) j=1 。 printf( 輸入的設(shè)備編號有重復(fù),請重新輸入 !) 。 break。 if(j=1)continue 。 if(j=

29、0) k = dd.count 。 strcpy(,) 。 strcpy(dd.shek.no,st.no) 。 strcpy(dd.shek.kind,st.kind) 。 dd.shek.price=st.price 。 strcpy(dd.shek.time,st.time) 。 dd.shek.bao=1 。 dd.shek.po=1 。 dd.count+ 。 printf(nn 繼續(xù)添加設(shè)備信息 1-yes 0-no:) 。 scanf(%d,&b) 。 if(b=0) break 。 save_data()。 void edit_da

30、ta() int i,k 。 char no10,time110,way10 。 int bao,po。 float price1 。 printf(n 請輸入要編輯設(shè)備的編號 :) 。 scanf(%s,no) 。 k=-1。 for(i=0 。 idd.count 。 i+) if(strcmp(dd.shei.no,no)=0) k=i 。 break。 if(k=-1) printf(nn 沒有找到該設(shè)備 (編號 -%s)!,no) 。 else printf(n 名 稱 : %s, 編 號 : %s, 種 類 :%s, 價 格 : %.2f, 購 入 日 期: %s,dd.shek.

31、name,dd.shek.no,dd.shek.kind,dd.shek.price,dd.shek.time) 。 printf(n 設(shè)備報廢與否記錄 :) 。 printf(n 設(shè)備狀態(tài)( 0-報廢, 1-未報廢): ) 。 scanf(%d,&bao) 。 dd.shek.bao=bao 。 if(bao=0) printf(n 報廢日期: ) 。 scanf(%s,time1) 。 strcpy(dd.shek.time1,time1) 。 if(bao=1) printf(n 設(shè)備破損狀態(tài):( 0-破損, 1-未破損) ) 。 scanf(%d,&po) 。 dd.s

32、hek.po=po 。 if(po=0) printf(n 破損耗費: ) 。 scanf(%f,&price1) 。 dd.shek.price1=price1 。 if(bao=0|po=0) printf(n 處理方式: ) 。 scanf(%s,way) 。 strcpy(dd.shek.way,way) 。 save_data()。 printf(nn編輯設(shè)備記錄(編號-%s)成功!,no)。 void query_data_no() int i,k 。 char no5 。 printf(n 請輸入要查詢設(shè)備的編號 :) 。 scanf(%s,no) 。 k=-1。 for

33、(i=0 。 idd.count 。 i+) if(strcmp(dd.shei.no,no)=0) k=i 。 printf(”編號t 種類t 名稱t 價格t 購入日期t 報廢狀態(tài)(0-報廢,1-未報廢)t 破 損狀態(tài)( 0-破損, 1-未破損) )。 printf(n - n) 。 printf(%st%st%st%.2ft%st%dt%dn,dd.shei.no,dd.shei.kind,,dd.s hei.price,dd.shei.time,dd.shei.bao,dd.shei.po) 。 if(dd.shei.bao=0)printf( 該設(shè)備報廢日期:

34、%st,dd.shei.time1) 。 if(dd.shei.po=0)printf( 該設(shè)備破損花費: %.2ft,dd.shei.price1) 。 if(dd.shei.bao=0|dd.shei.po=0)printf( 該設(shè)備處理方式為: %sn,dd.shei.way) 。 if(k=-1) printf(nn 沒有找到該設(shè)備 (編號 -%s)!,no) 。 void count_data() char kind10 。 int i,s=O。 printf(”請輸入要查詢的設(shè)備種類: ”)。 scanf(%s,kind)。 for(i=0。 idd.count。i+) if(st

35、rcmp(dd.shei.k in d,k in d)=0) s+。 printf(統(tǒng)計結(jié)果:%s 種類的設(shè)備有 %d 件。,kind,s)。 int mai n() int i。 int count=0。 do printf(n)。 printf(1-錄入(add_data)n)。 printf(2_-查看(view_data)n)。 printf(3-編輯報損(edit_data)n)。 printf(4-查詢(query_data_no)n)。 printf(5-分類統(tǒng)計(count_data)n)。 printf(6-退出(Exit)n)。 scanf(%d,&i)。 switch(i) case 1:add_data()。 con ti nue。 case 2:view_data()。 con ti nue。 case 3:edit_data()。 con ti nue。 case 4:query_data_ no()。 con ti nue。 case 5:co un t_data()。 con ti nue。 case 6:break。 default:printf(錯誤選擇!請重選)。continue。 while(i!=6)。 return 0。 版權(quán)申明 本文部分內(nèi)容,包括文字、圖片、以及設(shè)計等在網(wǎng)上搜集整 理。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論