版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C</b></p><p><b> 學(xué)院: 自動(dòng)化學(xué)院</b></p><p> 專業(yè): 自動(dòng)化 </p><p> 班級(jí): XXX </p><p> 姓名: XXX </p><p> 學(xué)號(hào): 231XX
2、X-XX </p><p><b> 目錄</b></p><p> 題目概述,總體設(shè)計(jì)--------------------------------第 1頁(yè)</p><p> 詳細(xì)設(shè)計(jì),菜單函數(shù)--------------------------------第 2頁(yè)</p><p> 功能模塊:錄入模塊---
3、-----------------------------第 3頁(yè)</p><p> 狀態(tài)改變模塊--------------------------------------第 4頁(yè)</p><p> 狀態(tài)改變,借出歸還--------------------------------第 6頁(yè)</p><p> 狀態(tài)改變,維修------------------
4、------------------第 7頁(yè)</p><p> 狀態(tài)改變,刪除------------------------------------第 8頁(yè)</p><p> 狀態(tài)查詢模塊--------------------------------------第 9頁(yè)</p><p> 按名稱查詢-----------------------------
5、-----------第11頁(yè)</p><p> 10.按時(shí)間點(diǎn)/段查詢----------------------------------第12頁(yè)</p><p> 11.公共函數(shù)-----------------------------------------第13頁(yè)</p><p> 12.上機(jī)實(shí)踐----------------------------
6、-------------第14頁(yè)</p><p> 13.程序的亮點(diǎn)與不足---------------------------------第17頁(yè)</p><p> 14.總結(jié)---------------------------------------------第18頁(yè)</p><p> 題目:儀器儀表管理系統(tǒng)[要求]系統(tǒng)功能的基本要求:(1)&
7、#160;新的儀器儀表信息錄入。(2) 在借出、歸還、維修時(shí)對(duì)儀器儀表信息的修改。(3) 對(duì)報(bào)廢儀器儀表信息的刪除。(4) 按照一定的條件查詢、統(tǒng)計(jì)符合條件的儀器儀表信息; 查詢功能至少應(yīng)包括儀器儀表基本信息的查詢、按時(shí)間段(如在2004 年1月1日到2004 年10 月10 日購(gòu)買、借出、維修的儀器儀表等) 查詢、按時(shí)間點(diǎn)(借入時(shí)間、借出
8、時(shí)間、歸還時(shí)間) 查詢等,統(tǒng)計(jì)功能至少包括按時(shí)間段統(tǒng)計(jì)、按儀器儀表的基本信息統(tǒng)計(jì)等。(5) 對(duì)查詢、統(tǒng)計(jì)的結(jié)果打印輸出。</p><p><b> [提示]</b></p><p> 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體。儀器儀表信息包括儀器儀表名、儀器儀表編號(hào)、購(gòu)買時(shí)間、借入時(shí)間、借出時(shí)間、歸還時(shí)間、維修時(shí)間、狀態(tài)信息(0 代表可借出,1代表可借入,2 代表
9、正在維修) 等。</p><p><b> 需求分析:</b></p><p> 根據(jù)題目要求,由于儀器儀表信息是存放在文件,所以應(yīng)提供文件的輸入、輸出等操作; 在程序中要瀏覽儀器儀表的信息。應(yīng)提供錄入、顯示、查找,修改等操作; 另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇。</p><p><b> 總體設(shè)計(jì):</b>&
10、lt;/p><p> 根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為三個(gè)大的模塊: 儀表</p><p> 儀器錄入、儀表儀器修改(刪除)、儀表儀器查詢</p><p><b> 詳細(xì)設(shè)計(jì) </b></p><p><b> ?。ㄒ唬?主函數(shù)</b></p><p> 主函
11、數(shù)一般設(shè)計(jì)得比較簡(jiǎn)潔,只提供輸入、處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。其中流程圖如下:</p><p> [程序]其中為主函數(shù)設(shè)定了一個(gè)菜單函數(shù),方便用于選擇其他模塊函數(shù)。用getch0;獲得所按下的鍵值,用函數(shù)內(nèi)的局部靜態(tài)變量?jī)?chǔ)存鍵值對(duì)應(yīng)的其他功能函數(shù)。</p><p> void menu(char c) /*菜單函數(shù)*/</p>&
12、lt;p> {static int n=0; //內(nèi)部變量</p><p> if(c=='s'||c=='S') n++;</p><p> if(c=='w'||c=='W') n--;</p><p> if(n==5) n=1;</p><p>
13、; if(n==0) n=4;</p><p><b> if(c==13)</b></p><p> {switch(n)</p><p> {case 1:if(insert ()==0) insert (); break; //錄入</p><p> case 2:change();break;
14、 //修改</p><p> case 3:serch(); break; //查詢</p><p> case 4:exit(0); //退出程序 };</p><p><b> }</b></p
15、><p> system("cls");</p><p> printf("\n\n");</p><p> printf(" 儀器儀表管理系統(tǒng) \n");</p><p> printf("\n");&l
16、t;/p><p> printf(" 姓名:xxx ");</p><p> printf(" 班級(jí)231xxx");</p><p> printf("\n\n");<
17、/p><p><b> if(n=1)</b></p><p> printf(" -->儀器儀表錄入<-- \n");</p><p><b> else</b></p><p> printf(" 儀器儀表錄入 \n&qu
18、ot;);</p><p> printf("\n");</p><p><b> if(n=2)</b></p><p> printf(" -->儀器儀表借還/刪除<-- \n");</p><p><b> else</b>
19、;</p><p> printf(" 儀器儀表借還/刪除 \n");</p><p> printf("\n");</p><p><b> if(n=3)</b></p><p> printf(" -->儀器儀表查詢 <--
20、\n");</p><p><b> else</b></p><p> printf(" 儀器儀表查詢 \n");</p><p> printf("\n");</p><p><b> if(n=4)</b></p>
21、;<p> printf(" -->退出程序<-- \n");</p><p><b> else</b></p><p> printf(" 退出程序 \n");</p><p> printf("\n");</p&
22、gt;<p><b> //主函數(shù)</b></p><p> void main()</p><p> {system("cls");</p><p> printf("\n\n\n\n");</p><p> printf("
23、 -->儀器儀表管理系統(tǒng)<-- \n");</p><p> printf("\n");</p><p> printf(" -->按W向上選擇<-- \n");</p><p> printf(&
24、quot; -->按S向下選擇<-- \n");</p><p> printf(" -->按回車確定選擇<-- \n");</p><p> printf("\n");</p><p&
25、gt; printf("\n");</p><p> printf(" -->按任意鍵進(jìn)入系統(tǒng)<-- \n");</p><p> printf(" <-----------------> \n");</
26、p><p><b> getch();</b></p><p> menu('s');</p><p> while(1) menu(getch()); }</p><p> ?。ǘ└鞴δ苣K設(shè)計(jì)[數(shù)據(jù)結(jié)構(gòu)]數(shù)據(jù)結(jié)構(gòu)選用結(jié)構(gòu)體數(shù)組。這里只簡(jiǎn)單的給儀器儀表兩個(gè)部分,一個(gè)為儀器儀表的名稱、字符串函數(shù),
27、一個(gè)為儀器儀表的各個(gè)時(shí)間點(diǎn)的狀態(tài)(定義一個(gè)time的三維數(shù)組,數(shù)組下標(biāo)表示年月日,數(shù)組的值表示儀器的狀態(tài))。</p><p> #define buy 1 //購(gòu)買 </p><p> #define lean 2 //借出 </p><p> #define repair 3 //維修 <
28、/p><p> #define inlib 4 //空閑 </p><p> #define year_max 3000</p><p> #define month_max 12</p><p> #define day_max 31</p><p> #define N 100 //預(yù)
29、設(shè)儀器最大數(shù)</p><p> int n;//儀器數(shù) </p><p> struct equment </p><p> {char name[100];int time [year_max+1][month_max+1][day_max+1];}equ[N];</p><p><b>
30、 錄入模塊</b></p><p> 通過strcpy函數(shù)實(shí)現(xiàn)儀器名稱的錄入,state函數(shù)實(shí)現(xiàn)儀器狀態(tài)的更改。</p><p> 【程序】void insert()</p><p> {int i,j_year,j_month,j_day,year,month,day;</p><p> char equ_input
31、[100];</p><p> system("cls");</p><p> printf("\n\n\n\n"); </p><p> printf(&quo
32、t; -->儀器儀表管理系統(tǒng)<-- \n");</p><p> printf("\n\n\n\n");</p><p> printf(" 請(qǐng)輸入儀器的名稱:");</p><p> scanf(&qu
33、ot;%s",&equ_input);</p><p> if(presence(equ_input)!=0)</p><p><b> {</b></p><p> printf("\n");</p><p> printf("\n");</p&g
34、t;<p> printf(" 對(duì)不起!此儀器已購(gòu)買\n ");</p><p> printf("\n");</p><p> printf(" 錄入失敗,請(qǐng)按任意鍵返回主菜單\n" );</p><p> p
35、rintf("\n");</p><p> printf(" <-----------------> \n");</p><p><b> getch();</b></p><p><b> } </b></p>
36、<p><b> else</b></p><p> {int state (int year,int month,int day,int n,int s);</p><p><b> n++;</b></p><p> strcpy(equ[n].name,equ_input); //將equ
37、_input復(fù)制給equ[equ_num].name </p><p> printf("\n");</p><p> printf(" 請(qǐng)輸入購(gòu)買時(shí)間(年/月/日)(例如1998/2/15):");</p><p> scanf("%d/%d/%d",&
38、;year,&month,&day);</p><p> state(year,month,day,n,inlib); // equ[n] 將當(dāng)天狀態(tài)改為空閑 </p><p> equ[n].time[year][month][day]=buy; //equ[n] 將該天以后狀態(tài)改為購(gòu)入 </p><p> //printf(&qu
39、ot;%d",equ[n].time[year][month][day]);</p><p> printf("\n");</p><p> printf("\n");</p><p> printf(" 錄入成功,請(qǐng)按任意鍵返回主菜單\n");</p
40、><p> printf("\n");</p><p> printf("\n");</p><p> printf(" <-----------------------------> \n");</p><p> getc
41、h(); } } </p><p><b> 狀態(tài)改變模塊</b></p><p> 該模塊包括對(duì)儀器儀表的借出、歸還、維修、報(bào)廢等小模塊的操作,仍然用getch();函數(shù)獲取鍵值來做上下選擇。本函數(shù)只考慮對(duì)一種儀器儀表的修改,故先要輸入該儀器儀表的名稱并查找是否已經(jīng)購(gòu)買。</p><p><b> 【程序】</b
42、></p><p> int change()</p><p> {char equ_input[100],c='s';</p><p> int j,x=0;</p><p> system("cls");</p><p> printf("\n\n\n
43、\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> printf(" 請(qǐng)輸入儀器名稱: ");</p><p> sc
44、anf("%s",&equ_input);</p><p> j=presence(equ_input);</p><p> //printf("\n%d",j); system("pause");</p><p><b> if(j!=0)</b></p&
45、gt;<p> {while(1)</p><p> {if(c=='s'||c=='S') x++;</p><p> if(c=='w'||c=='W') x--;</p><p> if(x==6) x=1;</p><p> if(x==
46、0) x=5;</p><p> if(c==13) </p><p> {switch(x)</p><p> {case 1:mylean(j);break;</p><p> case 2:myback(j);break;</p><p> case 3:myrepair(j);break;&l
47、t;/p><p> case 4:mydel(j);break;</p><p> case 5:return(1);</p><p><b> }</b></p><p><b> }</b></p><p> system("cls");<
48、/p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> /*printf(" 請(qǐng)輸
49、入儀器名稱: ");scanf("%s",equ_input); printf("\n\n");*/</p><p><b> if(x==1)</b></p><p> printf(" --->儀器儀表借出<------\n");</p>
50、<p><b> else</b></p><p> printf(" 儀器儀表借出 \n");</p><p> printf("\n\n");</p><p><b> if(x==2)</b></p><p
51、> printf(" --->儀器儀表歸還<------\n");</p><p><b> else</b></p><p> printf(" 儀器儀表歸還 \n");</p><p> printf("\n\n&
52、quot;);</p><p><b> if(x==3)</b></p><p> printf(" --->儀器儀表維修<------\n");</p><p><b> else</b></p><p> printf("
53、 儀器儀表維修 \n");</p><p> printf("\n\n");</p><p><b> if(x==4)</b></p><p> printf(" --->儀器儀表報(bào)廢<------\n");</p>
54、<p><b> else</b></p><p> printf(" 儀器儀表報(bào)廢 \n");</p><p> printf("\n\n");</p><p><b> if(x==5)</b></p>
55、<p> printf(" --->返回主菜單<------\n");</p><p><b> else</b></p><p> printf(" 返回主菜單 \n");</p><p> printf("
56、 <----------------------------------->\n");</p><p> c=getch();</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b&g
57、t;</p><p><b> {</b></p><p> /*system("cls");</p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");
58、</p><p> printf("\n\n");*/</p><p> printf("\n\n");</p><p> printf(" 對(duì)不起!找不到該儀器\n");</p><p> printf(" 可能是由于您輸入儀器的名稱錯(cuò)
59、誤,\n");</p><p> printf(" 也可能是由于無此儀器,還沒購(gòu)買。\n");</p><p> printf("\n\n");</p><p> printf(" 修改失敗,請(qǐng)按任意鍵返回主菜單 \n");</p><
60、p> printf(" <----------------------------------->\n");</p><p><b> getch();</b></p><p> //return; } } </p><p><b> 借出模塊</b></p
61、><p> 首先輸入借出的時(shí)間,然后在儀器儀表的結(jié)構(gòu)體數(shù)組中查</p><p> 找該儀器儀表在這個(gè)輸入的時(shí)間點(diǎn)上有無其他狀態(tài)。若無</p><p> 其他狀態(tài)則可以借出,否則不可借出。</p><p><b> 【程序】</b></p><p> int mylean(int j)<
62、/p><p> {int year,month,day;</p><p> system("cls");</p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表借出系統(tǒng)--->\n");<
63、;/p><p> printf("\n\n");</p><p> printf(" 請(qǐng)輸入借出時(shí)間(年/月/日): ");</p><p> scanf("%d/%d/%d",&year,&month,&day);</p><p>
64、 //system("pause");</p><p> //printf("%d",equ[j].time[year][month][day]);</p><p> if (equ[j].time[year][month][day]==inlib) //判斷儀器是否空閑 </p><p> {printf(&q
65、uot;\n\n");</p><p> printf(" 借出成功,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n");</p><p> printf(" <------------------------------
66、----->\n");</p><p> state(year,month,day,j,lean); //狀態(tài)改為借出 </p><p> getch(); return(1);</p><p><b> }</b></p><p><b> else</b>&
67、lt;/p><p> {printf("\n\n");</p><p> printf(" 對(duì)不起!\n");</p><p> printf(" 此儀器還沒有購(gòu)買或沒有歸還或正在維修中,\n");</p><p> printf("
68、 故無法借出。\n");</p><p> printf(" 借出失敗,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n\n");</p><p> printf(" <------------------------------
69、----->\n");</p><p> getch(); return(0); } }</p><p><b> 歸還模塊</b></p><p> 首先輸入借出的時(shí)間,然后在儀器儀表的結(jié)構(gòu)體數(shù)組中查找該儀器儀表在這個(gè)輸入的時(shí)間點(diǎn)上有無其他狀態(tài)。若無其他狀態(tài)則可以借出,否則不可借出。</p><
70、p><b> 【程序】</b></p><p> int myback(int j)</p><p> {int year,month,day;</p><p> system("cls");</p><p> printf("\n\n\n\n");</p&
71、gt;<p> printf(" <----儀器儀表歸還系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> printf(" 請(qǐng)輸入歸還時(shí)間(年/月/日): ");</p><p> scanf(
72、"%d/%d/%d",&year,&month,&day);</p><p> if (equ[j].time[year][month][day]==lean) //判斷狀態(tài)是否為借出 </p><p> {printf("\n\nn");
73、 </p><p> printf(" 歸還成功,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n\n");</p><p> printf(" <----------------------------------->\
74、n");</p><p> state(year,month,day,j,inlib); //改狀態(tài)為空閑 </p><p> getch(); return(1);</p><p><b> }</b></p><p><b> else</b></p>
75、;<p> {printf("\n\n");</p><p> printf(" 對(duì)不起!\n");</p><p> printf(" 此儀器還沒有購(gòu)買或還沒有借出\n");</p><p> printf(" 或正在維修中,故無法歸
76、還。\n");</p><p> printf(" 歸還失敗,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n");</p><p> printf(" <----------------------------------->\n&q
77、uot;);</p><p> getch(); return(0); } }</p><p> ?。?)維修模塊 </p><p> 同樣是首先輸入維修開始的時(shí)間和維修結(jié)束的時(shí)間,然后在儀器儀表的結(jié)構(gòu)體數(shù)組中查找該儀器儀表在這個(gè)歸還的時(shí)間點(diǎn)上有其他狀態(tài)。若有為空閑狀態(tài)則可以維修,否則不可維修。</p><p><b&
78、gt; 【程序】</b></p><p> int myrepair(int j)</p><p> {int year,month,day;</p><p> system("cls"); </p><p&g
79、t; printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> printf(" 請(qǐng)輸入開始維修時(shí)間(年/月
80、/日):");</p><p> scanf("%d/%d/%d",&year,&month,&day);</p><p> if (equ[j].time[year][month][day]==inlib)</p><p> {state(year,month,day,j,repair); //改
81、狀態(tài)為維修 </p><p> printf("\n\n");</p><p> printf(" 請(qǐng)輸入維修結(jié)束時(shí)間(年/月/日):");</p><p> scanf("%d/%d/%d",&year,&month,&day);</p><
82、;p> state(year,month,day,j,inlib);</p><p> printf("\n\n");</p><p> printf(" 維修成功,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n");</p>
83、;<p> printf(" <----------------------------------->\n");</p><p> getch(); return(1);</p><p><b> }</b></p><p><b> else</b
84、></p><p> {printf("\n\n");</p><p> printf(" 對(duì)不起!\n");</p><p> printf(" 此儀器還沒有購(gòu)買或借出,\n");</p><p> printf("
85、 故無法維修。\n");</p><p> printf("\n\n");</p><p> printf(" 維修失敗,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n\n");</p><p> printf(
86、" <----------------------------------->\n");</p><p> getch(); return(0); } }</p><p><b> ?。?)刪除模塊</b></p><p> 刪除模塊將刪除本儀器儀表,具體刪除過程為將需要?jiǎng)h除的后一項(xiàng)覆蓋至刪
87、除的這一項(xiàng),即需刪除以后的每一個(gè)結(jié)構(gòu)體元素都向前移一個(gè)單位。</p><p><b> 【程序】</b></p><p> int mydel(int j) </p><p> {char c='s';</p><p><
88、b> int x=0;</b></p><p><b> while(1)</b></p><p> {system("cls");</p><p> if(c=='s'||c=='S') x++;</p><p> if(c=='
89、;w'||c=='W') x--;</p><p> if(x==3) x=1;</p><p> if(x==0) x=2;</p><p><b> if(c==13)</b></p><p> {if(x==1)</p><p><b>
90、 {int i;</b></p><p> for(i=n;i<n;i++)</p><p> equ[i]=equ[i-1]; n--;</p><p> system("cls");</p><p> printf("\n\n\n\n");</p><
91、;p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> printf(" 報(bào)廢儀表已刪除!\n ");</p><p> printf("\n\n"
92、;);</p><p> printf(" 請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n");</p><p> printf(" <----------------------------------->\n");</p&g
93、t;<p> getch(); return;</p><p><b> }</b></p><p><b> else </b></p><p><b> return;</b></p><p><b> }</b><
94、;/p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> printf(" 請(qǐng)問確定要報(bào)廢儀器%s嗎?\n ",equ[j].name);</p><p>
95、; printf("\n\n\n\n");</p><p><b> if (x==1)</b></p><p> printf(" --->確定要報(bào)廢儀器<--- \n");</p><p><b> else</b></p><
96、;p> printf(" 確定要報(bào)廢儀器 \n");</p><p> printf("\n\n");</p><p><b> if(x==2)</b></p><p> printf(" --->我要考慮考慮<--- \n
97、");</p><p><b> else</b></p><p> printf(" 我要考慮考慮 \n");</p><p> printf("\n\n");</p><p> printf(" <----
98、------------------------------->\n");</p><p> c=getch(); } }</p><p> (三)儀器儀表查找模塊</p><p> 儀器儀表查找分為按名稱查找、按時(shí)間點(diǎn)查找、按時(shí)間段查找三個(gè)模塊,通過鍵盤w s進(jìn)行選擇,分別用三個(gè)小模塊來表示,通過狀態(tài)函數(shù)condition_p輸出儀器
99、儀表狀態(tài)。</p><p><b> 【程序】</b></p><p> void search()</p><p> {char c='s';</p><p><b> int x=0;</b></p><p><b> while(1
100、)</b></p><p> {if(c=='s'||c=='S') x++;</p><p> if(c=='w'||c=='W') x--;</p><p> if(x==6) x=1;</p><p> if(x==0) x=5;</p&
101、gt;<p> if(c==13) </p><p> {switch(x)</p><p> {case 1:name();break;</p><p> case 2:time_d();break;</p><p> case 3:time_p();break;</p><p> c
102、ase 4:return; };</p><p><b> };</b></p><p> system("cls");</p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)-
103、-->\n");</p><p> printf("\n\n");</p><p><b> if(x==1)</b></p><p> printf(" --->按名稱查詢<------\n");</p><p><b>
104、; else</b></p><p> printf(" 按名稱查詢 \n");</p><p> printf("\n\n");</p><p><b> if(x==2)</b></p><p> printf(&quo
105、t; --->按時(shí)間段查詢<------\n");</p><p><b> else</b></p><p> printf(" 按時(shí)間段查詢 \n");</p><p> printf("\n\n");</p>
106、<p><b> if(x==3)</b></p><p> printf(" --->按時(shí)間點(diǎn)查詢<------\n");</p><p><b> else</b></p><p> printf(" 按時(shí)間點(diǎn)查詢
107、 \n");</p><p> printf("\n\n");</p><p><b> if(x==4)</b></p><p> printf(" --->返回主菜單<------\n");</p><p><b>
108、; else</b></p><p> printf(" 返回主菜單 \n");</p><p> printf("\n\n");</p><p> printf(" <----------------------------------->
109、\n");</p><p> c=getch(); } }</p><p> 因?yàn)椴还懿檎覘l件是什么,最終都會(huì)對(duì)應(yīng)到需查找的儀器儀表上,故補(bǔ)充一個(gè)公共函數(shù)condition_p();,輸出查找一個(gè)儀器儀表的結(jié)果。</p><p><b> 【程序】</b></p><p> void con
110、dition_p(int year,int month,int day,int n,int *bool_repair,int *bool_lean)</p><p> {//printf("%d",equ[n].time[year][month][day]); //system("pause");</p><p> if (equ[n].t
111、ime[year][month][day]==buy) </p><p> printf(" %4d年%2d月%2d日購(gòu)買%s儀器儀表\n",year,month,day,equ[n].name);</p><p><b> //借出/歸還</b></p><p> if ((equ[n].ti
112、me[year][month][day]==lean)&&((*bool_lean)==0))</p><p> {printf(" %4d年%2d月%2d日借出%s儀器儀表\n",year,month,day,equ[n].name);</p><p> (*bool_lean)=1; }</p><p>
113、; //printf("%d\n",equ[n].time[year][month][day]==lean); //printf("%d\n"); </p><p> if (equ[n].time[year][month][day]==inlib&&(*bool_lean)==1)</p><p> {printf(&
114、quot; %4d年%2d月%2d日歸還%s儀器儀表\n",year,month,day,equ[n].name);</p><p> (*bool_lean)=0; //printf("%d",equ[n].time[year][month][day]); }</p><p><b> //維修/修完</b
115、></p><p> if (equ[n].time[year][month][day]==repair&&(*bool_repair)==0)</p><p> {printf(" %4d年%2d月%2d日開始維修%s儀器儀表\n",year,month,day,equ[n].name);</p><
116、p> (*bool_repair)=1; }</p><p> if (equ[n].time[year][month][day]==inlib&&(*bool_repair)==1)</p><p> {printf(" %4d年%2d月%2d日結(jié)束維修%s儀器儀表\n",year,month,day,eq
117、u[n].name);</p><p> (*bool_repair)=0; } }</p><p><b> ?。?)按名稱查找</b></p><p> 首先輸入儀器儀表的名稱,然后在結(jié)構(gòu)體數(shù)組中查找是否存在,這個(gè)儀器儀若是則循環(huán)該儀器儀表的所有時(shí)間點(diǎn)來判斷改時(shí)間點(diǎn)處于什么狀態(tài),并用公共函數(shù)condition_
118、p來輸出。</p><p><b> 【程序】</b></p><p> int name()</p><p> {char equ_input[100];</p><p> int i; </p><p&g
119、t; system("cls");</p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p>&
120、lt;p> printf(" 請(qǐng)輸入儀器名字: ");</p><p> scanf("%s",equ_input);</p><p> i=presence(equ_input);</p><p><b> if (i!=0)</b></p>&l
121、t;p> {int j_y,j_d,j_m,bool_lean=0,bool_repair=0;</p><p> for(j_y=0;j_y<=year_max;j_y++)</p><p> for(j_m=0;j_m<=month_max;j_m++)</p><p> for(j_d=0;j_d<=day_max;j_d++
122、)</p><p> {//P(j_y,j_m,j_d,m);systen("pause")</p><p> condition_p(j_y,j_m,j_d,i,&bool_lean,&bool_repair);</p><p><b> }</b></p><p> pr
123、intf("\n\n");</p><p> printf(" 查詢完成,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n\n");</p><p> printf(" <--------------------------
124、--------->\n");</p><p> getch(); return(1);</p><p><b> }</b></p><p><b> else</b></p><p> {printf("\n\n");</p>&l
125、t;p> printf(" 對(duì)不起!\n");</p><p> printf(" 可能是由于您輸入錯(cuò)誤,\n");</p><p> printf(" 也有可能是由于無此儀器,還未購(gòu)買。\n");</p><p> printf("\n\n
126、");</p><p> printf(" 查詢失敗,請(qǐng)按任意鍵返回主菜單 \n");</p><p> printf("\n\n");</p><p> printf(" <----------------------------------->\n&quo
127、t;);</p><p> getch(); return(0); } }</p><p><b> (2)按時(shí)間點(diǎn)查詢</b></p><p><b> 【程序】</b></p><p> int time_p()</p><p> {int i,yea
128、r,month,day,equ_tmp,</p><p> bool_lean[101],bool_repair[101];</p><p> for(i=0;i<10;i++)</p><p> {bool_lean[i]=0;bool_repair[i]=0; } </p><p> system("cls&qu
129、ot;);</p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n\n");</p><p> printf(&q
130、uot; 請(qǐng)輸入時(shí)間點(diǎn)(年/月/日): ");</p><p> scanf("%d/%d/%d",&year,&month,&day);</p><p> printf("\n\n"); </p><p> for(equ_tmp=1;equ_tmp&
131、lt;=n;equ_tmp++)</p><p> condition_p(year,month,day,equ_tmp,&bool_lean[equ_tmp],&bool_repair[equ_tmp]); //每個(gè)儀器</p><p> printf("\n\n");</p><p&g
132、t; printf(" 查詢完成,請(qǐng)按任意鍵返回上一級(jí)菜單 \n");</p><p> printf("\n");</p><p> printf(" <----------------------------------->\n");</p>
133、<p> getch(); return(0); </p><p><b> } </b></p><p><b> ?。?)按時(shí)間段查詢</b></p><p> 首先輸入起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn),應(yīng)為每個(gè)月的天數(shù)不完全一樣,用三重循環(huán)來做比較麻煩,故采用模擬法,設(shè)三個(gè)變量i、j、k,分別對(duì)
134、應(yīng)年,月,日,然后賦予初值為起始時(shí)間點(diǎn),設(shè)置一無限循環(huán),循環(huán)內(nèi)設(shè)有判斷是否i、j、k的值為結(jié)束時(shí)間點(diǎn)的語(yǔ)句。若是則跳出循環(huán),否則繼續(xù)循環(huán)。同時(shí),在循環(huán)內(nèi)k總是自加,當(dāng)k 自加至當(dāng)月最大天數(shù)時(shí),j就自加,當(dāng)j自加至當(dāng)年最大月數(shù)時(shí),i自加。</p><p><b> 【程序】</b></p><p> int time_d()</p><
135、p> {int year1,month1,day1,year2,month2,day2,i,j,k,</p><p> equ_tmp,bool_lean[101],bool_repair[101];</p><p> for(i=0;i<101;i++)</p><p> {bool_lean[i]=0;bool_repair[i]=0;
136、} </p><p> system("cls");</p><p> printf("\n\n\n\n");</p><p> printf(" <----儀器儀表管理系統(tǒng)--->\n");</p><p> printf("\n&quo
137、t;);</p><p> printf(" 請(qǐng)輸入起始時(shí)間(年/月/日):");</p><p> scanf("%d/%d/%d",&year1,&month1,&day1);</p><p> printf("\n"); </p><
138、p> printf(" 請(qǐng)輸入結(jié)束時(shí)間(年/月/日):");</p><p> scanf("%d/%d/%d",&year2,&month2,&day2);</p><p> printf("\n");</p><p> i=year1; j=mon
139、th1; k=day1;</p><p><b> while(1) </b></p><p> {if(j>12){i++;j=1;}</p><p> if(k>31){j++;k=1;}</p><p> for(equ_tmp=1;equ_tmp<=n;equ_tmp++)</
140、p><p> condition_p(i,j,k,equ_tmp,&bool_lean[equ_tmp],&bool_repair[equ_tmp]) ;</p><p><b> //每個(gè)儀器</b></p><p> if((i==year2)&&(j==month2)&&(k==day2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 儀器儀表管理系統(tǒng)--c語(yǔ)言課程設(shè)計(jì)報(bào)告
- 儀器儀表管理課程設(shè)計(jì)
- 儀器儀表電路課程設(shè)計(jì)
- 儀器儀表電路課程設(shè)計(jì)
- 儀器儀表零件與機(jī)構(gòu)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--車票管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---銷售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告-物資管理系統(tǒng)
- 車票管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- 儀器儀表
- c語(yǔ)言課程設(shè)計(jì)---職工管理系統(tǒng)設(shè)計(jì)報(bào)告
- 儀器儀表課程設(shè)計(jì)--小區(qū)生活熱水供應(yīng)系統(tǒng)監(jiān)控系統(tǒng)設(shè)計(jì)——壓力控制
- c語(yǔ)言課程信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告課程信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告~圖書管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷售管理系統(tǒng)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告----網(wǎng)上購(gòu)物管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論