版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計報告1課程設(shè)計題目:實驗室設(shè)備管理里系統(tǒng)實驗設(shè)備信息包括:設(shè)備編號、設(shè)備種類(如:微機(jī)打印機(jī)掃描儀等等)、設(shè)備名稱、設(shè)備價格、設(shè)備購入日期、是否報廢、報廢日期等。試設(shè)計一實驗設(shè)備信息管理系 統(tǒng),使之能提供以下功能:(1)能夠完成對設(shè)備的錄入和修改(2)對設(shè)備進(jìn)行分類統(tǒng)計(3)設(shè)備的查詢2需求分析實驗室設(shè)備信息用文件存儲,提供文件的輸入輸出操作;要能夠完成設(shè)備的錄入 和修改,需要提供設(shè)備添加和修改操作;實現(xiàn)對設(shè)備進(jìn)行分類統(tǒng)計,需要提供排序操作; 實現(xiàn)對設(shè)備查詢需要提供查找操作,設(shè)備的查詢可根據(jù)設(shè)備編號設(shè)備種類設(shè)備購入日期 正常設(shè)備(未報廢的)等多種方式查詢;另外還要根據(jù)鍵盤式選擇菜
2、單以實現(xiàn)功能選擇。3總體設(shè)計與模塊的劃分整個系統(tǒng)可設(shè)計為實驗設(shè)備信息輸入模塊實驗設(shè)備信息添加模塊實驗設(shè)備信息修 改模塊實驗設(shè)備分類統(tǒng)計模塊和實驗設(shè)備查詢模塊。設(shè)備甯理系統(tǒng)設(shè)入設(shè)備信改設(shè)備信詢設(shè)備信計設(shè)備信廢 設(shè) 備 信主函數(shù)流程圖:AIN+甲n-調(diào)用.功能橫, 結(jié),4建立實驗設(shè)備信息結(jié)構(gòu)體結(jié)構(gòu)體成員包括設(shè)備編號設(shè)備名稱部門編號部門名稱設(shè)備價格設(shè)備購買時間是否 報廢報廢日期。5應(yīng)用程序功能詳細(xì)說明程序運行后進(jìn)入管理系統(tǒng),顯示目錄:錄入設(shè)備信息,修改設(shè)備信息,查詢設(shè)備 信息,統(tǒng)計設(shè)備信息,報廢設(shè)備信息,退出錄入設(shè)備信息系統(tǒng)提示用戶在原有的基礎(chǔ)上錄入新的設(shè)備信息。流程圖如下:(1)修改記錄系統(tǒng)要求用
3、戶輸入要修改的設(shè)備編號, 這時系統(tǒng)會顯示設(shè)備 的具體信息,用戶只需該設(shè)備新的信息按要求輸入即可對信息進(jìn)行修改。流程圖 如下:(2)顯示記錄無記錄退出,有記錄者按要求輸出。流程圖如下:開沒有記錄可以顯 有記錄者按要求(3)統(tǒng)計小類若有確Ur以統(tǒng)計,則按要求分類統(tǒng)計輸出。流程圖如下:(4)查詢記錄若信息為空,則不能查詢。流程圖如下:(6)結(jié)束語通過本次c語言的程序設(shè)計,我不僅提高鞏固了 c語言的基礎(chǔ),也初學(xué)習(xí)了編寫 一個實用程序的流程,提高了動手操作能力,也提高了對編程的興趣。我相信經(jīng)過努力 后,我的編程能力一定會得到提高。源程序代碼清單:voidmain()(Node*equip;FILE*fp
4、;intflag;Node*p,*q;printf("tttt 設(shè)備管理系統(tǒng) n");equip=(Node*)malloc(sizeof(Node);equip->next=NULL;p=equip;fp=fopen("設(shè)備管理系統(tǒng)","wb+");將文件的內(nèi)容放入接點中*/q=(Node*)malloc(sizeof(Node);if(fread(q,sizeof(Node),1,fp)/*(q->next=NULL;p->next=q;p=q;/*將該接點掛入鏈表中*/fclose(fp);/* 關(guān)閉文件 */
5、while(1)目錄 *mm、).;(printf("*printf("n1添加記錄 n");printf("n2修改記錄 n");printf("n3顯示記錄 n");printf("n4統(tǒng)計分類 n");printf( "n5 查詢t己錄 n" );printf("n0*-EXIT-*n");printf("請輸入你要操作的序號:");scanf("%d",&flag);switch(flag)提示:已經(jīng)退出系統(tǒng),
6、ByeBye!n");break增加記錄*/修改記錄*/顯示記錄信息*/統(tǒng)計記錄*/查詢記錄*/提示:輸入錯誤!n");break;case0:printf("n>>>>>>>>>> case1:Add(equip);break;/* case2:Modify(equip);break;/* case3:Disp(equip);break;/* case4:Tongji(equip);break;/* case5:chaxun(equip);break;/* default:printf("n&
7、gt;>>>>>>>>> StructshebeicharID10;charname15;charkind15;charover15;charyesno10;chart ime10;charprice10;voidAdd(Node*equip)/* 添加記錄 */Node*p,*r,*s;charid10;/* 先用于輸入ID,也用于判斷是否跳出循環(huán)*/r=equip;s=equip->next;/* 使s為第一個有用的結(jié)點*/while(r->next!=NULL)/*這個循環(huán)的作用是使r為最后一個有用的結(jié)點*/r=r->
8、;next;/*將指針置于最末尾*/while(1) ( printf(">>>>>>>>>> 提示:輸入0則返回主菜單!n"); printf("n 請你輸入設(shè)備ID號:");彳scanf("%s",id);”if(strcmp(id,"0")=0)break; p=(Node*)malloc(sizeof(Node);/* 申請空間 */ strcpy(p->data.ID,id); printf("n請輸入設(shè)備名稱:");s
9、canf("%s",p->);printf("n請輸入設(shè)備種類:");scanf("%s”,p->data.kind);printf("n請輸入報廢日期:");scanf("%s”,&p->data.over);printf("n請輸入設(shè)備是否報廢:");scanf("%s",&p->data.yesno);printf("n請輸入設(shè)備購買時間:");scanf("%s",&am
10、p;p->data.time);printf("n請輸入設(shè)備價格:");scanf("%s”,&p->data.price);printf(">>>>>>>>>>提示:已經(jīng)完成一條記錄的添加。n");p->next=NULL;r->next=p;/*這一步是必需的,將p與先前的鏈表連起來構(gòu)成一條新鏈表*/ r=p;/*也是必'需的.將r又重設(shè)為新鏈的最后一個有用結(jié)點*/)voidModify(Node*equip)/* 修改*/(Node*p;c
11、harfind20;if(!equip->next)(printf("n>>>>>>>>>> 提示:沒有資料可以修改!n");return;)printf("請輸入要修改的設(shè)備ID號:");scanf("%s",find);" p=equip->next;while(p!=NULL)(if(strcmp(p->data.ID,find)=0)/*如果找到的話返回的是符合要求*/break; p=p->next; ) if(p)/*若找到*/野
12、(,intx;while(1)(printf("完成修改請輸入0否則輸入任意數(shù)再進(jìn)行修改:”); scanf("%d",&x);if(x=0)break;printf("請輸入新設(shè)備號(原來是$):"戶-"212.1口);scanf("%s",p->data.ID);printf("請輸入新設(shè)備名稱(原來是s):",p->);scanf("%s",p->);printf("請輸入新設(shè)備設(shè)備種類名稱(原來是
13、%s):",p->data.kind);scanf("%s",p->data.kind);printf("請輸入新設(shè)備報廢日期名稱(原來是%s):",p->data.over);scanf("%s",p->data.over);printf("請輸入新設(shè)備是否報廢(原來是s):",p->data.yesno);scanf("%s",p->data.yesno);printf("請輸入新設(shè)備購買時間(原來是%s):",p->d
14、ata.kind);scanf("%s",p->data.time);printf("請輸入新設(shè)備價格(原來是%s):",p->data.price);scanf("%s",p->data.price);printf("n>>>>>>>>>> 提示:該項記錄資料已經(jīng)成功修改!n");elseprintf("n>>>>>>>>>>提示:你要修改的信息不存在!n"
15、);voidDisp(Node*equip)/* 輸出記錄 */Node*p;p=equip->next;if(!p)printf("n>>>>>>>>>> 提示:沒有記錄可以顯示!n");圖書館管理系統(tǒng)return;)printf("tttt顯示結(jié)果 n");printf("設(shè)備號碼設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n");while(p) ( printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",
16、p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);p=p->next;) ) voidTongji(Node*equip)/*統(tǒng)計*/(Node*p;intsel;intflag2=0,ha=0;charfind20;p=equip->next;if(!equip->next)/*若鏈表為空 */( printf("n>>>>>>>>>&
17、gt; 提示:沒有資料可以統(tǒng)計分類!n"); return;)printf(">>>>>> 提示:n=>0退出n=>1按設(shè)備號統(tǒng)計n=>2按設(shè)備名稱統(tǒng) 計n");scanf("%d",&sel);if(sel=1) ( printf("n輸入你要統(tǒng)計分類的設(shè)備號:");scanf("%s",find);while(p)(if(strcmp(p->data.ID,find)=0)(flag2+;if(flag2=1&&ha!
18、=flag2)printf("設(shè)備號碼設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n");printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;elseif(flag2>ha)printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-
19、10sn",p->d ata.ID,p->,p->data.kind,p->data.over,p->data.yesno,p->data.time,p-> data.price);ha=flag2;p=p->next;if(flag2)printf("n*按設(shè)備 號 s 統(tǒng)計分 類的有 d條記錄:*吊仁力他力田2);elseprintf("n按設(shè)備號s統(tǒng)計的結(jié)果為0個nn",find);elseif(sel=2)printf("n輸入你要統(tǒng)計分類的設(shè)備名稱:");sc
20、anf("%s",find);while(p)(if(strcmp(p->,find)=0)(flag2+; if(flag2=1&&ha!=flag2)printf("設(shè)備號碼設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n");printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->da
21、ta.time,p->data.price);ha=flag2;elseif(flag2>ha)printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->d ata.ID,p->,p->data.kind,p->data.over,p->data.yesno,p->data.time,p-> data.price);ha=flag2;p=p->next;if(flag2)錄:printf("n*nn”,find,flag2);按設(shè)備名稱s統(tǒng)計的有
22、d條記elseprintf("n按設(shè)備名稱s統(tǒng)計分類白結(jié)果為0個nn",find);elseif(sel=0)return;(6)查詢模塊 voidchaxun(Node*equip)/* 查詢*/ ( Node*p;intsel;intflag2=0,ha=0;charfind20;p=equip->next;if(!equip->next)/*若鏈表為空 */(printf("n>>>>>>>>>> 提示:資料為空!n"); return;printf(">>
23、;>>>>> 提示:n=>0退出n=>1按設(shè)備號查詢n=>2按設(shè)備名 稱查詢n");scanf("%d”,&sel);if(sel=1) (printf("n輸入你要查詢的設(shè)備號:");scanf("%s",find);while(p) ( if(strcmp(p->data.ID,find)=0) ( flag2+;if(flag2=1&&ha!=flag2)printf("設(shè)備號碼設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n");p
24、rintf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;)elseif(flag2>ha)printf(''n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->d ata.ID,p->,p->data.kind,p->data.over,p->data.yesno,p->data.time,p-> data.price);ha=flag2;p=p->next;if(flag2)printf("n*按
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《行政職業(yè)能力測驗》2024年公務(wù)員考試阿克陶縣預(yù)測試卷含解析
- Unitech數(shù)據(jù)采集器PA690產(chǎn)品介紹
- 第16課 毛澤東開辟井岡山道路(解析版)
- 2024年體育個人工作總結(jié)
- 《特斯拉電動汽車》課件
- 新聞業(yè)的變革與挑戰(zhàn)
- 保險公司人事工作總結(jié)
- 《水利工程質(zhì)量管理》課件
- 2023-2024年項目部安全管理人員安全培訓(xùn)考試題及參考答案【A卷】
- 保護(hù)瀕危動物宣傳方案萬能2022
- (高清版)DZT 0268-2014 數(shù)字地質(zhì)數(shù)據(jù)質(zhì)量檢查與評價
- 泛微協(xié)同管理平臺(e-cology)產(chǎn)品白皮書2015-V1.0
- 車間生產(chǎn)中的節(jié)能減排與環(huán)境保護(hù)技術(shù)
- 內(nèi)蒙古自治區(qū)呼和浩特市2023-2024學(xué)年英語九上期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 通用勞務(wù)合同Word模板下載(多份)
- 第七講 磁電選
- 昆蟲的農(nóng)業(yè)和經(jīng)濟(jì)價值
- 天津市部分區(qū)2023-2024學(xué)年六年級上學(xué)期期末數(shù)學(xué)試卷
- 長期照護(hù)服務(wù)流程
- 精心打造東北大學(xué)近四年C語言理論考試試題及答案
- 《Power Bi應(yīng)用》課程標(biāo)準(zhǔn)
評論
0/150
提交評論