課程設(shè)計計算機與通信學(xué)院C程序設(shè)計實驗設(shè)備管理系統(tǒng)WORD檔_第1頁
課程設(shè)計計算機與通信學(xué)院C程序設(shè)計實驗設(shè)備管理系統(tǒng)WORD檔_第2頁
課程設(shè)計計算機與通信學(xué)院C程序設(shè)計實驗設(shè)備管理系統(tǒng)WORD檔_第3頁
課程設(shè)計計算機與通信學(xué)院C程序設(shè)計實驗設(shè)備管理系統(tǒng)WORD檔_第4頁
課程設(shè)計計算機與通信學(xué)院C程序設(shè)計實驗設(shè)備管理系統(tǒng)WORD檔_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、*實踐教學(xué)*xx理工大學(xué)計算機與通信學(xué)院2013年春季學(xué)期 C程序設(shè)計 課程設(shè)計題 目:實驗設(shè)備管理系統(tǒng)專業(yè)班級:通信4班 姓 名:學(xué) 號:指導(dǎo)教師:成 績:目錄目錄1中文摘要21.課程設(shè)計目的32.程序設(shè)計思路33.功能模塊圖44.主函數(shù)模塊流程45.詳細(xì)設(shè)計56.程序運行結(jié)果117.總結(jié)158.致謝199.附錄20實驗設(shè)備管理系統(tǒng)摘要實驗室設(shè)備管理系統(tǒng)是典型的設(shè)備信息管理系統(tǒng),要求能為學(xué)校實驗室管理提供信息化動態(tài)化的管理,方便實驗室設(shè)備管理工作,提高設(shè)備管理質(zhì)量和使用效率。而且系統(tǒng)應(yīng)符合設(shè)備管理的有關(guān)規(guī)定,包括新設(shè)備的申請,購買確認(rèn),新設(shè)備信息錄入,舊設(shè)備維修和報廢及用戶管理等。能滿足日常

2、工作的基本需要,并達(dá)到操作過程中的直觀,方便,實用,安全等有關(guān)要求。實驗室設(shè)備管理系統(tǒng)是一個典型的信息管理系統(tǒng),采用面向?qū)ο蟮姆治龇椒?給出系統(tǒng)的基本結(jié)構(gòu)設(shè)計特色設(shè)計模型及實現(xiàn)途徑,并且對系統(tǒng)的開發(fā)技術(shù)進(jìn)行研究本系統(tǒng)是一個為適應(yīng)對學(xué)校實驗室設(shè)備管理的迫切需求而設(shè)計開發(fā)的軟件系統(tǒng)。關(guān)鍵詞:實驗室設(shè)備、管理系統(tǒng)、結(jié)構(gòu)體、文件、數(shù)組、函數(shù)1.題目要求實驗設(shè)備信息包括:設(shè)備編號,設(shè)備種類(如:微機、打印機、掃描儀等等),設(shè)備名稱,設(shè)備價格,設(shè)備購入日期,是否報廢,報廢日期等。2.需求分析實驗室設(shè)備信息用文件存儲,提供文件的輸入輸出操作;要能夠完成設(shè)備的錄入和修改,需要提供設(shè)備添加和修改操作;實現(xiàn)對設(shè)備

3、進(jìn)行分類統(tǒng)計,需要提供排序操作;實現(xiàn)對設(shè)備查詢需要提供查找操作,設(shè)備的查詢可根據(jù)設(shè)備編號設(shè)備種類設(shè)備購入日期正常設(shè)備(未報廢的)等多種方式查詢;另外還要根據(jù)鍵盤式選擇菜單以實現(xiàn)功能選擇。整個系統(tǒng)可設(shè)計為實驗設(shè)備信息輸入模塊實驗設(shè)備信息修改模塊實驗設(shè)備分類統(tǒng)計模塊實驗設(shè)備查詢模塊和實驗設(shè)備報廢信息模塊。建立實驗設(shè)備信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括設(shè)備編號,設(shè)備種類,設(shè)備名稱,設(shè)備價格,設(shè)備購入日期,是否報廢,報廢日期。3. 功能模塊圖主要功能:錄入設(shè)備信息、修改設(shè)備信息、查詢設(shè)備信息、按設(shè)備編號查詢、按設(shè)備名稱查詢、對設(shè)備按種類進(jìn)行分類統(tǒng)計、報廢設(shè)備登記、報廢設(shè)備統(tǒng)計。實驗報廢設(shè)備信息模塊實驗設(shè)備信息

4、輸入模塊實驗設(shè)備信息修改模塊實驗設(shè)備信息查詢模塊實驗設(shè)備分類統(tǒng)計模塊退出實驗設(shè)備管理系統(tǒng)圖1 實驗室設(shè)備管理系統(tǒng)設(shè)計4.主函數(shù)模塊流程 退出系統(tǒng)開始N密碼讀取數(shù)據(jù)Y主菜單 報 廢 統(tǒng) 計報 廢 統(tǒng) 計查 詢 信 息報 廢 登 記錄 入 信 息修改信息修 改 信 息 查 詢 信 息分 類 統(tǒng) 計選擇退 出 系 統(tǒng)查 詢 信 息報 廢 查 詢 報 廢 統(tǒng) 計 報 廢 登 記分 類 統(tǒng) 計修 改 信 息錄 入 信 息圖2實驗室設(shè)備管理系統(tǒng)主函數(shù)模塊流程圖5.詳細(xì)設(shè)計5.1聲明函數(shù)int menu();/菜單void lr();/錄入信息void xg();/修改void cx();/查詢void c

5、x_sbh();/設(shè)備號查詢void cx_mc();/設(shè)備名稱查詢void tj();/統(tǒng)計void bf();/報廢信息void bf_dj();/報廢登記void bf_tj();/報廢統(tǒng)計void choose(); 以上為本程序的函數(shù)聲明5.2菜單函數(shù)菜單函數(shù)用void choose()聲明,其中應(yīng)用了do.while(choice!=0); 循環(huán),在循環(huán)過程使用了 switch (choice)選擇。當(dāng)輸入0時,系統(tǒng)跳入到“提示:你已經(jīng)退出系統(tǒng)再見!”的輸出。break終止接下來的步驟。當(dāng)輸入1時,系統(tǒng)跳入到錄入的子函數(shù)中,break終止接下來的步驟。當(dāng)輸入2時,系統(tǒng)跳入到修改的子

6、函數(shù)中,break終止接下來的步驟。當(dāng)輸入3時,系統(tǒng)跳入到統(tǒng)計的子函數(shù)中,break終止接下來的步驟。當(dāng)輸入4時,系統(tǒng)跳入到報廢的子函數(shù)中,break終止接下來的步驟。當(dāng)輸入5時,系統(tǒng)輸出“提示:輸入錯誤!n”,break終止接下來的步驟。其中的數(shù)據(jù)輸入為int類型。void choose() int choice; choice=1; choice=menu(choice); do switch (choice) case 0: printf("n提示:你已經(jīng)退出系統(tǒng)ntt 再見!n"); break; case 1: lr(); break; case 2: xg();

7、 break; case 3: cx(); break; case 4: tj(); break; case 5: bf(); break; default: printf("提示:輸入錯誤!n"); break; while(choice!=0); int menu(int choice) printf("nnn"); printf("ttt-n"); printf("ttt+ 實驗設(shè)備管理系統(tǒng) |n"); printf("ttt-n"); printf("ttt+ 1-錄入設(shè)備信息

8、 |n"); printf("ttt+ 2-修改設(shè)備信息 |n"); printf("ttt+ 3-查詢設(shè)備信息 |n"); printf("ttt+ 4-統(tǒng)計設(shè)備信息 |n"); printf("ttt+ 5-報廢設(shè)備信息 |n"); printf("ttt+ 0-*-EXIT-* |n"); printf("ttt+*·*·*·*·*·*·*·*·*·*·|n")

9、; printf("ttt-n");printf("請輸入你要操作的序號:"); scanf("%d", &choice); return choice; 錯誤!未找到目錄項。5.3錄入函數(shù)錄入函數(shù)用void lr()聲明,用到while(1) 循環(huán),其中數(shù)字1是“true”的含義。如果IF判斷成立,則將進(jìn)行錄入。分別錄入設(shè)備ID號、設(shè)備名稱、設(shè)備種類、報廢日期、設(shè)備是否報廢,1.沒報廢,0.報廢、購買時間和設(shè)備價格等內(nèi)容。當(dāng)其中的一條記錄錄入完成后,系統(tǒng)會提示是否已經(jīng)完成一條記錄的添加。(注:其中的“t+;”不能丟,其在循環(huán)

10、中起累加的作用)其中的數(shù)據(jù)輸入為char類型。錄入函數(shù)還應(yīng)用了結(jié)構(gòu)體數(shù)組的知識如下:typedef struct shebei char id10; char name15; char kind15; char over15; int yesno; char time10; char price10; shebei;shebei sb200;其中的shebei sb200要求最多錄入200條信息。分別錄入設(shè)備ID號、設(shè)備名稱、設(shè)備種類、報廢日期、設(shè)備是否報廢,1.沒報廢,0.報廢、購買時間和設(shè)備價格等結(jié)構(gòu)體數(shù)組。其中的數(shù)據(jù)輸入為char類型(除int yesno外)。void lr()/錄入信

11、息while(1) if(strcmp(sbt.id,"0")=0) main(); printf("n請輸入設(shè)備名稱:"); scanf("%s",); ; 5.4修改函數(shù)修改函數(shù)用void xg()聲明,函數(shù)用了if.else的選擇和switch的選擇,其中if .else的選擇包含在while循環(huán)中,并用了break的跳轉(zhuǎn)語句。if.else語句更好的避免了輸入進(jìn)入死循環(huán)。如:if(x=0) break; else printf("繼續(xù)操作請輸入1n"); scanf("%d&quo

12、t;,&x); 修改函數(shù)中還使用了strcmp判斷函數(shù),當(dāng)strcmp判斷函數(shù)判斷成立時,給予使用者符合要求的提示,使用者然后進(jìn)行操作。如:strcmp(sbt.id,find)=0 。在Switch的使用中,其實現(xiàn)了返回主菜單的操作。如:switch(x) case 0:choose();break; case 1:xg();break; default:printf("輸入無效,自動返回主菜單n");choose();break; 其中包含的數(shù)據(jù)類型有int類型和 char類型兩種。如:int x , char find20.void xg()/修改 char

13、find20; int x; t=0; printf("請輸入要修改的設(shè)備ID號:"); scanf("%s",find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的話返回的是符合要求 break; else t+; while(1) printf("確認(rèn)修改請輸入任意數(shù)字否則輸入0重新輸入設(shè)備原id:"); scanf("%d",&x); if(x=0) break; else printf("請輸入新設(shè)備號(原來是 %s ):",sbt.id

14、); scanf("%s",sbt.id); printf("n提示:該項記錄資料已經(jīng)成功修改!n"); printf("退回主菜單請輸入0n"); printf("繼續(xù)操作請輸入1n"); scanf("%d",&x); 5.5查詢函數(shù)查詢函數(shù)用void cx()聲明,使用do.while(choice!=0); 循環(huán),其中含有switch(choice)的選擇語句。當(dāng)選擇0時,跳回menu函數(shù);當(dāng)選擇1時,跳到設(shè)備號查詢函數(shù);void cx_sbh()do if(strcmp(sbt

15、.id,find)=0&&sbt.yesno=1) /1表示設(shè)備沒報廢 t+;else t+;while (t<100); if (choice=1) choose(); else cx();設(shè)備號查詢函數(shù)用void cx_sbh()聲明,使用do.while(choice!=0); 循環(huán),其中含有if .esle的選擇語句。其中包含的數(shù)據(jù)類型有int類型.如:int choice等。當(dāng)選擇2時,跳到設(shè)備名稱查詢函數(shù);void cx_mc()/設(shè)備名稱查詢 do if(strcmp(,ming)=0&&sbt.yesno=1) /1表示設(shè)備

16、沒報廢 else t+; while (t<100); if (choice=1) choose(); else cx(); 設(shè)備名稱查詢函數(shù)用void cx_mc()聲明,使用do.while(choice!=0); 循環(huán),其中含有if esle的選擇語句。其中包含的數(shù)據(jù)類型有int類型.如:int choice等。否則輸出"輸入無效請重新輸入"。查詢函數(shù)包含的數(shù)據(jù)類型有int類型.如:int choice等。void cx()/查詢 int choice; do switch(choice) case 0:menu();break; case 1:cx_sbh()

17、;break; case 2:cx_mc();break; default:printf("輸入無效請重新輸入n");cx(); break; while(choice!=0);5.5統(tǒng)計函數(shù)統(tǒng)計函數(shù)用void tj()聲明,在if的使用中,其實現(xiàn)了返回菜單的操作。如:printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) choose() ; 函數(shù)中還使用了strcmp判斷函數(shù),當(dāng)strcmp判

18、斷函數(shù)判斷成立時,給予使用者符合要求的提示,使用者然后進(jìn)行操作。如:(strcmp(sbt.kind,tong)=0&&sbt.yesno=1。而dowhile 循環(huán)的使用保證了多次統(tǒng)計的使用。(注:其中的“t+;”不能丟,其在循環(huán)中起累加的作用)。統(tǒng)計函數(shù)包含的數(shù)據(jù)類型有int類型和char類型.如:int choice和char tong 等。void tj()/統(tǒng)計int choice;char tong20;printf("n輸入你要統(tǒng)計的設(shè)備種類:"); scanf("%s",tong); do if(strcmp(sbt.ki

19、nd,tong)=0&&sbt.yesno=1) /1表示設(shè)備沒報廢 printf("設(shè)備號設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n");printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn",sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單

20、n"); scanf("%d",&choice); if (choice=1) choose() ; 5.6報廢函數(shù)查詢函數(shù)用void bf()聲明,使用do.while(choice!=0); 循環(huán),其中含有switch(choice)的選擇語句。當(dāng)選擇0時,跳回menu函數(shù);當(dāng)選擇1時,跳到報廢登記函數(shù);void bf_dj()/報廢登記 while(1) if(strcmp(sbt.id,find)=0) /如果找到的話返回的是符合要求 break; else t+; while(1) if(x=0) break; switch(x) case 0:

21、choose();break; case 1:bf();break; default:printf("輸入無效,自動返回主菜單n");choose();break; 設(shè)備號查詢函數(shù)用void bf_dj()聲明,使用do。while(choice!=0); 循環(huán),其中含有if esle的選擇語句。其中包含的數(shù)據(jù)類型有int類型和char類型.如:int choice和char choice類型等。當(dāng)選擇2時,跳到報廢統(tǒng)計函數(shù);void bf_tj()/報廢統(tǒng)計 do t+; else t+;while (t<3); if (choice=1) choose(); 設(shè)備

22、名稱查詢函數(shù)用void cx_mc()聲明,使用do.while(choice!=0); 循環(huán),其中含有if esle的選擇語句。其中包含的數(shù)據(jù)類型有int類型和char類型.如:int choice和char find等。void bf() /報廢信息 int choice; do printf("ttt-n"); printf("ttt* 1-登記報廢信息 *n"); printf("ttt* 2-報廢設(shè)備統(tǒng)計 *n"); printf("ttt* 0-退出 *n"); printf("ttt*

23、83;*·*·*·*·*·*·*·*·*·*·*|n"); scanf("%d",&choice); getchar(); switch(choice) case 0:menu();break; case 1:bf_dj();break; case 2:bf_tj();break; default:printf("輸入無效請重新輸入n");bf(); break; while(choice!=0);6.運行結(jié)果6.1菜單界面此圖為截取的菜

24、單操作界面,先輸入密碼才會進(jìn)入界面當(dāng)輸入0時,系統(tǒng)跳入到“提示:你已經(jīng)退出系統(tǒng)再見!”的輸出。當(dāng)輸入1時,系統(tǒng)跳入到錄入的子函數(shù)中。當(dāng)輸入2時,系統(tǒng)跳入到修改的子函數(shù)中。當(dāng)輸入3時,系統(tǒng)跳入到查詢的子函數(shù)中。當(dāng)輸入4時,系統(tǒng)跳入到統(tǒng)計的子函數(shù)中。當(dāng)輸入5時,系統(tǒng)跳入到報廢的子函數(shù)中。其中的數(shù)據(jù)輸入為int類型。請分別輸入數(shù)字1,2,3等,然后回車。圖3 菜單操作界面6.2錄入設(shè)備信息此為錄入設(shè)備信息界面,在菜單界面中選擇1進(jìn)入分別錄入設(shè)備ID號、設(shè)備名稱、設(shè)備種類、報廢日期、設(shè)備是否報廢,1.沒報廢,0.報廢、購買時間和設(shè)備價格等結(jié)構(gòu)體數(shù)組。其中的數(shù)據(jù)輸入為char類型(除int yesno外

25、)。請分別輸入數(shù)字1,2,3等,然后回車。輸入0則將返回主菜單。圖4 錄入設(shè)備信息界面6.3修改設(shè)備信息此為修改設(shè)備信息界面,在菜單界面中選擇2進(jìn)入分別修改設(shè)備ID號、設(shè)備名稱、設(shè)備種類、報廢日期、設(shè)備是否報廢,1.沒報廢,0.報廢、購買時間和設(shè)備價格等結(jié)構(gòu)體數(shù)組。其中的數(shù)據(jù)輸入為char類型(除int yesno外)。請分別輸入數(shù)字1,2,3等,然后回車。輸入0則將返回主菜單。圖5 修改設(shè)備信息6.4查詢設(shè)備信息此為查詢設(shè)備信息界面,在菜單界面中選擇3進(jìn)入,進(jìn)入后選擇不同的查詢方式選擇1,則將按設(shè)備號查找;選擇2,則將按設(shè)備名稱查找;選擇0,則將退出。其中的數(shù)據(jù)輸入為int類型。請分別輸入數(shù)

26、字1,2,3等,然后回車。圖6 查詢設(shè)備信息6.5統(tǒng)計設(shè)備信息此為統(tǒng)計設(shè)備信息界面,在菜單界面中選擇4進(jìn)入,進(jìn)入后選擇不同的統(tǒng)計方式選擇1,則將按設(shè)備號統(tǒng)計;選擇2,則將按設(shè)備名稱統(tǒng)計;選擇0,則將退出。其中的數(shù)據(jù)輸入為int類型。請分別輸入數(shù)字1,2,3等,然后回車。圖7 統(tǒng)計設(shè)備信息6.6報廢設(shè)備信息此為報廢設(shè)備信息界面,在菜單界面中選擇5進(jìn)入,進(jìn)入后選擇不同的查詢方式選擇1,則將按設(shè)備號查找;選擇2,則將按設(shè)備名稱查找;選擇0,則將退出。其中的數(shù)據(jù)輸入為int類型。請分別輸入數(shù)字1,2,3等,然后回車。圖8 報廢設(shè)備信息7總結(jié)在編程的過程中,很容易出現(xiàn)一個問題,就時少大括號“”的問題。這

27、是,error只有一個,但是錯誤的地方很多,且都在括號處。按照計算機所指出的錯誤位置尋找是不容易找出錯誤的。直到整個程序看了一遍后才會發(fā)現(xiàn)是一個大括號的問題。通常少的是“”或著“”,錯誤位置會出現(xiàn)在缺少括號位置之后的其他大括號出現(xiàn)的地方。只要這種情況發(fā)生后,往前找是否有大括號缺失就可以將問題很快解決了。在幫同學(xué)修改程序的過程中,也遇到過一個問題。在頭文件后定義了子函數(shù),可是之后忘了編寫子函數(shù),在糾錯時,有的是不會發(fā)現(xiàn)錯誤的,但是連接過程中就會報告出錯。我覺得在以后的編程過程中,最好用什么函數(shù)寫什么函數(shù),后者在寫完一個子函數(shù)后再在頭文件底下聲明。C語言實習(xí)基本上由老師引導(dǎo),自己很多都靠自學(xué),不明

28、白的問老師,自學(xué)能力得到了很大的培養(yǎng)。在實習(xí)過程中,我感覺到一點,程序是不能一氣呵成的。至少一氣呵成的程序不會盡善盡美。程序編寫要一步一步的完成。首先,對于要編的程序要有一個總體思路。要明確想要什么。只要把思路理清楚了,程序就好編寫了。把程序分割成幾個塊,即多個函數(shù),一塊一塊的編寫。然后將分散的函數(shù)用另外的函數(shù)連接起來或者用main函數(shù)連接。到這一步,程序也就初步編成了,之后便是調(diào)試,檢查錯誤。最后我覺得還可以對于已經(jīng)編寫好的程序進(jìn)行一些修改添加,使它更加人性化。優(yōu)化程序的階段是很重要的。參考文獻(xiàn)1. C/C+程序設(shè)計,王連相等,中國科學(xué)技術(shù)出版社,20042. C語言程序設(shè)計,譚浩強,清華大

29、學(xué)出版社,19993. C程序設(shè)計題解與上機指導(dǎo),譚浩強,清華大學(xué)出版社,19994. C語言實用程序薈萃,西安電子科技大學(xué)出版社,19935. C語言函數(shù)手冊,機械工業(yè)出版社,19996. C語言的實際應(yīng)用,安徽科學(xué)技術(shù)出版社,20008.致謝在C語言的實習(xí)過程中,讓我鞏固了C語言的基礎(chǔ)知識,以前從來沒有這樣編過完整的程序,實習(xí)讓我有這樣的一個機會,自己獨立編寫程序。我覺得自己說學(xué)的東西不多,但是可以將它們運用出來。在這次實習(xí)中,我開始喜歡C語言。在這次實習(xí)中,李老師對我的幫助對我最難忘。題目本身是很簡單的,在李聰老師的教學(xué)風(fēng)格影響下,我在編寫完最初程序后,有自己添加了很多功能。程序可以更數(shù)

30、學(xué)方法如此緊密的結(jié)合。這是非常有意思的事情。李聰老師給過我很多發(fā)展的建議,因此,我要感謝他。最后,我還要感謝給我?guī)椭耐瑢W(xué),在一些程序問題上,我和同學(xué)交流經(jīng)驗,學(xué)到了很多在書本上學(xué)不到的東西。我真誠的感謝在這次實習(xí)中給予指導(dǎo)的李聰老師!附錄源文件(每個函數(shù)都要有功能說明)#include"stdio.h"#include"string.h"#define null 0int t=0;int mmcsz=0;int mima;int menu();/菜單void lr();/錄入信息void xg();/修改void cx();/查詢void cx_sbh

31、();/設(shè)備號查詢void cx_mc();/設(shè)備名稱查詢void tj();/統(tǒng)計void bf();/報廢信息void bf_dj();/報廢登記void bf_tj();/報廢統(tǒng)計void choose(); typedef struct shebei char id10; char name15; char kind15; char over15; int yesno; char time10; char price10; shebei;shebei sb200;void lr()/錄入信息while(1) printf("提示:輸入0則返回主菜單!n"); pri

32、ntf("n請你輸入設(shè)備ID號:"); scanf("%s",sbt.id); if(strcmp(sbt.id,"0")=0) main(); printf("n請輸入設(shè)備名稱:"); scanf("%s",); printf("n請輸入設(shè)備種類:"); scanf("%s",sbt.kind); printf("n請輸入報廢日期:"); scanf("%s",sbt.over); printf(&

33、quot;n請輸入設(shè)備是否報廢,1、沒報廢,0、報廢:"); scanf("%d",&sbt.yesno); printf("n請輸入設(shè)備購買時間:"); scanf("%s",sbt.time); printf("n請輸入設(shè)備價格:"); scanf("%s",sbt.price); printf("提示:已經(jīng)完成一條記錄的添加。n"); t+; void xg()/修改 char find20; int x; t=0; printf("請輸入要

34、修改的設(shè)備ID號:"); scanf("%s",find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的話返回的是符合要求 break; else t+; while(1) printf("確認(rèn)修改請輸入任意數(shù)字否則輸入0重新輸入設(shè)備原id:"); scanf("%d",&x); if(x=0) break; else printf("請輸入新設(shè)備號(原來是 %s ):",sbt.id); scanf("%s",sbt.id); prin

35、tf("請輸入新設(shè)備名稱(原來是 %s ):",); scanf("%s",); printf("請輸入新設(shè)備設(shè)備種類名稱(原來是 %s ):",sbt.kind); scanf("%s",sbt.kind); printf("請輸入新設(shè)備報廢日期名稱(原來是 %s ):",sbt.over); scanf("%s",sbt.over); printf("請輸入新設(shè)備是否報廢,1、沒報廢,0、報廢(原來是 %d):",sbt

36、.yesno); scanf("%d",&sbt.yesno); printf("請輸入新設(shè)備購買時間(原來是 %s ):",sbt.time); scanf("%s",sbt.time); printf("請輸入新設(shè)備價格(原來是 %s ):",sbt.price); scanf("%s",sbt.price); printf("n提示:該項記錄資料已經(jīng)成功修改!n"); printf("退回主菜單請輸入0n"); printf("繼續(xù)

37、操作請輸入1n"); scanf("%d",&x); switch(x) case 0:choose();break; case 1:xg();break; default:printf("輸入無效,自動返回主菜單n");choose();break; void cx()/查詢 int choice; do printf("ttt-n"); printf("ttt* 1-按設(shè)備號查找 *n"); printf("ttt* 2-按設(shè)備名稱查找 *n"); printf("

38、;ttt* 0-退出 *n"); printf("ttt*·*·*·*·*·*·*·*·*·*·*·*|n"); scanf("%d",&choice); getchar(); switch(choice) case 0:menu();break; case 1:cx_sbh();break; case 2:cx_mc();break; default:printf("輸入無效請重新輸入n");cx(); b

39、reak; while(choice!=0);void cx_sbh()/設(shè)備號查詢int choice;char find20;int t=0; printf("請輸入您要查詢的設(shè)備號:");scanf ("%s",find);getchar();do if(strcmp(sbt.id,find)=0&&sbt.yesno=1) /1表示設(shè)備沒報廢 printf("設(shè)備號設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n"); printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5s

40、n",sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+;else t+; while (t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) choose(); else cx();void cx_mc()/設(shè)備名稱查詢int choice;char ming20;t=0; printf("

41、;n輸入你要查詢的設(shè)備名稱:"); scanf("%s",ming); do if(strcmp(,ming)=0&&sbt.yesno=1) /1表示設(shè)備沒報廢 printf("設(shè)備號設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n"); printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn",sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while

42、(t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) choose(); else cx(); void tj()/統(tǒng)計int choice;char tong20;printf("n輸入你要統(tǒng)計的設(shè)備種類:"); scanf("%s",tong); do if(strcmp(sbt.kind,tong)=0&&sbt.yesno=1)

43、 /1表示設(shè)備沒報廢 printf("設(shè)備號設(shè)備名稱設(shè)備種類報廢日期是否報廢購買時間價格n");printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn",sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&

44、amp;choice); if (choice=1) choose() ; void bf() /報廢信息 int choice; do printf("ttt-n"); printf("ttt* 1-登記報廢信息 *n"); printf("ttt* 2-報廢設(shè)備統(tǒng)計 *n"); printf("ttt* 0-退出 *n"); printf("ttt*·*·*·*·*·*·*·*·*·*·*·*

45、|n"); scanf("%d",&choice); getchar(); switch(choice) case 0:menu();break; case 1:bf_dj();break; case 2:bf_tj();break; default:printf("輸入無效請重新輸入n");bf(); break; while(choice!=0);void bf_dj()/報廢登記 char find20; int x; t=0; printf("請輸入要登記的設(shè)備ID號:"); scanf("%s&q

46、uot;,find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的話返回的是符合要求 break; else t+; while(1) printf("完成登記請輸入0否則輸入任意數(shù)再進(jìn)行修改:"); scanf("%d",&x); if(x=0) break; printf("請輸入新設(shè)備是否報廢1、沒報廢,0、報廢(原來是 %d ):",sbt.yesno); scanf("%d",&sbt.yesno); printf("n>>>>>>>>>>提示:該項記錄資料已經(jīng)成功登記!n"); scanf("%d",&x); switch(x) case 0:choose();break; case 1:bf();break; default:printf("輸入無效,自動返回主菜單n");choose();break; void bf_tj()/報廢統(tǒng)計 int choice;char find20;t=

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論