




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.../...報(bào)告語言課程設(shè)計(jì)C報(bào)告語言課程設(shè)計(jì)學(xué)院:自動(dòng)化學(xué)院專業(yè):自動(dòng)化班級(jí):231XXX姓名:XXX學(xué)號(hào):231XXX-XX目錄題目概述,總體設(shè)計(jì)第1頁詳細(xì)設(shè)計(jì),菜單函數(shù)第2頁功能模塊:錄入模塊第3頁狀態(tài)改變模塊第4頁狀態(tài)改變,借出歸還第6頁狀態(tài)改變,維修第7頁狀態(tài)改變,刪除第8頁狀態(tài)查詢模塊第9頁按名稱查詢第11頁10.按時(shí)間點(diǎn)/段查詢第12頁11.公共函數(shù)第13頁12.上機(jī)實(shí)踐第14頁13.程序的亮點(diǎn)與不足第17頁14.總結(jié)第18頁...
題目:儀器儀表管理系統(tǒng)
[要求]
系統(tǒng)功能的基本要求:
<1>
新的儀器儀表信息錄入。
<2>
在借出、歸還、維修時(shí)對(duì)儀器儀表信息的修改。
<3>
對(duì)報(bào)廢儀器儀表信息的刪除。
<4>
按照一定的條件查詢、統(tǒng)計(jì)符合條件的儀器儀表信息;
查詢功能至少應(yīng)
包括儀器儀表基本信息的查詢、按時(shí)間段<如在2004
年1月1日到2004
年10
月10
日購買、借出、維修的儀器儀表等>
查詢、按時(shí)間點(diǎn)<借入時(shí)間、借出時(shí)間、歸還時(shí)間>
查詢等,統(tǒng)計(jì)功能至少包括按時(shí)間段統(tǒng)計(jì)、按儀器儀表的基本信息統(tǒng)計(jì)等。
<5>
對(duì)查詢、統(tǒng)計(jì)的結(jié)果打印輸出。[提示]數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體。儀器儀表信息包括儀器儀表名、儀器儀表編號(hào)、購買時(shí)間、借入時(shí)間、借出時(shí)間、歸還時(shí)間、維修時(shí)間、狀態(tài)信息<0代表可借出,1代表可借入,2代表正在維修>等。需求分析:根據(jù)題目要求,由于儀器儀表信息是存放在文件,所以應(yīng)提供文件的輸入、輸出等操作;在程序中要瀏覽儀器儀表的信息。應(yīng)提供錄入、顯示、查找,修改等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇??傮w設(shè)計(jì):根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為三個(gè)大的模塊:儀表儀器錄入、儀表儀器修改<刪除>、儀表儀器查詢儀器儀表管理系統(tǒng)儀器儀表管理系統(tǒng)查詢錄入查詢錄入修改修改詳細(xì)設(shè)計(jì)〔一主函數(shù)主函數(shù)一般設(shè)計(jì)得比較簡(jiǎn)潔,只提供輸入、處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。其中流程圖如下:[程序]
其中為主函數(shù)設(shè)定了一個(gè)菜單函數(shù),方便用于選擇其他模塊函數(shù)。用getch0;獲得所按下的鍵值,用函數(shù)內(nèi)的局部靜態(tài)變量?jī)?chǔ)存鍵值對(duì)應(yīng)的其他功能函數(shù)。voidmenu<charc>/*菜單函數(shù)*/{ staticintn=0;//內(nèi)部變量 if<c=='s'||c=='S'>n++; if<c=='w'||c=='W'>n--; if<n==5>n=1; if<n==0>n=4; if<c==13> {switch<n> {case1:if<insert<>==0>insert<>;break;//錄入 case2:change<>;break;//修改 case3:serch<>;break;//查詢開始 case4:exit<0>;//退出程序};開始 } system<"cls">;顯示一系列功能選項(xiàng) printf<"\n\n">;顯示一系列功能選項(xiàng) printf<"儀器儀表管理系統(tǒng)\n">; printf<"\n">;選擇一個(gè)功能 printf<"姓名:xxx">;選擇一個(gè)功能printf<"班級(jí)231xxx">;printf<"\n\n">;根據(jù)選擇的功能調(diào)用功能模塊函數(shù) if<n=1>根據(jù)選擇的功能調(diào)用功能模塊函數(shù) printf<"-->儀器儀表錄入<--\n">; else結(jié)束 printf<"儀器儀表錄入\n">;結(jié)束 printf<"\n">; if<n=2> printf<"-->儀器儀表借還/刪除<--\n">; else printf<"儀器儀表借還/刪除\n">; printf<"\n">; if<n=3> printf<"-->儀器儀表查詢<--\n">; else printf<"儀器儀表查詢\n">; printf<"\n">; if<n=4> printf<"-->退出程序<--\n">; else printf<"退出程序\n">; printf<"\n">; //主函數(shù)voidmain<>{system<"cls">; printf<"\n\n\n\n">; printf<"-->儀器儀表管理系統(tǒng)<--\n">; printf<"\n">; printf<"-->按W向上選擇<--\n">; printf<"-->按S向下選擇<--\n">; printf<"-->按回車確定選擇<--\n">; printf<"\n">; printf<"\n">; printf<"-->按任意鍵進(jìn)入系統(tǒng)<--\n">; printf<"<>\n">; getch<>; menu<'s'>; while<1>menu<getch<>>;}〔二各功能模塊設(shè)計(jì)
[數(shù)據(jù)結(jié)構(gòu)]
數(shù)據(jù)結(jié)構(gòu)選用結(jié)構(gòu)體數(shù)組。這里只簡(jiǎn)單的給儀器儀表兩個(gè)部分,一個(gè)為儀器儀表的名稱、字符串函數(shù),一個(gè)為儀器儀表的各個(gè)時(shí)間點(diǎn)的狀態(tài)〔定義一個(gè)time的三維數(shù)組,數(shù)組下標(biāo)表示年月日,數(shù)組的值表示儀器的狀態(tài)。#definebuy1//購買 #definelean2//借出 #definerepair3//維修 #defineinlib4//空閑 #defineyear_max3000 #definemonth_max12 #defineday_max31 #defineN100//預(yù)設(shè)儀器最大數(shù)intn; //儀器數(shù) structequment {charname[100];inttime[year_max+1][month_max+1][day_max+1]; }equ[N];
錄入模塊開始通過strcpy函數(shù)實(shí)現(xiàn)儀器名稱的錄入,state函數(shù)實(shí)現(xiàn)儀器狀態(tài)的更改。開始輸入儀器儀表名稱[程序]voidinsert<>輸入儀器儀表名稱{ inti,j_year,j_month,j_day,year,month,day; charequ_input[100];是否已錄入入 system<"cls">;是否已錄入入是 printf<"\n\n\n\n">;是否 printf<"-->儀器儀表管理系統(tǒng)<--\n">;否 printf<"\n\n\n\n">;返回主菜單輸入買入時(shí)間 printf<"請(qǐng)輸入儀器的名稱:">;返回主菜單輸入買入時(shí)間 scanf<"%s",&equ_input>;結(jié)束 if<presence<equ_input>!=0>結(jié)束 { printf<"\n">; printf<"\n">; printf<"對(duì)不起!此儀器已購買\n">; printf<"\n">; printf<"錄入失敗,請(qǐng)按任意鍵返回主菜單\n">; printf<"\n">; printf<"<>\n">; getch<>; } else { intstate<intyear,intmonth,intday,intn,ints>; n++; strcpy<equ[n].name,equ_input>;//將equ_input復(fù)制給equ[equ_num].name printf<"\n">; printf<"請(qǐng)輸入購買時(shí)間〔年/月/日<例如1998/2/15>:">; scanf<"%d/%d/%d",&year,&month,&day>; state<year,month,day,n,inlib>;//equ[n]將當(dāng)天狀態(tài)改為空閑 equ[n].time[year][month][day]=buy;//equ[n]將該天以后狀態(tài)改為購入 //printf<"%d",equ[n].time[year][month][day]>; printf<"\n">; printf<"\n">; printf<"錄入成功,請(qǐng)按任意鍵返回主菜單\n">; printf<"\n">; printf<"\n">; printf<"<>\n">; getch<>;}}狀態(tài)改變模塊該模塊包括對(duì)儀器儀表的借出、歸還、維修、報(bào)廢等小模塊的操作,仍然用getch<>;函數(shù)獲取鍵值來做上下選擇。本函數(shù)只考慮對(duì)一種儀器儀表的修改,故先要輸入該儀器儀表的名稱并查找是否已經(jīng)購買。開始[程序]開始intchange<>輸入儀器儀表名稱{ charequ_input[100],c='s';輸入儀器儀表名稱 intj,x=0; system<"cls">;是否已購買 printf<"\n\n\n\n">;是否已購買否 printf<"<儀器儀表管理系統(tǒng)>\n">;否是 printf<"\n\n">;是選擇需要進(jìn)行的操作 printf<"請(qǐng)輸入儀器名稱:">;選擇需要進(jìn)行的操作返回主菜單 scanf<"%s",&equ_input>;返回主菜單結(jié)束 j=presence<equ_input>;結(jié)束// printf<"\n%d",j>; system<"pause">; if<j!=0> { while<1> { if<c=='s'||c=='S'>x++; if<c=='w'||c=='W'>x--; if<x==6>x=1; if<x==0>x=5; if<c==13> {switch<x> { case1:mylean<j>;break; case2:myback<j>;break; case3:myrepair<j>;break; case4:mydel<j>;break; case5:return<1>; } } system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; /* printf<"請(qǐng)輸入儀器名稱:">;scanf<"%s",equ_input>;printf<"\n\n">;*/ if<x==1> printf<">儀器儀表借出<\n">; else printf<"儀器儀表借出\n">; printf<"\n\n">; if<x==2> printf<">儀器儀表歸還<\n">; else printf<"儀器儀表歸還\n">; printf<"\n\n">; if<x==3> printf<">儀器儀表維修<\n">; else printf<"儀器儀表維修\n">; printf<"\n\n">; if<x==4> printf<">儀器儀表報(bào)廢<\n">; else printf<"儀器儀表報(bào)廢\n">; printf<"\n\n">; if<x==5> printf<">返回主菜單<\n">; else printf<"返回主菜單\n">; printf<"<>\n">; c=getch<>; } } else { /*system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">;*/ printf<"\n\n">; printf<"對(duì)不起!找不到該儀器\n">; printf<"可能是由于您輸入儀器的名稱錯(cuò)誤,\n">; printf<"也可能是由于無此儀器,還沒購買。\n">;開始 printf<"\n\n">;開始 printf<"修改失敗,請(qǐng)按任意鍵返回主菜單\n">;輸入儀器儀表名稱 printf<"<>\n">;輸入儀器儀表名稱 getch<>; //return;}}是否空閑借出模塊是否空閑首先輸入借出的時(shí)間,然后在儀器儀表的結(jié)構(gòu)體數(shù)組中查是否找該儀器儀表在這個(gè)輸入的時(shí)間點(diǎn)上有無其他狀態(tài)。若無是否其他狀態(tài)則可以借出,否則不可借出。返回主菜單標(biāo)記狀態(tài)為借出[程序]返回主菜單標(biāo)記狀態(tài)為借出intmylean<intj>{ intyear,month,day;結(jié)束 system<"cls">;結(jié)束 printf<"\n\n\n\n">; printf<"<儀器儀表借出系統(tǒng)>\n">; printf<"\n\n">; printf<"請(qǐng)輸入借出時(shí)間〔年/月/日:">; scanf<"%d/%d/%d",&year,&month,&day>; //system<"pause">;// printf<"%d",equ[j].time[year][month][day]>; if<equ[j].time[year][month][day]==inlib>//判斷儀器是否空閑 { printf<"\n\n">; printf<"借出成功,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n">;printf<"<>\n">; state<year,month,day,j,lean>;//狀態(tài)改為借出 getch<>;return<1>; } else { printf<"\n\n">; printf<"對(duì)不起!\n">; printf<"此儀器還沒有購買或沒有歸還或正在維修中,\n">; printf<"故無法借出。\n">; printf<"借出失敗,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n\n">; printf<"<>\n">; getch<>;return<0>;}}歸還模塊首先輸入借出的時(shí)間,然后在儀器儀表的結(jié)構(gòu)體數(shù)組中查找該儀器儀表在這個(gè)輸入的時(shí)間點(diǎn)上有無其他狀態(tài)。若無其他狀態(tài)則可以借出,否則不可借出。[程序]intmyback<intj>{ intyear,month,day; system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表歸還系統(tǒng)>\n">; printf<"\n\n">; printf<"請(qǐng)輸入歸還時(shí)間〔年/月/日:">; scanf<"%d/%d/%d",&year,&month,&day>; if<equ[j].time[year][month][day]==lean>//判斷狀態(tài)是否為借出開始輸入儀器儀表名稱開始輸入儀器儀表名稱是是否借出標(biāo)記狀態(tài)為空閑返回主菜單否結(jié)束 printf<"歸還成功,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n\n">;printf<"<>\n">; state<year,month,day,j,inlib>;//改狀態(tài)為空閑 getch<>;return<1>; } else { printf<"\n\n">; printf<"對(duì)不起!\n">; printf<"此儀器還沒有購買或還沒有借出\n">; printf<"或正在維修中,故無法歸還。\n">; printf<"歸還失敗,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n">; printf<"<>\n">; getch<>;return<0>;}}〔3維修模塊同樣是首先輸入維修開始的時(shí)間和維修結(jié)束的時(shí)間,然后在儀器儀表的結(jié)構(gòu)體數(shù)組中查找該儀器儀表在這個(gè)歸還的時(shí)間點(diǎn)上有其他狀態(tài)。若有為空閑狀態(tài)則可以維修,否則不可維修。開始輸入維修開始結(jié)束時(shí)間開始輸入維修開始結(jié)束時(shí)間是是否空閑標(biāo)記狀態(tài)為維修返回主菜單否結(jié)束intmyrepair<intj>{ intyear,month,day; system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; printf<"請(qǐng)輸入開始維修時(shí)間〔年/月/日:">; scanf<"%d/%d/%d",&year,&month,&day>; if<equ[j].time[year][month][day]==inlib> { state<year,month,day,j,repair>;//改狀態(tài)為維修 printf<"\n\n">; printf<"請(qǐng)輸入維修結(jié)束時(shí)間〔年/月/日:">; scanf<"%d/%d/%d",&year,&month,&day>; state<year,month,day,j,inlib>; printf<"\n\n">; printf<"維修成功,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n">;printf<"<>\n">; getch<>;return<1>; } else { printf<"\n\n">; printf<"對(duì)不起!\n">; printf<"此儀器還沒有購買或借出,\n">; printf<"故無法維修。\n">; printf<"\n\n">; printf<"維修失敗,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n\n">; printf<"<>\n">; getch<>;return<0>;}}〔4刪除模塊刪除模塊將刪除本儀器儀表,具體刪除過程為將需要?jiǎng)h除的后一項(xiàng)覆蓋至刪除的這一項(xiàng),即需刪除以后的每一個(gè)結(jié)構(gòu)體元素都向前移一個(gè)單位。開始是開始是是否刪除循環(huán)將需刪除的后面所有元素整體向前移動(dòng)一個(gè)單位返回主菜單否結(jié)束intmydel<intj>{ charc='s'; intx=0; while<1> { system<"cls">; if<c=='s'||c=='S'>x++; if<c=='w'||c=='W'>x--; if<x==3>x=1; if<x==0>x=2; if<c==13> {if<x==1> { inti; for<i=n;i<n;i++> equ[i]=equ[i-1];n--; system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; printf<"報(bào)廢儀表已刪除!\n">; printf<"\n\n">; printf<"請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n">; printf<"<>\n">; getch<>;return; } else return; } printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; printf<"請(qǐng)問確定要報(bào)廢儀器%s嗎?\n",equ[j].name>; printf<"\n\n\n\n">; if<x==1> printf<">確定要報(bào)廢儀器<\n">; else printf<"確定要報(bào)廢儀器\n">; printf<"\n\n">; if<x==2> printf<">我要考慮考慮<\n">; else printf<"我要考慮考慮\n">; printf<"\n\n">;printf<"<>\n">; c=getch<>;}}<三>儀器儀表查找模塊儀器儀表查找分為按名稱查找、按時(shí)間點(diǎn)查找、按時(shí)間段查找三個(gè)模塊,通過鍵盤ws進(jìn)行選擇,分別用三個(gè)小模塊來表示,通過狀態(tài)函數(shù)condition_p輸出儀器儀表狀態(tài)。[程序]voidsearch<>{ charc='s'; intx=0; while<1>{ if<c=='s'||c=='S'>x++; if<c=='w'||c=='W'>x--; if<x==6>x=1; if<x==0>x=5; if<c==13> {switch<x> { case1:name<>;break; case2:time_d<>;break; case3:time_p<>;break; case4:return;}; }; system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; if<x==1> printf<">按名稱查詢<\n">; else printf<"按名稱查詢\n">; printf<"\n\n">; if<x==2> printf<">按時(shí)間段查詢<\n">; else printf<"按時(shí)間段查詢\n">; printf<"\n\n">; if<x==3> printf<">按時(shí)間點(diǎn)查詢<\n">; else printf<"按時(shí)間點(diǎn)查詢\n">; printf<"\n\n">; if<x==4> printf<">返回主菜單<\n">; else printf<"返回主菜單\n">; printf<"\n\n">; printf<"<>\n">; c=getch<>;}}因?yàn)椴还懿檎覘l件是什么,最終都會(huì)對(duì)應(yīng)到需查找的儀器儀表上,故補(bǔ)充一
個(gè)公共函數(shù)condition_p〔;,輸出查找一個(gè)儀器儀表的結(jié)果。[程序]voidcondition_p<intyear,intmonth,intday,intn,int*bool_repair,int*bool_lean> { //printf<"%d",equ[n].time[year][month][day]>;// system<"pause">; if<equ[n].time[year][month][day]==buy> printf<"%4d年%2d月%2d日購買%s儀器儀表\n",year,month,day,equ[n].name>; //借出/歸還 if<<equ[n].time[year][month][day]==lean>&&<<*bool_lean>==0>> {printf<"%4d年%2d月%2d日借出%s儀器儀表\n",year,month,day,equ[n].name>; <*bool_lean>=1;} //printf<"%d\n",equ[n].time[year][month][day]==lean>;//printf<"%d\n">; if<equ[n].time[year][month][day]==inlib&&<*bool_lean>==1> {printf<"%4d年%2d月%2d日歸還%s儀器儀表\n",year,month,day,equ[n].name>; <*bool_lean>=0;//printf<"%d",equ[n].time[year][month][day]>;} //維修/修完 if<equ[n].time[year][month][day]==repair&&<*bool_repair>==0> {printf<"%4d年%2d月%2d日開始維修%s儀器儀表\n",year,month,day,equ[n].name>; <*bool_repair>=1;} if<equ[n].time[year][month][day]==inlib&&<*bool_repair>==1> {printf<"%4d年%2d月%2d日結(jié)束維修%s儀器儀表\n",year,month,day,equ[n].name>; <*bool_repair>=0;}}〔1按名稱查找首先輸入儀器儀表的名稱,然后在結(jié)構(gòu)體數(shù)組中查找是否存在,這個(gè)儀器儀若是則循環(huán)該儀器儀表的所有時(shí)間點(diǎn)來判斷改時(shí)間點(diǎn)處于什么狀態(tài),并用公共函數(shù)condition_p來輸出。[程序]intname<>開始輸入儀器儀表名稱開始輸入儀器儀表名稱是是否存在循環(huán)并輸出返回主菜單否結(jié)束 inti; system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; printf<"請(qǐng)輸入儀器名字:">; scanf<"%s",equ_input>; i=presence<equ_input>; if<i!=0> { intj_y,j_d,j_m,bool_lean=0,bool_repair=0; for<j_y=0;j_y<=year_max;j_y++> for<j_m=0;j_m<=month_max;j_m++> for<j_d=0;j_d<=day_max;j_d++> { //P<j_y,j_m,j_d,m>;systen<"pause"> condition_p<j_y,j_m,j_d,i,&bool_lean,&bool_repair>; } printf<"\n\n">; printf<"查詢完成,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n\n">;printf<"<>\n">; getch<>;return<1>; } else { printf<"\n\n">; printf<"對(duì)不起!\n">; printf<"可能是由于您輸入錯(cuò)誤,\n">;開始輸入時(shí)間點(diǎn)開始輸入時(shí)間點(diǎn)結(jié)束循環(huán)每個(gè)儀器儀表的判斷狀態(tài)并輸出返回主菜單 printf<"\n\n">; printf<"查詢失敗,請(qǐng)按任意鍵返回主菜單\n">; printf<"\n\n">; printf<"<>\n">; getch<>;return<0>;}}〔2按時(shí)間點(diǎn)查詢[程序]inttime_p<> { inti,year,month,day,equ_tmp,bool_lean[101],bool_repair[101]; for<i=0;i<10;i++> { bool_lean[i]=0;bool_repair[i]=0;} system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n\n">; printf<"請(qǐng)輸入時(shí)間點(diǎn)〔年/月/日:">; scanf<"%d/%d/%d",&year,&month,&day>; printf<"\n\n">; for<equ_tmp=1;equ_tmp<=n;equ_tmp++> condition_p<year,month,day,equ_tmp,&bool_lean[equ_tmp],&bool_repair[equ_tmp]>;//每個(gè)儀器 printf<"\n\n">; printf<"查詢完成,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n">; printf<"<>\n">; getch<>;return<0>; }〔3按時(shí)間段查詢首先輸入起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn),應(yīng)為每個(gè)月的天數(shù)不完全一樣,用三重循環(huán)來做比較麻煩,故采用模擬法,設(shè)三個(gè)變量i、j、k,分別對(duì)應(yīng)年,月,日,然后賦予初值為起始時(shí)間點(diǎn),設(shè)置一無限循環(huán),循環(huán)內(nèi)設(shè)有判斷是否i、j、k的值為結(jié)束時(shí)間點(diǎn)的語句。若是則跳出循環(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自加。[程序]inttime_d<>開始輸入起始、結(jié)束時(shí)間點(diǎn)開始輸入起始、結(jié)束時(shí)間點(diǎn)結(jié)束循環(huán)每個(gè)儀器儀表,判斷狀態(tài),并輸出返回主菜單 equ_tmp,bool_lean[101],bool_repair[101]; for<i=0;i<101;i++> { bool_lean[i]=0;bool_repair[i]=0;} system<"cls">; printf<"\n\n\n\n">; printf<"<儀器儀表管理系統(tǒng)>\n">; printf<"\n">; printf<"請(qǐng)輸入起始時(shí)間〔年/月/日:">; scanf<"%d/%d/%d",&year1,&month1,&day1>; printf<"\n">; printf<"請(qǐng)輸入結(jié)束時(shí)間〔年/月/日:">; scanf<"%d/%d/%d",&year2,&month2,&day2>; printf<"\n">; i=year1;j=month1;k=day1; while<1> { if<j>12>{i++;j=1;} if<k>31>{j++;k=1;} for<equ_tmp=1;equ_tmp<=n;equ_tmp++> condition_p<i,j,k,equ_tmp,&bool_lean[equ_tmp],&bool_repair[equ_tmp]>; //每個(gè)儀器 if<<i==year2>&&<j==month2>&&<k==day2>>break;//到結(jié)束時(shí)間時(shí)終止輸出 k++;} printf<"\n\n">; printf<"查詢完成,請(qǐng)按任意鍵返回上一級(jí)菜單\n">; printf<"\n">; printf<"<>\n">; getch<>;return<0>; } 〔四公共函數(shù)<1>狀態(tài)改變函數(shù)因?yàn)樵谛薷膬x器儀表狀態(tài)時(shí)有大量的修改代碼,故專門補(bǔ)充一個(gè)狀態(tài)改變函數(shù)來改變狀態(tài)。函數(shù)的參數(shù)為年、月、日和需改成的狀態(tài)。[程序]intstate<intyear,intmonth,intday,intn,ints>{ //printf<"%d",n>; //system<"pause">; //通過for循環(huán)實(shí)現(xiàn)time數(shù)組的賦值 inti,j,k; for<k=day;k<=day_max;k++> equ[n].time[year][month][k]=s;//當(dāng)月改狀態(tài) for<j=month;j<=month_max;j++> for<i=1;i<=day_max;i++> equ[n].time[year][j][k]=s;//當(dāng)年改狀態(tài) for<i=year;i<=year_max;i++> for<j=i;j<=month_max;j++> for<k=1;k<=day_max;k++> equ[n].time[i][j][k]=s;//更改以后所有狀態(tài) //
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年仙居縣人民醫(yī)院招聘工作人員考試真題
- 中標(biāo)后催業(yè)主簽合同范例
- 2024年新疆昌吉學(xué)院(團(tuán)隊(duì))引進(jìn)筆試真題
- 鄉(xiāng)村承包開發(fā)合同范本
- 人員反聘合同范本
- 云梯租賃合同范本
- app開發(fā)服務(wù)合同范本
- 勞務(wù)合同范例放牧
- 《五、標(biāo)明引用內(nèi)容的出處》教學(xué)設(shè)計(jì)教學(xué)反思-2023-2024學(xué)年初中信息技術(shù)人教版七年級(jí)上冊(cè)
- 農(nóng)村電器購銷合同范本
- 清水河儲(chǔ)能電站施工方案
- 自學(xué)考試英語(二)教材
- 煤礦掘進(jìn)巷道施工工程質(zhì)量管理辦法1
- 5.實(shí)驗(yàn)設(shè)計(jì)的基本原則和常用方法
- 實(shí)用新型專利說明書
- GB/T 22919.1-2008水產(chǎn)配合飼料第1部分:斑節(jié)對(duì)蝦配合飼料
- 第6課《老山界》課件【備課精研+高效課堂】 部編版語文七年級(jí)下冊(cè)
- 第1課古代的農(nóng)耕文化課件
- 《人性的弱點(diǎn)》(課件)
- 臥式儲(chǔ)罐體積容積計(jì)算(帶公式)
- 前置胎盤詳解課件
評(píng)論
0/150
提交評(píng)論