C語言程序設計方案圖書信息管理系統(tǒng)_第1頁
C語言程序設計方案圖書信息管理系統(tǒng)_第2頁
C語言程序設計方案圖書信息管理系統(tǒng)_第3頁
C語言程序設計方案圖書信息管理系統(tǒng)_第4頁
C語言程序設計方案圖書信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

12電子一班12311126李威1-電氣與信息工程學院2013—2014學年第一學期課程名稱C語言課程設計設計題目《實驗設備管理系統(tǒng)》姓名李海峰學號12113234專業(yè)班級電子信息工程指導老師蔣蓮2013年9月目錄TOC\o”1-3"\h\z\uHYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l”_Toc366924749#_Toc366924749”1、設計任務書?PAGEREF_Toc366924749\h3HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc”\l"_Toc366924750#_Toc366924750"1.1課程設計題目:實驗設備管理系統(tǒng) PAGEREF_Toc366924750\h3HYPERLINK"file:///C:\\Users\\lenovo\\AppDat(yī)a\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc"\l”_Toc366924759#_Toc366924759”2。4內(nèi)容摘要?PAGEREF_Toc366924759\h6HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924760#_Toc366924760"3、功能設計?PAGEREF_Toc366924760\h6HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924761#_Toc366924761"3。1應用程序功能簡略說明?PAGEREF_Toc366924761\h7HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924763#_Toc366924763”3.1.2修改記錄?PAGEREF_Toc366924763\h7HYPERLINK"file:///C:\\Users\\lenovo\\AppDat(yī)a\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc”\l”_Toc366924764#_Toc366924764"3.1.3顯示記錄 PAGEREF_Toc366924764\h9HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc”3。1.4統(tǒng)計分類 PAGEREF_Toc366924765\h9HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924766#_Toc366924766"3。1。5查詢記錄?PAGEREF_Toc366924766\h10HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc"\l”_Toc366924767#_Toc366924767”3.2總體設計與模塊的劃分 PAGEREF_Toc366924767\h11HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924768#_Toc366924768"3.3建立實驗設備信息結構體?PAGEREF_Toc366924768\h12HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l”_Toc366924769#_Toc366924769"3.4系統(tǒng)功能模塊與設計?PAGEREF_Toc366924769\h12HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924770#_Toc366924770”4、程序代碼設計?PAGEREF_Toc366924770\h13HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924771#_Toc366924771"4.1設計目標 PAGEREF_Toc366924771\h13HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc”\l"_Toc366924772#_Toc366924772"4.2設計思想?PAGEREF_Toc366924772\h13HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc"\l"_Toc366924773#_Toc366924773"4。3系統(tǒng)完成功能及功能框圖 PAGEREF_Toc366924773\h14HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126。doc"\l"_Toc366924774#_Toc366924774”4。4程序運行主界面?PAGEREF_Toc366924774\h14HYPERLINK”file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l"_Toc366924775#_Toc366924775"4。5核心算法:?66924775\h14HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126。doc”\l"_Toc366924776#_Toc366924776”4。5.1輸入設備記錄?PAGEREF_Toc366924776\h14HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126。doc"\l"_Toc366924777#_Toc366924777"4.5.2查看全部設備信息?PAGEREF_Toc366924777\h15HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc"\l”_Toc366924778#_Toc366924778"4。5。3編輯設備報廢與破損記錄?PAGEREF_Toc366924778\h16HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126。doc”\l"_Toc366924779#_Toc366924779"4。5.4按編號查詢?PAGEREF_Toc366924779\h18HYPERLINK"file:///C:\\Users\\lenovo\\AppDat(yī)a\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l”_Toc366924780#_Toc366924780"4.5。5設備分類統(tǒng)計?PAGEREF_Toc366924780\h19\l”_Toc366924781#_Toc366924781”5、C程序設計結論:?PAGEREF_Toc366924781\h20HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc"\l”_Toc366924782#_Toc366924782"5.1存在問題:?PAGEREF_Toc366924782\h20HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126。doc"5。3學習總結:?PAGEREF_Toc366924784\h20HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc”\l”_Toc366924785#_Toc366924785"6、后記?PAGEREF_Toc366924785\h20HYPERLINK”file:///C:\\Users\\lenovo\\AppDat(yī)a\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l”_Toc366924786#_Toc366924786"7、參考文獻?PAGEREF_Toc366924786\h21HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc"\l”_Toc366924787#_Toc366924787"8、附錄?PAGEREF_Toc366924787\h21HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00。825\\李威%20%2012311126.doc”\l"_Toc366924788#_Toc366924788"8.1系統(tǒng)公共數(shù)據(jù)結構如下: PAGEREF_Toc366924788\h21HYPERLINK"file:///C:\\Users\\lenovo\\AppData\\Local\\Temp\\Rar$DI00.825\\李威%20%2012311126.doc”\l"_Toc366924789#_Toc366924789”8.2源程序:?PAGEREF_Toc366924789\h211、設計任務書1。1課程設計題目:實驗設備管理系統(tǒng)1.2課程設計要求:實驗設備信息包括:設備編號,設備種類(如:微機、打印機、掃描儀等等),設備名稱,設備價格,設備購入日期,是否報廢,報廢日期等。主要功能:1、能夠完成對設備的錄入和修改2、對設備進行分類統(tǒng)計3、設備的破損耗費和遺損處理4、設備的查詢要求:使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作1.3課程設計目的:學校的規(guī)模不斷擴大,實驗室設備數(shù)量急劇增加,有關實驗室設備的各個信息也成倍增加.面對浩大的信息量,需要有專門的實驗室設備管理系統(tǒng)來提高工作的效率。本系統(tǒng)為實驗室設備管理信息系統(tǒng),通過這樣的系統(tǒng),可以做到信息的規(guī)范管理,快速查詢實驗室設備的就業(yè)信息。其開發(fā)主要包括數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。其次通過設計主要使同學有一個獨立編寫程序的過程,對理論學習及動手能力都有一個很大的提高,進一步培育同學喜愛專業(yè)的思想,同時對本專業(yè)綜合素養(yǎng)的提高起一個樂觀的推動作用。1。4課程設計原理:總體設計的基本目的就是回答“系統(tǒng)應該如何實現(xiàn)?"這個問題。因此總體設計又稱為概要設計或初步設計.通過這個階段的工作將劃分出組成系統(tǒng)的物理元素—程序、文件、數(shù)據(jù)庫、人工過程和文檔等等,但是每個物理元素仍然處于黑盒子級,這些黑盒子里的簡略內(nèi)容將在以后仔細設計??傮w設計階段的另一項重要任務是設計軟件的結構,也就是要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互之間的關系.總體設計工程通常有兩個想法階段組成:系統(tǒng)設計,確定系統(tǒng)的簡略實現(xiàn)方案;結構設計確實軟件結構,也就是要確定系統(tǒng)中每個程序擁有哪些模塊組成的,以及這些模塊之間的關系。在簡略設計之前進行總體設計可以站在全局的高度上,花較少的成本,從中選出最佳方案和最合理的軟件結構,從而用較低的成本開發(fā)出高質(zhì)量的軟件系統(tǒng)。1.5課程程序涉及的知識點:1、函數(shù)的調(diào)用2、結構體類型3、For循環(huán)語句4、數(shù)組的嫻熟運用5、結構體的靈敏運用6、文件的打開和關閉7、字符串的比較和復制2、C語言程序需求分析2。1技術可行性一個完備的實驗室設備管理信息系統(tǒng)具有以下優(yōu)越性:便利校領導查詢實驗室設備的使用情況,節(jié)省時間,可以提高系統(tǒng)的工作效率和精準率。為了適應新形勢的進展,我進行了這一系統(tǒng)的初步設計工作,也可以說是做一個初步的探究,盼望它能夠在查詢實驗室設備信息時發(fā)揮高效、便捷的作用,把系統(tǒng)管理員從繁重的工作中解脫出來!該實驗室設備管理信息系統(tǒng)是以ACCESS數(shù)據(jù)庫為后臺核心應用、以服務為目的信息平臺,對資源進行科學的加工整序和管理維護,為實驗室設備信息供應管理.2.2經(jīng)濟可行性經(jīng)濟可行性主要依據(jù)是成本/效益分析,該系統(tǒng)的目標是以最低的成本,在最短的期限內(nèi)開發(fā)出實驗室設備管理信息系統(tǒng).系統(tǒng)能削減很多不必要的資源,不用象以前那樣用冗余的紙張式的管理。大大節(jié)省了學校能源。并且還提高了實驗室設備信息管理的精確度.便利快速的操作,可削減實驗室設備信息管理的漏洞,又削減因工作的冗余消滅的錯誤,并且操作格外簡潔,可削減很多不很必要的人員,這無論從物質(zhì)上海是工作人員的工資上都為學校節(jié)省了開支.為學校增加了財寶。目標系統(tǒng)開發(fā)需求比較低,加上具有成熟的軟硬件環(huán)境,所以在軟硬件的支出上比較低,在為使用者帶來便利的同時,也問哦系統(tǒng)的進一步推廣制造了條件.這帶來的經(jīng)濟回報將遠超過支出,并且最重要的是該軟件的開發(fā)可以使我們對系統(tǒng)的開發(fā)有全面的熟識。從經(jīng)濟角度考慮,此實驗室設備管理信息系統(tǒng)開發(fā)可行。2。3需求分析管理員可以對實驗室設備信息進行查詢及相關實驗室設備的使用情況查看。管理員可以依據(jù)本人用戶名和密碼登錄系統(tǒng).在信息系統(tǒng)中,后臺數(shù)據(jù)庫存儲的地位相當重要,數(shù)據(jù)庫的設計不但對數(shù)據(jù)的操作速度有影響,還直接關系到軟件系統(tǒng)的質(zhì)量和生存周期。本系統(tǒng)采納了SQL數(shù)據(jù)庫book,book庫中包括老師信息表、借用設備表、儀器表、用戶登陸表。系統(tǒng)首先必須維護實驗室中簡略資料的數(shù)據(jù)表,程序能對該表進行寫入和讀出數(shù)據(jù)的操作,相應的,該表還有記錄讀者的借用情況,系統(tǒng)通過該表推斷讀者是否滿意借用條件.系統(tǒng)還要管理員信息表,記錄管理員的資料,檢驗管理員的登陸,管理員的權限等。實驗室設備信息用文件存儲,供應文件的輸入輸出操作;要能夠完成設備的錄入和修改,需要供應設備添加和修改操作;實現(xiàn)對設備進行分類統(tǒng)計,需要供應排序操作;實現(xiàn)對設備查詢需要供應查找操作,設備的查詢可依據(jù)設備編號設備種類設備購入日期正常設備(未報廢的)等多種方式查詢;另外還要依據(jù)鍵盤式選擇菜單以實現(xiàn)功能選擇。2.4內(nèi)容摘要:實驗室設備管理系統(tǒng)是典型的設備信息管理系統(tǒng),要求能為學校實驗室管理供應信息化動態(tài)化的管理,便利實驗室設備管理工作,提高設備管理質(zhì)量和使用效率。而且系統(tǒng)應符合設備管理的有關規(guī)定,包括新設備的申請、購買確認、新設備信息錄入、舊設備維修和報廢及用戶管理等。能滿意日常工作的基本需要,并達到操作過程中的直觀、便利、有用、平安等有關要求.實驗室設備管理系統(tǒng)是一個典型的信息管理系統(tǒng),采納面對對象的分析方法,給出系統(tǒng)的基本結構?設計特色?設計模型及實現(xiàn)途徑,并且對系統(tǒng)的開發(fā)技術進行討論?本系統(tǒng)是一個為適應對學校實驗室設備管理的迫切需求而設計開發(fā)的軟件系統(tǒng)。3、功能設計3.1應用程序功能簡略說明程序運行后進入管理系統(tǒng),顯示名目:添加記錄、修改記錄、顯示記錄、分類統(tǒng)計、查詢記錄.3。1.1添加記錄系統(tǒng)提示用戶在原有的基礎上錄入新的設備信息.流程圖如下:開始輸入開始輸入ID號,并將指針指向最末尾依次輸入設備機構體內(nèi)容,完成一條添加記錄提示一完成一條記錄添加結束3.1.2修改記錄系統(tǒng)要求用戶輸入要修改的設備ID號,這時系統(tǒng)會顯示設備的簡略信息,用戶只需該設備新的信息按要求輸入即可對信息進行修改。流程圖如下:開始開始判斷是否有資料可以統(tǒng)計分類沒有資料可以統(tǒng)計跳出輸入要統(tǒng)計的分類序號按輸入序號調(diào)用各功能模塊函數(shù)結束3。1.3顯示記錄無記錄退出,有記錄者按要求輸出。流程圖如下:開始沒有記錄可以顯示,跳出有記錄者按要求輸出結束開始沒有記錄可以顯示,跳出有記錄者按要求輸出結束3.1。4統(tǒng)計分類若有資料可以統(tǒng)計,則按要求分類統(tǒng)計輸出。流程圖如下:開始開始判斷是否有資料可以統(tǒng)計分類沒有資料可以統(tǒng)計跳出輸入要統(tǒng)計的分類序號按輸入序號調(diào)用各功能模塊函數(shù)結束3.1.5查詢記錄若信息為空,則不能查詢。流程圖如下:開始開始判斷是否有資料為空資料為空跳出輸入要查詢的分類序號按輸入序號調(diào)用各功能模塊函數(shù)結束3.2總體設計與模塊的劃分

整個系統(tǒng)可設計為實驗設備信息輸入模塊實驗設備信息添加模塊實驗設備信息修改模塊實驗設備分類統(tǒng)計模塊和實驗設備查詢模塊.

實驗設備信息輸入模塊實驗設備信息輸入模塊實驗設備信息添加模塊實驗設備信息修改模塊實驗設備分內(nèi)統(tǒng)計模塊實驗設備查詢模塊功能選擇實驗設備管理系統(tǒng)設計開始主函數(shù)流程圖:開始顯示一系列功能選擇輸入i,判斷1顯示一系列功能選擇輸入i,判斷1,是否0到6I++據(jù)i值調(diào)用各功能模塊函數(shù)據(jù)i值調(diào)用各功能模塊函數(shù)結束結束3.3建立實驗設備信息結構體結構體成員包括設備編號設備種類設備名稱設備價格設備購入日期是否報廢報廢日期.3.4系統(tǒng)功能模塊與設計模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿意用戶的需求。采納模塊化原理可以使軟件結構清楚,不僅容易設計也容易閱讀和理解。由于程序錯誤常局限在有關的模塊及它們之間的接口中,所以模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的牢靠性。一個好的電子系統(tǒng)要有一些必要的模塊組成,若缺少了某些模塊那么這個系統(tǒng)就會有缺陷.4、程序代碼設計4.1設計目標通過設計主要使同學有一個獨立編寫程序的過程,對理論學習及動手能力都有一個很大的提高,進一步培育同學喜愛專業(yè)的思想,同時對本專業(yè)綜合素養(yǎng)的提高起一個樂觀的推動作用。4。2設計思想第一,應該具有自動初始化的功能。實際網(wǎng)絡中被管設備數(shù)量巨大,通常能達到百位量級,如果初始化時需要管理員手動輸入全部被管設備的基本信息,這是一個相當枯燥漫長的過程,會大大降低系統(tǒng)的有用性。其次,在長時間的運行過程中,系統(tǒng)數(shù)據(jù)要與實際設備配置保持全都.實際網(wǎng)絡中變化是常常發(fā)生的,包括網(wǎng)絡的拓撲、設備的配置等都會為了運行的需求而常常變化。那么,最好能讓系統(tǒng)中的數(shù)據(jù)能自動更新,而不需要每次轉(zhuǎn)變實際網(wǎng)絡配置后,還需要管理員手動更新。第三,操作簡潔直觀,不依靠于太多的專業(yè)知識。無論是信息的展現(xiàn),還是可以進行的操作,盼望都能以簡潔的頁面元素來表達,管理員通過簡潔的點擊、選擇等操作就能完成大部分管理任務.4.3系統(tǒng)完成功能及功能框圖為彌補手工管理設備信息造成的資源共享困難、管理手續(xù)繁瑣等問題,設備管理系統(tǒng)應能夠滿意設備信息共享的需求,便利快捷的得到所需要的信息,對實驗室的幫助很大。系統(tǒng)功能如圖所示,其主要功能包括:設備的錄入和修改、對設備進行分類統(tǒng)計、設備的破損耗費和遺損處理、設備的查詢。4。4程序運行主界面4.5核心算法:4.5.1輸入設備記錄voidadd_data(){structshebeist;intb;inti,j,k;while(1){ j=0;}printf("\n\n連續(xù)添加設備信息[1—yes0-no]:");scanf("%d”,&b);if(b==0)break;}save_dat(yī)a();}4.5.2查看全部設備信息voidview_data(){inti;printf("編號\t種類\t名稱\t價格\t購入日期\t報廢狀態(tài)(0-報廢,1—未報廢)\t破損狀態(tài)(0-破損,1-未破損)");printf("\n——---——————--—---—--—---———---—-—----—-—————-—-———------—--—-\n”);for(i=0;i<dd。count;i++){?printf("%s\t%s\t%s\t%。2f\t%s\t%d\t%d\n”,dd.she[i].no,dd。she[i].kind,dd。she[i]。name,dd。she[i].price,dd。she[i]。time,dd.she[i].bao,dd.she[i]。po);if(dd.she[i].bao==0)printf("該設備報廢日期:%s\t",dd.she[i].time1);if(dd.she[i]。po==0)printf(”該設備破損花費:%。2f\t",dd.she[i]。price1);if(dd。she[i]。bao==0||dd。she[i].po==0)printf("該設備處理方式為:%s\n”,dd。she[i].way);}}4.5。3編輯設備報廢與破損記錄voidedit_dat(yī)a(){??printf(”\n名稱:%s,編號:%s,種類:%s,價格:%。2f,購入日期:%s”,dd.she[k]。name,dd.she[k]。no,dd.she[k].kind,dd.she[k].price,dd。she[k].time);printf("\n破損耗費:");scanf("%f",&price1);dd.she[k].price1=price1;} ?}4。5。4按編號查詢voidquery_dat(yī)a_no(){?inti,k;?charno[5];?printf(”\n請輸入要查詢設備的編號:");?scanf(”%s”,no);?k=-1;??printf(”\n\n沒有找到該設備(編號—%s)!”,no);?}}4.5.5設備分類統(tǒng)計voidcount_data(){?charkind[10];?inti,s=0;?printf("請輸入要查詢的設備種類:");?scanf("%s",kind);?for(i=0;i〈dd.count;i++)?if(strcmp(dd。she[i]。kind,kind)==0) s++; printf("統(tǒng)計結果:%s種類的設備有%d件。",kind,s);}5、C程序設計結論:5.1存在問題:本程序的功能不是很完善,只能完成最基礎的設備的錄入和修改,不能輸入過多設備的存儲和查詢,只能分類統(tǒng)計出相應類型的數(shù)量,不能簡略分類統(tǒng)計.5.2特點的體現(xiàn):本C語言程序主要使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作,再結合函數(shù)、數(shù)組等基本程序設計編寫而成.可以完成最基礎的設備的錄入和修改,對設備進行分類統(tǒng)計,設備的破損耗費和遺損處理,以及依據(jù)設備類型和設備編號的查詢.能夠基本滿意管理設備工作人員的需求。5.3學習總結:此程序設計讓我很好的掌握了C語言的一些知識,但也反映了一些不足之處,而且本程序的功能不是很完善,隨著以后的學習,我會更好的去探究更完善的更有用的管理系統(tǒng)。6、后記通過“實驗設備管理系統(tǒng)”設計,增加了我學習軟件技術的愛好,雖然還不明確軟件技術包含的簡略內(nèi)容,但從C語言這門課程開頭,已發(fā)現(xiàn)程序設計的樂趣,在學習C語言的過程中也學到了很多計算機應用基礎知識,對計算機的機體也有了一個大體的了解。在簡略操作中對這學期所學的C語言的理論知識得到鞏固,在實際操作中也發(fā)現(xiàn)了自己的不足之處,在以后的上機中應格外注意,同時也體會到了C語言具有的語句簡潔,使用靈敏,執(zhí)行效率高等的特點.通過實際操作,學會C語言程序編程的基本步驟、基本方法,開發(fā)了自己的規(guī)律思維能力,培育了分析問題、解決問題的能力。7、參考文獻【1】?!禖程序設計》(第四版),譚浩強著【2】?!禖程序設計(第四版)學習輔導》譚浩強編著8、附錄8.1系統(tǒng)公共數(shù)據(jù)結構如下:#difineM300\\表示可錄入設備的最大數(shù)量structshebei\\定義一個名為shebei的結構體,這個結構體定義了設備的基本信息charno\\設備的編號charname\\設備的名稱charkind\\設備的種類chartime\\購買日期chartime1\\報廢日期charway\\處理方式floatprice\\設備的價格float(yī)price1\\破損花費intbao\\是否報廢intpo\\是否破損8。2源程序:#include”stdio.h”#include”string.h"#defineMAX20structshebei{charno[10];//編號charkind[10];//設備種類charname[10];//設備名稱floatprice;//價格chartime[10];//日期intbao;//是否報廢chartime1[10];//報廢日期intpo;//是否破損floatprice1;//破損花費charway[10];//處理方式}she;structdata{intcount;//當前設備數(shù)組中設備的個數(shù)structshebeishe[MAX];//設備數(shù)組}dd;voidsave_data(){FILE*fp;inti;if((fp=fopen("d:\\dada.dat","wb”))==NULL)?{printf(”\ncannotopenfile\n"); return;?}for(i=0;i<dd。count;i++)if(fwrite(&dd。she[i],sizeof(structshebei),1,fp)!=1)printf("filewriteerror\n");fclose(fp);}voidread_data(){ FILE*fp;?inti,k;?structshebeist;?k=0;?if(access("d:\\dada.dat",0)==-1)?//如果文件不存在?{??fp=fopen("d:\\dada。dat","wb”); ?fwrite(&k,sizeof(int),1,fp);??fclose(fp);? }?fp=fopen(”d:\\dada.dat(yī)",”rb");?fread(&k,sizeof(int),1,fp); dd。count=k; for(i=0;i<k;i++)?{??fread(&st,sizeof(structshebei),1,fp);strcpy(dd.she[i].name,st。name);strcpy(dd.she[i].no,st.no);strcpy(dd.she[i].kind,st.kind);dd.she[i]。price=st.price;strcpy(dd。she[i].time,st.time);dd。she[i].bao=st。bao;dd.she[i].po=st.po;strcpy(dd。she[i].time1,st.time1);strcpy(dd。she[i].way,st.way);dd.she[i].price1=st。price1;} fclose(fp);}voidview_data(){inti;printf("編號\t種類\t名稱\t價格\t購入日期\t報廢狀態(tài)(0-報廢,1—未報廢)\t破損狀態(tài)(0-破損,1-未破損)");printf("\n-—--—---—-—-————-—————-—————-----——--——--—---—---—-———--—-—--\n”);for(i=0;i<dd.count;i++){ printf("%s\t%s\t%s\t%。2f\t%s\t%d\t%d\n",dd。she[i].no,dd.she[i]。kind,dd.she[i]。name,dd.she[i]。price,dd。she[i]。time,dd.she[i].bao,dd.she[i].po);if(dd.she[i]。bao==0)printf(”該設備報廢日期:%s\t",dd。she[i].time1);if(dd。she[i]。po==0)printf(”該設備破損花費:%.2f\t",dd.she[i]。price1);if(dd.she[i]。bao==0||dd.she[i].po==0)printf(”該設備處理方式為:%s\n",dd.she[i].way);}}voidadd_data(){structshebeist;intb;inti,j,k;while(1){?j=0;printf("\n請輸入設備信息:\n");printf(”編號\t種類\t名稱\t價格\t購入日期\t");printf(”\n-——-————-—--—-———-—-—--—--——-—-—-—---——----—--—--—-—-—-----\n");scanf("%s%s%s%f%s”,st.no,st.kind,st.name,&st.price,st.time);for(i=0;i<dd.count;i++)if(strcmp(dd.she[i].no,st.no)==0){j=1;?printf("輸入的設備編號有重復,請重新輸入!");?break;}if(j==1)continue;if(j==0){k=dd.count;strcpy(dd.she[k].name,s);strcpy(dd.she[k].no,st。no);strcpy(dd.she[k].kind,st.kind);dd.she[k].price=st.price;strcpy(dd.she[k].time,st.time);dd.she[k].bao=1;dd。she[k].po=1;dd.count++;}printf(”\n\n連續(xù)添加設備信息[1-yes0—no]:");scanf("%d",&b);if(b==0)break;}save_data();}voidedit_data(){ inti,k; charno[10],time1[10],way[10];intbao,po;float(yī)price1;?printf(”\n請輸入要編輯設備的編號:”);?scanf("%s”,no); k=-1;?for(i=0;i<dd。count;i++)?{??if(strcmp(dd。she[i].no,no)==0) {?? k=i;? break;??}?}?if(k==—1)?{??printf("\n\n沒有找到該設備(編號—%s)!",no);?}?else {? printf(”\n名稱:%s,編號:%s,種類:%s,價格:%。2f,購入日期:%s”,dd.she[k].name,dd。she[k].no,dd.she[k].kind,dd。she[k].price,dd.she[k].time);??printf("\n設備報廢與否記錄:”);??printf("\n設備狀態(tài)(0-報廢,1—未報廢):");scanf("%d",&bao);dd。she[k].bao=bao;if(bao==0){printf("\n報廢日期:”);scanf("%s",time1);strcpy(dd.she[k]。time1,time1);}if(bao==1){printf(”\n設備破損狀態(tài):(0—破損,1-未破損)");scanf("%d",&po);dd.she[k].po=po;if(po==0){printf("\n破損耗費:”);scanf(”%f”,&price1);dd.she[k].price1=price1;}

溫馨提示

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

評論

0/150

提交評論