




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序設(shè)計報告(2014 / 2015 學(xué)年 第1學(xué)期)題目:停車場管理系統(tǒng)專業(yè)組長學(xué)號姓名組員學(xué)號姓名指導(dǎo)教師指導(dǎo)單位日期成員分工組長()代碼部分:取車、查詢信息、修改停車費費率模塊 實驗報告:測試數(shù)據(jù)和結(jié)果分析、調(diào)試過程中的問 題組員()代碼部分:管理員登陸模塊 實驗報告:概要設(shè)計和課程小結(jié)組員()代碼部分:停車模塊的實現(xiàn)實驗報告:課程內(nèi)容和要求、需求分析評分細則評分項優(yōu)秀良好中等差遵守機房規(guī)章制度上機時的表現(xiàn)學(xué)習(xí)態(tài)度程序準備情況程序設(shè)計能力團隊合作精神課題功能實現(xiàn)情況算法設(shè)計合理性用戶界面設(shè)計告 報簡 短 評 語日月 :年評分等級備注一格 及 不 及 中 爪 良 五 共 級 等 分 評停車
2、場管理系統(tǒng)課題內(nèi)容和要求停車場管理是一個計時收費系統(tǒng),同時也是一個能對車位進行管理的系統(tǒng), 最基本的 功能是實現(xiàn)停車、取車、查詢以及修改停車費費率等功能。同時,為了使用的方便和安全 的考慮設(shè)計了管理員能對密碼進行修改的功能。在停車的功能中采用了文件流的形式,對 車位、車牌號、車型都進行了保存,以便于查詢功能的實現(xiàn),除此之外,也是為了能夠?qū)?現(xiàn)在取車模塊中利用輸入的車牌號自動計算出停車的費用。停車位第一個為空的位置,由 程序查詢自動給出車位號,如果車位已滿要給出提示。 取車時,需要根據(jù)車輛停泊時間自動計算費用(半小時內(nèi)以半價計算,超出半小時不足一小時按一小時計算)并顯示在屏幕 上,可以隨時根據(jù)車
3、牌查詢是否入庫??梢噪S時根據(jù)車位查詢該位置上的相關(guān)信息。本系 統(tǒng)對不同車型的費率給出了默認值,管理員可以根據(jù)實際需要對費率進行修改。功能要求:用C/C+設(shè)計一個程序?qū)崿F(xiàn)停車場管理系統(tǒng),要求如下:(1) 管理人員根據(jù)口令進入系統(tǒng);(2) 管理人員有權(quán)限對登陸賬號和密碼進行修改;(3) 管理車位信息(車位編號,狀態(tài))和每小時的收費費率;(4) 停車時錄入汽車停泊信息(車牌號,車型,停泊位置,停泊開始時間) ;如果車位已滿要給出提示;(5) 取車時,根據(jù)車牌取,如果沒有給出提示;需要根據(jù)車輛停泊時間自動計算費用并顯 示在屏幕上。(6) 管理人員可以根據(jù)需要隨時更改每小時的收費費率。二、需求分析停車場
4、管理系統(tǒng)的功能框架圖如圖 1 所示。圖1 功能框架圖(1) 系統(tǒng)主要包括了管理員登陸、 停車操作、取車操作、 信息查詢、費率修改這五大模塊, 每個模塊都用用相應(yīng)的函數(shù)來實現(xiàn)這些功能。2)在管理員登陸模塊中,設(shè)置了三次輸入機會,用戶名和密碼事先用文檔存儲,供使用者進入系統(tǒng);若管理員連續(xù)輸入密碼錯誤超過提示,則系統(tǒng)給出修改密碼或者退出系統(tǒng)的 提示,這些功能在函數(shù)名為 loadin ()的函數(shù)中實現(xiàn)。(3)管理員登陸模塊結(jié)束之后便到了系統(tǒng)的主要界面,選擇操作1 是停車模塊。在選擇停車操作之后,系統(tǒng)能夠?qū)崿F(xiàn)“將第一個為空的位置,由程序查詢自動給出車位號,如果車 位已滿要給出提示”這一功能用函數(shù) com
5、pare ()和jugement ()共同實現(xiàn)的。進入停車 模塊后,還應(yīng)選擇不同的車型進行停車,這一過程會調(diào)用 putcar ()和 gettime ()函數(shù), 用來給出不同車型的費率和調(diào)用停車時的系統(tǒng)時間。( 4)通常選擇了停車操作之后取車和查詢功能才會有意義, 所以取車和查詢公共主要是使 用了 campare ()函數(shù),調(diào)用strcmp ()字符串比較函數(shù)對輸入的車牌號和停車時的車牌 號進行比較,若相同,則返回該車位,達到取車和查詢的作用。( 5)不同的停車場可以根據(jù)需要修改每種車型的車輛對應(yīng)的費率。這個功能在修改費率的模塊中實現(xiàn)。( 6)根據(jù)不同的車型以及其停泊時間收費,間差乘以單價就是
6、最后收費,其中取車時,需 要根據(jù)車輛停泊時間自動計算費用(半小時內(nèi)以半價計算,超出半小時不足一小時按一小 時計算)并顯示在屏幕上。這個功能需要調(diào)用系統(tǒng)時間,因此在整個程序中包含了頭文件 后( #include<time.h> )利用結(jié)構(gòu)這種數(shù)據(jù)類型來實現(xiàn)。三、概要設(shè)計1. 主要結(jié)構(gòu)體為了實現(xiàn)停車場管理系統(tǒng)的停車、取車、查詢、修改功能,主要用一個while循環(huán),引用一些相應(yīng)的子函數(shù)通過輸入的數(shù)字選擇相應(yīng)的操作。 同時為了實現(xiàn)每個模塊的功能,F面是主要結(jié)構(gòu)體的流程圖:X r * 圖2主要結(jié)構(gòu)體流程圖2.主要函數(shù)流程圖(1)管理員登陸模塊管理員登陸模塊是用函數(shù)load in ()來實現(xiàn)的
7、,在load in ()函數(shù)中對賬號和密碼都有三次的輸入機會, 用變量 ai 來記錄輸入的次數(shù), 當 ai>=3 時,進入修改密碼的界面 在修改密碼模塊了,用 strcpy ()函數(shù)將輸入的字符串 adpassword1 賦值給密碼 adpassword( adpassword 為全局變量,所以才能起到修改的作用) 。修改完成密碼后, 在 loadin ()函數(shù)中再次調(diào)用 loadin ()函數(shù),這樣在修改密碼后就能重新回到登陸 界面進行登陸,大體程序流程圖如下:圖 3 管理員登陸模塊流程圖(2)比較函數(shù) compare()在停車場管理系統(tǒng)的取車、查詢模塊中都需要用到輸入“車牌號判斷停車
8、場中是否有該車”這個功能,而compare ()函數(shù)就是用來實現(xiàn)這個功能的。其大概思路是, 通過輸入的字符串與系統(tǒng)儲存有的字符串進行比較, 如果字符串相等就返回一個 0,如 果不相等就返回非 0,而通過 0 和非 0 的控制,便能實現(xiàn)判斷的功能,其流程圖如下所 示:圖 4 字符串比較函數(shù)流程圖(3)搜索空車位函數(shù) jugement()對于停車操作來說,需要在所有停車位中找到第一個空車位,并返回這個車位。在該系統(tǒng)中,這個功能由函數(shù)jugement ()來實現(xiàn)。設(shè)int型變量j為車位編號,利 用數(shù)字 positionj 的值是否為 1,來判斷是車位是否為空(這里是將 1 視為有車, 0 為無車)。
9、圖 5 搜索空車位函數(shù)流程圖在這個函數(shù)中還要注意:在用 while 循環(huán)對每個車位進行逐個判斷的時候, j 一定要小于停車場的總車位。除此之外,返回第一個空車位表示將要在這個車位進行停車,因 此要重新將 positionj 的值置為 1。四、源程序代碼#include <iostream>#include <string>#include <time.h>#include<fstream>using namespace std;class carpublic:char no10;int pos;double fee;void putcar();v
10、oid takecar();void changefee();class Timepublic:int hour;int min;void getime();char adpassword10="123456"char adname10="wcx"int i,poi;int position50=0;/ 全局變量car carin50;Time catime50;double Fee1=6.0, Fee2=5.0, Fee3=4.0 , Fee4=3.0 ;int jugement();int compare();void search_no();voi
11、d search_position();void loadin();void main()/ 管 理 員 登 陸 模loadin();/ 登 陸 模 塊 結(jié)int k=0;cout<<""<<endl;cout<<" 請選擇 :"II<<"nnt<<"nnt 1. 停車操作 "<<"nnt 2. 取車操作 "<<"nnt 3. 查詢信息 "<<"nnt 4. 修改車費 "
12、<<"nnt 5. 退出"<<"nntnn"ofstream outfile("車輛信息 .txt",ios:app);if(! outfile)cerr<<"open error!"<<endl;exit(1);while(cin>>k)if(k=1)i=jugement();/通過 jugement() 函數(shù)返回第一個空的車位 icout<<"" <<endl;cout<<"t 請輸入車
13、牌號 :"cin>>carini.no; / 用戶輸入停在第 i 個車位的車牌號carini.putcar();cout<<" 請選擇 :"<<"nnt"<<"nnt 1. 停車操作 "<<"nnt 2. 取車操作 "<<"nnt 3. 查詢信息 "<<"nnt 4. 修改車費 "<<"nnt 5. 退出"<<"nnt nn&qu
14、ot;string time1;time_t t;time(&t);time1=ctime(&t);導(dǎo)入系統(tǒng)時間cout<<time1;/ outfile<<carini.no<<" "<<time1<<endl;continue;if(k=2)poi=compare();carinpoi.takecar();cout<<" 請選擇 :"<<"nnt"<<"nnt 1. 停車操作 "<<&qu
15、ot;nnt 2. 取車操作 "<<"nnt 3. 查詢信息 "<<"nnt 4. 修改車費 "<<"nnt 5. 退出"<<"nntnn"continue;if(k=3)int x;while(1)cout<<" 請輸入數(shù)字選擇需要的操作: "<<endl; cout<<""<<endl;cout<<"nnt"<<"
16、nnt1. 查詢車牌號 "<<"nnt2.查詢車位 "<<"nnt 3. 退出查詢 "<<"nntnn"cin>>x;if(x=1)search_no();break;else if(x=2)search_position();break;else if(x=3)break;elsecout<<"t選擇錯誤 , 請重新選擇 :"cout<<" 請選擇 :" <<"nnt<<&quo
17、t;nnt 1. 停車操作 "<<"nnt 2. 取車操作 "<<"nnt 3. 查詢信息 "<<"nnt 4. 修改車費 "<<"nnt 5. 退出"nn"<<"nnt /outfile.close();if(k=4)carini.changefee(); continue;if(k=5)exit(0);/loadin()void loadin()char an10,ap10;int ai=0;"<<e
18、ndl;coutvv" 歡迎使用XX停車場管理系統(tǒng)while(1)cout<<""<<endl;cout<<" 請輸入管理員用戶名 :"cin>>an;if(strcmp(adname,an)cout<<" 此用戶名不存在 !n"ai+;if(ai=3)exit(0);continue;elsecout<<" 請輸入密碼 :"cin>>ap;if(!strcmp(adpassword,ap)break;elseai+;co
19、ut<<" 密碼錯誤 !n""<<endl;"<<endl;if(ai=3)cout<<""<<endl;cout<<" 密碼連續(xù)輸入錯誤 3 次,請重新選擇操作:cout<<""<<endl;cout<<" 1. 修改密碼 "<<endl;cout<<" 2. 退出系統(tǒng) "<<endl;cout<<"
20、"<<endl;int k;while(cin>>k)if(k=1)cout<<" 請輸入新的密碼,密碼不超過 10 位數(shù):char adpassword110;cin>>adpassword1;strcpy(adpassword,adpassword1);cout<<adpassword<<endl;cout<<" 你的新密碼是: "<<endl;loadin();break;if(k=2)exit(0);if(k!=1&&k!=2)cout
21、<<" 輸入錯誤,請重新輸入:return;continue;/ jugement()int jugement() / 判斷出第一個空的車位int j=0;while(positionj=1&&j<50)j+;cout<<" 共有 50 個停車位,當前可使用停車位 :"<<50-j<<endl;cout<<""<<endl;cout<<" 本停車場收費標準如下: "<<endl;cout<<&qu
22、ot;"<<endl;coutvv"貨車每小時"vvFeelvv"元,客車每小時"<<Fee2<<"元,轎車每小時"<<Fee3<<" 元,其它車輛每小時"<<Fee4<<"元。"<<endl; cout<<" 注:停車時間小于 30分鐘的按 0.5 個小時計算,超過 30 分鐘但不足 1 小時的 按 1 個小時收費 "<<endl;if(j<
23、;50)positionj=1; /當找到第一個空車位時(即 position=0 時,并且滿足車位號 j<100 的情況下) ,然后選擇該車位停車,/ 停車后將 position 重新置為 1 ,表示該車位現(xiàn)在已經(jīng)停車了。 (在這種 情況下表示找到空車位后就必須停在這個車位上)return j;/compare() int compare()char ch10;cout<<"t 請輸入車牌號 :"cin>>ch;for(int k=0;k<50;k+)if(!strcmp(ch,carink.no) / 將輸入的車牌號與停車場上的每個位
24、子的車輛進行比較(包括那些沒停車的車位)if(positioncarink.pos-1=1) / 在 car:putcar() 函數(shù)中因為要輸出車位號,所以將對象數(shù)組 carink.pos 變?yōu)榱?carink.pos+1 ,/ 于是用數(shù)組 position 找已經(jīng)停車的車位時要將其處理為 carink.pos-1return (carink.pos-1);break;if(k=50)return k;/car:putcar()void car:putcar()int t; / 車輛類型的變量while(1)cout<<" 請選擇車型: "<<end
25、l; cout<<""<<endl;cout<<"nnt<<"nnt 貨車請輸入 1" <<"nnt 客車請輸入 2" <<"nnt 轎車請輸入 3"<<"nnt 其他車輛請輸入 4"IInn"<<"nnt cin>>t;if(t=1)carini.fee=Fee1;break;else if(t=2)carini.fee=Fee2;break;else if
26、(t=3)carini.fee=Fee3;break;else if(t=4)carini.fee=Fee4;break;cout<<" 輸入錯誤!請重新輸入: n"if(i=50)cout<<" 對不起,車位已滿! n"carini.pos=i+1; / 自動輸出車位號,數(shù)組里 0 表示第一位,而車位的第一位是 1,所以 carini.pos=i+1 ;cout<<"nnt"cout<<"nnt 已成功選擇車位 ! 車位號是 :"<<carini.pos
27、<<endl; catimei.getime();cout<<"nnt 現(xiàn)在時間是 :"<<catimei.hour<<":"<<catimei.min<<endl;cout<<"nnt"<<endl;/car:takecar()void car:takecar()int hour1,min1;double charge;if(poi<50)positionpoi=0; / 通過取車操作后, 重新將該車位設(shè)定為空車位hour1=cat
28、imepoi.hour;min1=catimepoi.min;catimepoi.getime();hour1=catimepoi.hour-hour1;min1=catimepoi.min-min1;if(min1<30)/ 計算出停車時間,不足 30 分鐘的按 30分鐘計算charge=carinpoi.fee*hour1+carinpoi.fee*0.5;elsecharge=carinpoi.fee*hour1+carinpoi.fee;cout«"t車費為:"vvchargevv"元.n" /計算出車費輸出else cout&l
29、t;<"t 無此車 !n"/Time:getime()void Time:getime()struct tm *newtime;time_t long_time; /time_t用來定義長整型數(shù) long_timetime( &long_time );newtime = localtime( &long_time );hour=newtime->tm_hour;min=newtime->tm_min;/ search_no() void search_no() int poi=compare();if(poi<50)cout<&
30、lt;"t 此車已入庫,車位為: "<<poi+1<<endl;elsecout<<"t 此車沒有入庫。 n" / 根據(jù)車牌號查詢是否入庫/search_positon()void search_position()int loc;cout<<" " <<endl;cout<<"t 車位號是 :" / 根據(jù)車位查詢車位狀態(tài)cin>>loc;if(positionloc-1=1)cout<<"t 車牌號 :&qu
31、ot;<<carinloc-1.no<<endl;停車直cout<<"t 停車時間 :"<<catimeloc-1.hour<<":"<<catimeloc-1.min<<endl;/ 到現(xiàn)在的時間elsecout<<"t 此車位無車 !"/void car:changefee()cout<<" 請選擇修改的車型: "<<"nntIIcout<<"nnt"
32、<<"nnt修改貨車費用請輸入 1<<"nnt修改客車費用請輸入 2<<"nnt修改轎車費用請輸入 3修改 其他費用 請輸入 4<<"nnt退 出 修 改 請輸入 5 "<<"nnt nn"int type;cin>>type;while(1)if(type=1)double fee1;cout<<" 每小時貨車費用: "cin>>fee1;Fee1=fee1;cout<<" 車費修改成功
33、 !"<<endl;break;else if(type=2)double fee2;cout<<" 每小時客車費用:cin>>fee2;Fee2=fee2;cout<<" 車費修改成功 !"<<endl;break;else if(type=3)double fee3;cout<<" 每小時轎車費用: "cin>>fee3;Fee3=fee3;cout<<" 車費修改成功 !"<<endl;break;el
34、se if(type=4)double fee4;cout<<" 每小時轎車費用:cin>>fee4;Fee4=fee4;cout<<" 車費修改成功 !"<<endl; break;else if(type=5)break;cout<<" 請選擇 :"<<"nnt"<<"nnt 1. 停車操作 "<<"nnt 2. 取車操作 "<<"nnt 3. 查詢信息 "
35、;<<"nnt 4. 修改車費 "<<"nnt 5. 退出"nn"<<"nnt/ 程 序 結(jié) 束 。五、測試數(shù)據(jù)及其結(jié)果分析 (1)修改密碼時密碼長度超過限制引起的錯誤圖 6 修改密碼時密碼長度超過限制的錯誤登陸界面 因為修改密碼的時候字符串長度設(shè)置為 10 個字符,當密碼長度超過 10 位就會引起內(nèi)部錯誤(字符 wcx'為正確的登陸賬號)。如果設(shè)置一個密碼的字符長度判斷功能的函數(shù),能讓輸入超過十位后重新輸入,就可以解決這個問題。( 2)賬號輸入錯誤引起的不能正常退出圖 7 賬號輸入錯誤引起
36、的不能正常退出的界面圖賬號連續(xù)輸入錯誤后卻進入了系統(tǒng), 之所以出現(xiàn)這個原因是因為在判斷賬號的錯誤次數(shù)的循環(huán)中沒有正常退出,代碼如下:if(strcmp(adname,an) cout<<" 此用戶名不存在 !n"ai+;if(ai=3) return ; / 在這里只要把 return 改為 exit ( 0)后就能得到正確結(jié)果 continue;修改得到的正確結(jié)果如下圖所示:圖 8 賬號輸入錯誤正常退出系統(tǒng)的界面圖(3)選擇停車操作后顯示的停車費率圖 9 修改停車費率前信息顯示圖 剛進入系統(tǒng)是若沒有選擇修改車費的操作,此時顯示的費率則是系統(tǒng)默認的,這是由于程序
37、里將代表四種車型的費率的變量Feel Fee2、Fee3 Fee4的設(shè)為了全局并且賦了初值。修改了車費費率的圖如下:圖 10 修改停車費率后信息顯示圖 不足的是必須是選擇了停車操作之后車位的信息和費率才能顯示出來,實用性差了一些。六、調(diào)試過程中的問題(1). 字符串比較函數(shù) strcmp ()的使用在C/C+語言中,常用strcmp ()函數(shù)來比較兩個字符串,一般形式為 strcmp (字 符串S1,字符串S2)。當S仁S2時,返回值為0,否則為非零。在管理員用戶登錄 模塊處理輸入的賬號和密碼時就使用了該功能:if(strcmp(adname,an) / an 為用戶輸入的賬號cout<
38、<" 此用戶名不存在 !n"這里在設(shè)計的時候比較容易出錯,因為若兩個字符串不相等,則 strcmp ()返回 的值是非零,在 if 條件下為真,所以才會輸出用戶名不存在,在看程序的時候很 容易會看成是兩個字符串相等后輸出用戶名不存在。在運用string 類提供的strcmp (si, s2)的函數(shù)時還需要參數(shù)si和s2的類型, 若si和s2的類型都char的時候,則編譯器不會報錯,若 si和s2的類型都為 string 的時候編譯器便會提示類型錯誤,這時候應(yīng)修改為strcmp( si.c_strc ,s2.c_strc ) ;這樣才能對 strcmp ()函數(shù)的正確使
39、用。2) continue 和 break 的使用在 while 和 for 的循環(huán)中, continue 和 break 是非常常見的用來控制循環(huán)的語句, continue 和 break 的使用不相同而且還很容易出錯。有一種最常見的錯誤 便是非法使用, 比如在一些非 while 、for 、if 這些循環(huán)或者判斷的語句下使用,編譯器在編譯的時候就會給出“ illegal break ”或者“ illegal continue ”這樣的報錯,這是比較容易修改的錯誤的;還有一種是比較難發(fā)現(xiàn)的錯誤,就是在很多循環(huán)嵌套的時候經(jīng)常會發(fā)現(xiàn)不知道程序跳到哪一步了。比如在“管理員登陸”模塊的時候就出現(xiàn)過修
40、改密碼后一直停在輸入賬號和密碼這個這里,在loadin ()的后面加入 break 語句后就能解決問題了。而這就需要用 visual C+ 自帶的調(diào)試器進行調(diào)試,去發(fā)現(xiàn)錯誤。調(diào)試的一般思路是在你覺得最有可能出錯的地方,或者你不確定循環(huán)是不是跳到的地方按F9設(shè)置斷言,然后按F5進行局部調(diào)試,等到程序運行到斷言的位置后再一步一步按F10進行判斷,就能發(fā)現(xiàn)哪里出錯了,這是比較可靠地判斷出錯誤的方法。3)Car 類設(shè)計的作用在停車場管理系統(tǒng)中,多次調(diào)用了同一輛車的車牌號、停車費用、車位,因此 為了編程的方便,將車牌號、費用和車位這些變量設(shè)為類 car 的公有成員。同時 還申明了 car 類的對象數(shù)組 carin 為全局變量,數(shù)組的大小表示停車位的多少, 每個停車位用全局變量 i 來表示。這樣做的好處是使函數(shù)書寫方便,比如說,當 要用到第 i 個車位的車牌號,只要用 carini.no 就
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐飲企業(yè)數(shù)字化轉(zhuǎn)型股東合作協(xié)議
- 二零二五年度酒店客房預(yù)訂與商務(wù)洽談與住宿套餐合同
- 二零二五年度婚姻介紹所涉外婚姻服務(wù)合同
- 二零二五餐飲業(yè)商鋪租賃合同附贈會員管理系統(tǒng)合作
- 2025年宜賓貨運從業(yè)資格考題
- 《物流系統(tǒng)分析》課件 項目七任務(wù)一 認識物流系統(tǒng)控制
- 村支部書記發(fā)言稿
- 殘聯(lián)疫情發(fā)言稿
- 高中家長會:高二下學(xué)期期末家長會課件
- 吉安市房屋租賃合同
- 氣管切開患者的管理和康復(fù)治療推薦意見(新版)解讀
- 疼痛科營銷方案
- 中醫(yī)藥在關(guān)節(jié)病變治療中的價值
- 《香水知識》課件
- 公務(wù)員獎勵審批表(表格)
- 醫(yī)院污水處理站維保服務(wù)項目
- 裝修項目經(jīng)理的簡歷樣板
- 供應(yīng)商績效考核表 (季度)
- Python程序設(shè)計基礎(chǔ)及實踐(慕課版)PPT完整全套教學(xué)課件
- 《爭做新時代好少年》主題班會課件(美德好少年)
- 撞擊力計算公式詳解
評論
0/150
提交評論