C語言試驗室設備管理系統_第1頁
C語言試驗室設備管理系統_第2頁
C語言試驗室設備管理系統_第3頁
C語言試驗室設備管理系統_第4頁
C語言試驗室設備管理系統_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、C 語言程序設計報告1課程設計題目:實驗室設備治理里系統實驗設備信息包括:設備編號、設備種類(如:微機打印機掃描儀等等)、設備名 稱、設備價格、設備購入日期、是否報廢、報廢日期等.試設計一實驗設備信息治理 系統,使之能提供以下功能:(1)能夠完成對設備的錄入和修改(2)對設備進行分類統計(3)設備的查詢2需求分析實驗室設備信息用文件存儲,提供文件的輸入輸出操作;要能夠完成設備的錄入和修改,需要提供設備添加和修改操作;實現對設備進行分類統計,需要提供排序操作;實現對設備查詢需要提供查找操作,設備的查詢可根據設備編號設備種類設備購入日 期正常設備(未報廢的)等多種方式查詢;另外還要根據鍵盤式選擇菜

2、單以實現功能選 擇.3總體設計與模塊的劃分整個系統可設計為實驗設備信息輸入模塊實驗設備信息添加模塊實驗設備信息修改模 塊實驗設備分類統計模塊和實驗設備查詢模塊.結束4建立實驗設備信息結構體結構體成員包括設備編號設備名稱部門編號部門名稱設備價格設備購置時間是否報 廢報廢日期.5應用程序功能詳細說明程序運行后進入治理系統,顯示目錄:錄入設備信息,修改設備信息,查詢設備 信息,統計設備信息,報廢設備信息,退出錄入設備信息系統提示用戶在原有的根底上錄入新的設備信息.流程圖如下:(D 修改記錄系統要求用戶輸入要修改的設備編號,這時系統會顯示設備的具體信 息,用戶只需該設備新的信息按要求輸入即可對信息進行

3、修改.流程圖如下:(2)(3)顯示記錄無記錄退出,有記錄者按要求輸出.流程圖如下:(4) 查詢記錄假設信息為空,那么不能查詢.流程圖如下:(6)結束語通過本次c語言的程序設計,我不僅提升穩固了c語言的根底,也初學習了編寫一個實用程序的流程,提升了動手操作水平,也提升了對編程的興趣.我相信經過努力后, 我的編程水平一定會得到提升.源程序代碼清單:voidmain() ( Node*equip;FILE*fp;intflag;Node*p,*q;printf(tttt 設備治理系統 n);equip=(Node*)malloc(sizeof(Node);equip-next=NULL;p=equi

4、p;fp=fopen(設備治理系統,wb+);q=(Node*)malloc(sizeof(Node);if(fread(q,sizeof(Node),1,fp)/* 將文件的內容放入接點中*/( q-next=NULL;p-next=q;p=q;/*將該接點掛入鏈表中*/ fclose(fp);/* 關閉文件 */while(1) (printf(I*目錄*);printf(n1添加記錄n);printf(n2修改記錄n);printf(n3顯示記錄n);printf(n4統計分類n);printf( n5查詢t己錄 n);printf(n0*-EXIT-*n);printf(請輸入你要操作

5、的序號:);scanf(%d,&flag);switch(flag) (case0:printf(n提示:已經退出系統,ByeBye!n);break;case1:Add(equip);break;/* 增加記錄 */case2:Modify(equip);break;/* 修改記錄 */case3:Disp(equip);break;/* 顯示記錄信息 */case4:Tongji(equip);break;/* 統計記錄 */case5:chaxun(equip);break;/* 查詢記錄 */default:printf(n 提示:輸入錯誤!n);break;)Structshebei

6、 charID10;charname15;charkind15;charover15;charyesno10;chartime10; charprice10;)voidAdd(Node*equip)/* 添加記錄 */Node*p,*r,*s;charid10;/*先用于輸入ID,也用于判斷是否跳出循環*/r=equip;s=equip-next;/*使s為第一個有用的結點 */while(r-next!=NULL)/*這個循環的彳用是使 r為最后一個有用的結點*/r=r-next;/*將指針置于最末尾 */while(1)printf( 提示:輸入0那么返回主菜單!n);printf(n請你

7、輸入設備ID號:);scanf(%s,id);if(strcmp(id,0)=0)break;p=(Node*)malloc(sizeof(Node);/* 申請空間 */strcpy(p-data.ID,id);printf(n請輸入設備名稱:);scanf(%s,);printf(n請輸入設備種類:); scanf(%s,p-data.kind); printf(n請輸入報廢日期:); scanf(%s,&p-data.over); printf(n請輸入設備是否報廢:); scanf(%s,&p-data.yesno); printf(n請輸入設備購置時間:); s

8、canf(%s,&p-data.time); printf(n請輸入設備價格:); scanf(%s,&p-data.price); printf( 提示:已經完成一條記錄的添加. n); p-next=NULL;r-next=p;/*這一步是必需的,將p與先前的鏈表連起來構成一條新鏈表*/r=p;/*也是必需的.將r又重設為新鏈的最后一個有用結點*/ voidModify(Node*equip)/* 修改 */ Node*p; charfind20; if(!equip-next) printf(n 提示:沒有資料可以修改!n); return; printf(請輸入要修改的設備ID號:);

9、scanf(%s,find); p=equip-next; while(p!=NULL) if(strcmp(p-data.ID,find)=0)/*如果找到的話返回的是符合要求*/break; p=p-next; if(p)/* 假設找到*/,intx; while(1) printf(完成修改請輸入0否那么輸入任意數再進行修改:);scanf(%d,&x); if(x=0) break; printf(請輸入新設備號(原來是%s):,p-data.ID); scanf(%s,p-data.ID);printf(請輸入新設備名稱(原來是%s):,);scanf(%s,p

10、-);printf(請輸入新設備設備種類名稱(原來是%s):,p-data.kind);scanf(%s,p-data.kind);printf(請輸入新設備報廢日期名稱(原來是%s):,p-data.over);scanf(%s,p-data.over);printf(請輸入新設備是否報廢(原來是s):,p-data.yesno);scanf(%s,p-data.yesno);printf(請輸入新設備購置時間(原來是%s):,p-data.kind);scanf(%s,p-data.time);printf(請輸入新設備價格(原來是%s):,p-data.price);s

11、canf(%s,p-data.price);printf(n 提示:該項記錄資料已經成功修改!n); elseprintf(n 提示:你要修改的信息不存在!n); voidDisp(Node*equip)/* 輸出記錄 */ Node*p; p=equip-next; if(!p) printf(n 提示:沒有記錄可以顯示!n);return; printf(tttt 顯示結果 n);printf(設備號設備名稱設備種類報廢日期是否報廢購置時間價格n);while(p) printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,p-data.

12、name,p-data.ki nd,p-data.over,p-data.yesno,p-data.time,p-data.price);p=p-next;voidTongji(Node*equip)/* 統計 */Node*p;intsel;intflag2=0,ha=0;charfind20;p=equip-next;if(!equip-next)/* 假設鏈表為空 */ printf(n 提示:沒有資料可以統計分類!n);return;printf( 提示:n=0退出n=1按設備號統計n=2按設備名稱統計n);scanf(%d,&sel);if(sel=1)printf(n輸入你要統計分

13、類的設備號:);scanf(%s,find);while(p)if(strcmp(p-data.ID,find)=0)flag2+;if(flag2=1&ha!=flag2)printf(設備號設備名稱設備種類報廢日期是否報廢購置時間價格n);printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price);ha=flag2;elseif(flag2ha)printf(n%-10s%-10s%-10s%

14、-10s%-10s%-10s%-10sn,p-data.ID,,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price);ha=flag2;p=p-next;if(flag2)printf(n* 按設備號 %s 統計分類的有 %d 條記 錄:*nn,find,flag2);elseprintf(n 按設備號s統計的結果為 0個nn,find);elseif(sel=2)printf(n輸入你要統計分類的設備名稱:);scanf(%s,find);while(p)if(strcmp(,

15、find)=0)flag2+;if(flag2=1&ha!=flag2)printf(設備號設備名稱設備種類報廢日期是否報廢購置時間價格n);printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price);ha=flag2;elseif(flag2ha)printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,p-data .name,p-data.

16、kind,p-data.over,p-data.yesno,p-data.time,p-data.price);ha=flag2; p=p-next; if(flag2)printf(n*按設備名稱%s 統計的有d 條記錄:*nn,find,flag2);elseprintf(n按設備名稱%s統計分類的結果為 elseif(sel=0)return;(6)查詢模塊voidchaxun(Node*equip)/* 查詢 */ Node*p;intsel;intflag2=0,ha=0;charfind20;p=equip-next;if(!equip-next)/* 假設鏈表為空 */ prin

17、tf(n 提示:資料為空!n);return;按設備號查詢n=2按設備名稱查詢printf( 提示:n=0 退出 n=1 n);scanf(%d,&sel);if(sel=1)printf(n輸入你要查詢的設備號:);scanf(%s,find);while(p) if(strcmp(p-data.ID,find)=0) flag2+; if(flag2=1&ha!=flag2)n);printf(設備號設備名稱設備種類報廢日期是否報廢購置時間價格 printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,,p-data

18、.ki nd,p-data.over,p-data.yesno,p-data.time,p-data.price);ha=flag2;elseif(flag2ha)printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price);ha=flag2;p=p-next;if(flag2)printf(n錄:*按 設備 號 %s 查 詢 有d條 記*nn,find,flag2);elseprintf(n 按設備號s統計的結果為 0個nn,find);elseif(sel=2)printf(n輸入你要查詢的設備名稱:);scanf(%s,find);while(p)if(strcmp(,find)=0)flag2+;if(flag2=1&ha!=flag2)printf(設備號設備名稱設備種類報廢日期是否報廢購置時間價格n);printf(n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,p-data.ID,,p-data.kind,p-data.over,p-data.yesno,p-data.tim

溫馨提示

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

評論

0/150

提交評論