




已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目 錄一、需求與功能分析第二章 概要設(shè)計(jì)52.1總體設(shè)計(jì)5 2.2面向?qū)ο笤O(shè)計(jì)52.3運(yùn)行界面設(shè)計(jì)6第三章 詳細(xì)設(shè)計(jì)73.1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)73.2 模塊設(shè)計(jì)8第四章 測(cè)試分析10第五章 課程設(shè)計(jì)總結(jié)10附錄:程序代碼(僅電子版需要、紙質(zhì)版不需要)一、需求與功能分析1.1需求為了方便管理校內(nèi)各種實(shí)驗(yàn)設(shè)備,能夠翻遍快捷的錄入查詢各個(gè)實(shí)驗(yàn)設(shè)備的基本信息而編寫(xiě)了此程序?qū)嶒?yàn)設(shè)備管理系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)設(shè)備信息包括:設(shè)備編號(hào),設(shè)備種類(lèi)(如:微機(jī)、打印機(jī)、掃描儀等等),設(shè)備名稱,設(shè)備價(jià)格,設(shè)備購(gòu)入日期,是否報(bào)廢,報(bào)廢日期等。1.2主要功能:1、能夠完成對(duì)設(shè)備的錄入和修改。2、對(duì)設(shè)備進(jìn)行分類(lèi)統(tǒng)計(jì)。4、 設(shè)備的破損耗費(fèi)和遺損處理。4、設(shè)備的查詢。1.3功能需求1、 可實(shí)現(xiàn)管理員登陸管理系統(tǒng),游客查詢系統(tǒng)。2、 對(duì)實(shí)驗(yàn)設(shè)備類(lèi)型的管理。3、 對(duì)實(shí)驗(yàn)設(shè)備各項(xiàng)信息的錄入和修改。4、 對(duì)實(shí)驗(yàn)設(shè)備的分類(lèi)查詢統(tǒng)計(jì)。5、 對(duì)實(shí)驗(yàn)設(shè)備的遺損處理二、 概要設(shè)計(jì)2.1總體設(shè)計(jì)程序總體共分為4個(gè)類(lèi):1、 菜單類(lèi)2、 設(shè)備類(lèi)型類(lèi)3、 設(shè)備類(lèi)4、 管理員類(lèi) 由主函數(shù)主持整體運(yùn)行,由菜單類(lèi)調(diào)用其它三類(lèi)2.1 面向?qū)ο笤O(shè)計(jì)1.設(shè)備類(lèi)型類(lèi): (見(jiàn)圖2) void shuru(); /設(shè)備類(lèi)型的輸入void tianjia(); /設(shè)備類(lèi)型的添加void shanchu(); /設(shè)備類(lèi)型的刪除void show(); /設(shè)備類(lèi)型的輸出顯示void xieru(); /設(shè)備類(lèi)型的寫(xiě)入void duqu(); /設(shè)備類(lèi)型的讀取2. 設(shè)備類(lèi): nfom* write() /設(shè)備的創(chuàng)建寫(xiě)入 (見(jiàn)圖3) Infom* load() /從文檔中讀取數(shù)據(jù) (見(jiàn)圖4) void acquire(Infom* head) /分類(lèi)查詢數(shù)據(jù) (見(jiàn)圖5) void acquire2(Infom* head) /查詢?nèi)繑?shù)據(jù) (見(jiàn)圖5)void acqu(char choose) /分類(lèi)查詢的內(nèi)容支持 (見(jiàn)圖5)void add() /添加新內(nèi)容 (見(jiàn)圖6)void undo(Infom* head) /刪除 (見(jiàn)圖7)int save(Infom* head) /將現(xiàn)數(shù)據(jù)進(jìn)行保存void revise(Infom* head) /修改數(shù)據(jù) void classify(Infom* head) /對(duì)數(shù)據(jù)的分類(lèi)統(tǒng)計(jì) (見(jiàn)圖8)void clasK(Infom* head) /類(lèi)型的分類(lèi)統(tǒng)計(jì) (見(jiàn)圖8)void clasP(Infom* head) /價(jià)格的分類(lèi)統(tǒng)計(jì) (見(jiàn)圖8)void clasE(Infom* head) /是否報(bào)廢的統(tǒng)計(jì) (見(jiàn)圖8)3. 管理員類(lèi): void create() /創(chuàng)建用戶名和密碼int log() /登陸void change() /修改用戶名和密碼2.2 運(yùn)行界面設(shè)計(jì)運(yùn)行界面由菜單類(lèi)實(shí)現(xiàn);菜單類(lèi):1.int menu1(device *p,struct ShiyanEquip *head,DeviceTipe *a,manager *b) /管理模式主菜單2.int menu2(device *p,struct ShiyanEquip *head,DeviceTipe *a) /游客模式主菜單3.struct ShiyanEquip * entering(device *p)/管理模式錄入菜單4.struct ShiyanEquip *entering2(device *p)/游客模式錄入菜單5.struct ShiyanEquip * change(device *p)/修改菜單6.struct ShiyanEquip * query(device *p)/查詢菜單7.struct ShiyanEquip * statistic(device *p)/分類(lèi)統(tǒng)計(jì)菜單8.struct ShiyanEquip * account(manager *b)/賬號(hào)菜單9.struct ShiyanEquip * type(DeviceTipe *a)/設(shè)備類(lèi)型菜單三、 詳細(xì)設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)登陸創(chuàng)建開(kāi)始錄入主菜單2全部查詢創(chuàng)建查詢主菜單1分類(lèi)查詢錄入載入添加統(tǒng)計(jì)分類(lèi)查詢?nèi)坎樵儎h除修改添加載入查詢修改設(shè)備類(lèi)型修改賬號(hào)類(lèi)型統(tǒng)計(jì)輸入報(bào)廢統(tǒng)計(jì)載入價(jià)格統(tǒng)計(jì)顯示刪除【總體框架、流程設(shè)計(jì),模塊劃分及接口設(shè)計(jì)等】總體框架:圖1接口設(shè)計(jì):1. int menu1(device *p,struct ShiyanEquip *head,DeviceTipe *a,manager *b) 功能 調(diào)用管理模式主菜單并指向管理模式各項(xiàng)分菜單2. int menu2(device *p,struct ShiyanEquip *head,DeviceTipe *a) 功能 調(diào)用游客模式主菜單并指向游客模式各項(xiàng)分菜單3. struct ShiyanEquip * entering(device *p) 功能 指向設(shè)備類(lèi)中的新建,載入和添加函數(shù)并完成相應(yīng)函數(shù)功能4. struct ShiyanEquip *entering2(device *p) 功能 指向設(shè)備類(lèi)中的載入函數(shù)并完成函數(shù)功能5. struct ShiyanEquip * change(device *p) 功能 指向設(shè)備類(lèi)中的修改和刪除函數(shù)并完成相應(yīng)函數(shù)功能6. struct ShiyanEquip * query(device *p) 功能 指向設(shè)備類(lèi)中的分類(lèi)查詢和全部查詢函數(shù)并完成相應(yīng)函數(shù)功能7. struct ShiyanEquip * statistic(device *p) 功能 指向設(shè)備類(lèi)中的分類(lèi)統(tǒng)計(jì)函數(shù)并完成相應(yīng)三類(lèi)的統(tǒng)計(jì)8. struct ShiyanEquip * account(manager *b) 功能 指向管理員類(lèi)中的修改函數(shù)完成修改賬戶及密碼的功能9. struct ShiyanEquip * type(DeviceTipe *a) 功能 指向設(shè)備類(lèi)型類(lèi)中的各個(gè)函數(shù)并完成有關(guān)設(shè)備類(lèi)型的全部功能3.2 模塊設(shè)計(jì)設(shè)備類(lèi)型0載入1輸入2添加3刪除輸入要輸入的類(lèi)型4顯示存在刪除輸入要添加的類(lèi)型1重輸 輸入要?jiǎng)h除的類(lèi)型 不存在0 返回【各模塊的具體設(shè)計(jì)與實(shí)現(xiàn)】 設(shè)備類(lèi)型類(lèi): 圖2 圖3賦予讀入結(jié)束結(jié)束load是否為空是否為空否是 write 輸入load儲(chǔ)存 是否為0結(jié)束否是設(shè)備類(lèi):圖4圖5選擇分類(lèi)是否為空選擇查詢方式讀取匹配全部顯示顯示結(jié)束Acquire2選擇否是全部分類(lèi)ClassifyEClassifyClassifyPClassifyK匹配2匹配3匹配1讀取b2+b1+b0+是否為空輸出結(jié)束否是圖8圖7圖6add是否為0結(jié)束輸入儲(chǔ)存否是刪除結(jié)束輸入U(xiǎn)ndo判斷匹配是否為0是否否是四 、 測(cè)試分析【測(cè)試中發(fā)現(xiàn)的問(wèn)題及解決方案】1. 缺少必要的文字描述(已解決)2. 輸出的格式問(wèn)題(已解決)3. 不能刪除唯一一項(xiàng)數(shù)據(jù)的問(wèn)題(已解決)4. 設(shè)備操作中缺失最后一行的問(wèn)題(已解決)5. 不能返回上一級(jí)菜單的問(wèn)題(已解決)6. 價(jià)格統(tǒng)計(jì)時(shí)不能確定準(zhǔn)確比較的問(wèn)題(已解決)【對(duì)最終成果的評(píng)價(jià)】整體來(lái)說(shuō)比較滿意,是最近辛苦努力的偉大成果,但是有如下幾點(diǎn)有待改進(jìn)1. 可以進(jìn)行漢字輸入但是不能進(jìn)行漢字查詢的問(wèn)題2. 管理員賬號(hào)不能隨意登出的問(wèn)題3. 設(shè)備類(lèi)中沒(méi)有使用private導(dǎo)致保密性不強(qiáng)的問(wèn)題五、源程序#include#include#include#include#include#includeusing namespace std;class DeviceTipe /定義設(shè)備類(lèi)型類(lèi)private: char sblx2020; /設(shè)備類(lèi)型public: void shuru(); /設(shè)備類(lèi)型的輸入void tianjia(); /設(shè)備類(lèi)型的添加void shanchu(); /設(shè)備類(lèi)型的刪除void show(); /設(shè)備類(lèi)型的輸出顯示void xieru(); /設(shè)備類(lèi)型的寫(xiě)入void duqu(); /設(shè)備類(lèi)型的讀取;/=/=class device /定義設(shè)備類(lèi)public:typedef struct infomchar idnum10; /編號(hào)char kind10; /類(lèi)型char name10; /名稱char price10; /價(jià)格char purda10; /購(gòu)買(mǎi)日期char exist10; /是否報(bào)廢char damda10; /報(bào)廢日期struct infom *next;Infom;Infom* head;DeviceTipe wcs;Infom* write() /設(shè)備的創(chuàng)建寫(xiě)入fstream the(aaa.txt,ios:out|ios:app);Infom *p1,*p2;head=NULL; wcs.duqu();wcs.show();p1=p2=(Infom *)malloc(sizeof(Infom);cout請(qǐng)輸入編號(hào) 種類(lèi) 名稱 價(jià)格 購(gòu)買(mǎi)日期 是否報(bào)廢 報(bào)廢日期(空格鍵斷開(kāi)/按0鍵結(jié)束輸入):p1-idnum p1-kind p1-name p1-price p1-purda p1-exist p1-damda;theidnum kind name price purda exist damdanext=NULL;while(1)if(head=NULL)head=p1;if(head!=NULL)p2-next=p1;p2=p1;p1=(Infom *)malloc(sizeof(Infom);cinp1-idnum;if(*(p1-idnum)=0)free(p1);break;cinp1-kind p1-name p1-price p1-purda p1-exist p1-damda; theidnum kind name price purda exist damdanext=NULL;the.close();cout寫(xiě)入成功endl;load();return head;/=Infom* load() /從文檔中讀取數(shù)據(jù)int n,a;char tran780;int b;Infom *p1,*p2;fstream t(aaa.txt);head=NULL;p1=p2=(Infom*)malloc(sizeof(Infom); if(t.getline(tran0,80,n)=NULL)cout載入失敗idnuma=tran0n;a+;p1-idnuma=0;for(a=0,n=n+1;tran0n!= ;n+)p1-kinda=tran0n;a+;p1-kinda=0;for(a=0,n=n+1;tran0n!= ;n+)p1-namea=tran0n;a+;p1-namea=0;for(a=0,n=n+1;tran0n!= ;n+)p1-pricea=tran0n;a+;p1-pricea=0;for(a=0,n=n+1;tran0n!= ;n+)p1-purdaa=tran0n;a+;p1-purdaa=0;for(a=0,n=n+1;tran0n!= ;n+)p1-exista=tran0n;a+;p1-exista=0;for(a=0,n=n+1;tran0n!=0;n+)p1-damdaa=tran0n;a+;p1-damdaa=0;p1-next=NULL;for(b=1;t.getline(tranb,80,n)!=NULL;b+)if(head=NULL)head=p1;elsep2-next=p1;p2=p1;p1=(Infom*)malloc(sizeof(Infom);for(n=0,a=0;tranbn!= ;n+)p1-idnuma=tranbn; a+;p1-idnuma=0; for(a=0,n=n+1;tranbn!= ;n+)p1-kinda=tranbn; a+;p1-kinda=0; for(a=0,n=n+1;tranbn!= ;n+)p1-namea=tranbn;a+;p1-namea=0; for(a=0,n=n+1;tranbn!= ;n+)p1-pricea=tranbn; a+;p1-pricea=0; for(a=0,n=n+1;tranbn!= ;n+) p1-purdaa=tranbn; a+;p1-purdaa=0; for(a=0,n=n+1;tranbn!= ;n+) p1-exista=tranbn; a+;p1-exista=0; for(a=0,n=n+1;tranbn!=0;n+) p1-damdaa=tranbn; a+;p1-damdaa=0;p2-next=p1;p1-next=NULL;if(b=1)head=p1;cout載入成功endl;return head;/=void acquire(Infom* head) /分類(lèi)查詢數(shù)據(jù)char choose;cout請(qǐng)選擇查詢方式:endl;cout1. 編號(hào)endl;cout2. 名稱endl;cout3. 類(lèi)型endl;cout4. 價(jià)格endl;cout5. 購(gòu)買(mǎi)日期endl;cout6. 是否報(bào)廢endl;cout7. 報(bào)廢日期endl;cout0. 結(jié)束查詢endl;choose=getch();switch(choose)case 1:acqu(choose);break;case 2:acqu(choose);break;case 3:acqu(choose);break; case 4:acqu(choose);break; case 5:acqu(choose);break; case 6:acqu(choose);break; case 7:acqu(choose);break;case 0:break;void acquire2(Infom* head) /查詢?nèi)繑?shù)據(jù)Infom* t=head;if(t=NULL)cout對(duì)不起,信息不存在endl;elsecout 編號(hào) 種類(lèi) 名稱 價(jià)格 購(gòu)買(mǎi)日期 是否報(bào)廢 報(bào)廢日期next!=NULL;)coutsetfill( )setw(10)idnum setfill( )setw(10)kind setfill( )setw(10)name setfill( )setw(10)price setfill( )setw(10)purda setfill( )setw(10)exist setfill( )setw(10)damdanext;coutsetfill( )setw(10)idnum setfill( )setw(10)kind setfill( )setw(10)name setfill( )setw(10)price setfill( )setw(10)purda setfill( )setw(10)exist setfill( )setw(10)damdaendl;void acqu(char choose) /分類(lèi)查詢的內(nèi)容支持Infom* t=head;char *s;int a=0;char xyz10;coutxyz;for(;t-next!=NULL;)switch(choose)case1:s=t-idnum;break;case2:s=t-name;break;case3:s=t-kind;break; case4:s=t-price;break; case5:s=t-purda;break; case6:s=t-exist;break; case7:s=t-damda;break;if(strcmp(s,xyz)=0)if(a=0)cout 編號(hào) 種類(lèi) 名稱 價(jià)格 購(gòu)買(mǎi)日期 是否報(bào)廢 報(bào)廢日期endl;coutsetfill( )setw(10)idnum setfill( )setw(10)kind setfill( )setw(10)name setfill( )setw(10)price setfill( )setw(10)purda setfill( )setw(10)exist setfill( )setw(10)damdanext;switch(choose)case1:s=t-idnum;break;case2:s=t-name;break; case3:s=t-kind;break; case4:s=t-price;break; case5:s=t-purda;break; case6:s=t-exist;break; case7:s=t-damda;break;if(strcmp(s,xyz)=0)if(a=0)cout 編號(hào) 種類(lèi) 名稱 價(jià)格 購(gòu)買(mǎi)日期 是否報(bào)廢 報(bào)廢日期endl;coutsetfill( )setw(10)idnum setfill( )setw(10)kind setfill( )setw(10)name setfill( )setw(10)price setfill( )setw(10)purda setfill( )setw(10)exist setfill( )setw(10)damdaendl;a+;if(a=0)cout對(duì)不起,您查詢的信息不存在endl;/=void add() /添加新內(nèi)容fstream the(aaa.txt,ios:out|ios:app);Infom *p1,*p2;head=NULL; wcs.duqu();wcs.show();p1=p2=(Infom *)malloc(sizeof(Infom);cout請(qǐng)輸入編號(hào) 種類(lèi) 名稱 價(jià)格 購(gòu)買(mǎi)日期 是否報(bào)廢 報(bào)廢日期(空格鍵斷開(kāi)/按0鍵結(jié)束輸入):p1-idnum p1-kind p1-name p1-price p1-purda p1-exist p1-damda;theidnum kind name price purda exist damdanext=NULL;while(1)if(head=NULL)head=p1;if(head!=NULL)p2-next=p1;p2=p1;p1=(Infom *)malloc(sizeof(Infom);cinp1-idnum;if(*(p1-idnum)=0)free(p1);break;cinp1-kind p1-name p1-price p1-purda p1-exist p1-damda; theidnum kind name price purda exist damdanext=NULL;the.close();cout添加成功endl;load();/=void undo(Infom* head) /刪除struct infom *p1,*p2;char num10;char aaa10=0;char choose;wcs.duqu();wcs.show();cout請(qǐng)輸入要?jiǎng)h除的編號(hào)(空格鍵斷開(kāi)按0鍵結(jié)束):num;if(strcmp(num,aaa)=0)break; if(head=NULL) cout您使用的地址不存在idnum,num)!=0&p1-next!=NULL;)p2=p1; p1=p1-next; if(strcmp(p1-idnum,num)=0)if(p1=head)head=p1-next; free(p1);elsep2-next=p1-next; p1-next=NULL; free(p1); elseif(strcmp(p1-idnum,num)!=0&p1-next=NULL)cout該內(nèi)容不存在endl;cout輸入1儲(chǔ)存,輸入0放棄endl;choose=getch();switch(choose)case 1:save(head);break;case 0:break;if(choose=1)cout刪除成功next!=NULL;)Theidnum kind name price purda exist damdanext;Theidnum kind name price purda exist damdaendl;The.close();return 0;/=void revise(Infom* head) /修改數(shù)據(jù)char num10;Infom *p1;char choose;char x; wcs.duqu();wcs.show();cout請(qǐng)輸入更改項(xiàng)目的編號(hào):num;p1=head;for(;strcmp(p1-idnum,num)!=0&p1-next!=NULL;)p1=p1-next;if(p1-next=NULL&strcmp(p1-idnum,num)!=0)cout不存在此編號(hào)endl;elsecout請(qǐng)選擇修改內(nèi)容:endl; cout1. 編號(hào)endl; cout2. 名稱endl; cout3. 類(lèi)型endl; cout4. 價(jià)格endl; cout5. 購(gòu)買(mǎi)日期endl; cout6. 是否報(bào)廢endl; cout7. 報(bào)廢日期endl; cout0. 結(jié)束修改endl;choose=getch();cout請(qǐng)輸入修改內(nèi)容:p1-idnum;break; case 2:cinp1-name;break; case 3:cinp1-kind;break; case 4:cinp1-price;break; case 5:cinp1-purda;break; case 6:cinp1-exist;break; case 7:cinp1-damda;break; case 0:break;cout輸入1儲(chǔ)存,輸入0放棄endl;x=getch();switch(x)case 1:save(head);break;case 0:break;/=void classify(Infom* head) /對(duì)數(shù)據(jù)的分類(lèi)統(tǒng)計(jì)char choose;cout請(qǐng)選擇統(tǒng)計(jì)內(nèi)容:endl;cout1. 類(lèi)型endl;cout2. 價(jià)格endl;cout3. 是否報(bào)廢endl;cout0. 結(jié)束統(tǒng)計(jì)kind);p1-next!=NULL;)p1=p1-next;for(y=0;ykind,ay)=0)by+;break;if(y=x+1)x+;bx+;strcpy(ax,p1-kind);for(i=0;i=x;i+)cout類(lèi)型:ai 數(shù)量:binext!=NULL;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微課程制作培訓(xùn)
- 大學(xué)五愛(ài)教育體系構(gòu)建
- 運(yùn)動(dòng)飲食與健康
- 工業(yè)排放源治理技術(shù)的創(chuàng)新與實(shí)踐
- 陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院《幼兒舞蹈創(chuàng)編》2023-2024學(xué)年第一學(xué)期期末試卷
- 幼兒園理發(fā)流程規(guī)范
- 吉林交通職業(yè)技術(shù)學(xué)院《設(shè)計(jì)市場(chǎng)調(diào)研》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年熱固化油墨項(xiàng)目申請(qǐng)報(bào)告
- 鑄鍛件超聲檢測(cè)技術(shù)
- 坐骨腫瘤影像診斷
- 2024閥控式鉛酸密封蓄電池
- 2022-2023學(xué)年山東省泰安市高一下學(xué)期期末數(shù)學(xué)試題(解析版)
- 倉(cāng)庫(kù)搬運(yùn)裝卸服務(wù)方案
- 示范區(qū)城區(qū)控制性詳細(xì)規(guī)劃說(shuō)明書(shū)
- 馬鞍山二中理科創(chuàng)新人才實(shí)驗(yàn)班招生考試物理試題
- GB/T 44198-2024空間站科學(xué)實(shí)驗(yàn)系統(tǒng)集成與驗(yàn)證要求
- 新教材人教版高中物理選擇性必修第三冊(cè)全冊(cè)各章節(jié)知識(shí)點(diǎn)考點(diǎn)
- 安徽省馬鞍山市2024-2025學(xué)年高一數(shù)學(xué)下學(xué)期期末考試試題含解析
- 車(chē)庫(kù)業(yè)主與租賃者安裝充電樁協(xié)議書(shū)
- 勞務(wù)班組施工合同范本(2024版)
- RBA管理體系程序文件(系列)
評(píng)論
0/150
提交評(píng)論