




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z.目錄TOC\o"2-3"\h\z\t"標(biāo)題1,1,次標(biāo)題,1"目錄i1概述11.1程序的基本功能1HYPERLINK\l"_Toc282091170"1.2其它功能11.3擴(kuò)展功能12課題的分析22.1會(huì)員登入系統(tǒng)模塊即systemhead靜態(tài)全局函數(shù)模塊22.2查詢功能模塊即search函數(shù)模塊22.3職務(wù)信息匹配及處理模塊即systembody靜態(tài)全局函數(shù)模塊模塊422.4循環(huán)控制模塊即while(1)模塊23詳細(xì)設(shè)計(jì)33.1類聲明33.2系統(tǒng)簡(jiǎn)略流程圖79\h43.3會(huì)員登入系統(tǒng)模塊即systemhead靜態(tài)全局函數(shù)模塊53.4查詢功能模塊即search函數(shù)模塊63.5職務(wù)信息匹配及處理模塊即systembody靜態(tài)全局函數(shù)模塊73.6循環(huán)控制模塊即while(1)模塊74課程設(shè)計(jì)總結(jié)84.1完成情況84.2遇到的問(wèn)題及解決8參考文獻(xiàn)11附錄12-.z.概述本課程設(shè)計(jì)是《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程的后繼教學(xué)環(huán)節(jié),學(xué)好C++語(yǔ)言就必須堅(jiān)持用面向?qū)ο蟮乃季S方式分析問(wèn)題、解決問(wèn)題,最好的方法是仿照教材編寫C++實(shí)際應(yīng)用程序。此次課程設(shè)計(jì)的題目及要求:實(shí)現(xiàn)一個(gè)簡(jiǎn)單的工資管理系統(tǒng)。程序的基本功能系統(tǒng)的主要功能是計(jì)算職工當(dāng)月工資并存檔。公司內(nèi)有5種不同類型的職工:技術(shù)人員、銷售人員、文秘、技術(shù)經(jīng)理和銷售經(jīng)理,他們的工資計(jì)算方式各不相同。其它功能將工資信息存入salary.t*t文件中,工資信息包含雇員編號(hào)、、職務(wù)、月份、月收入。Info.t*t文件中只存留一些信息及會(huì)員最后進(jìn)入系統(tǒng)時(shí)輸入的數(shù)據(jù),最多含有編號(hào)、、職務(wù)、月份的信息。擴(kuò)展功能采用了會(huì)員制度,并將登入信息及編號(hào)、密碼存入number.t*t文件中。課題的分析通過(guò)對(duì)課題的深入分析,我將這個(gè)課題分為以下幾個(gè)模塊,深入詳細(xì)得剖析它們。會(huì)員登入系統(tǒng)模塊即systemhead靜態(tài)全局函數(shù)模塊程序運(yùn)行后,先進(jìn)行會(huì)員選擇判斷。為減少會(huì)員重新注冊(cè),通過(guò)輸入兩次編號(hào)及密碼,增加繁瑣度。同時(shí)在一定的方面上,又方便忘記密碼的會(huì)員。通過(guò)密碼匹配,雇員的工資信息這一隱私得到了很好的保障。查詢功能模塊即search函數(shù)模塊首先,從info.t*t中提取編號(hào),與salary.t*t中的編號(hào)進(jìn)行匹配,匹配成功,輸出工資信息,直到文件!indata.eof()==0。.職務(wù)信息匹配及處理模塊即systembody靜態(tài)全局函數(shù)模塊模塊4從info.t*t中提取職務(wù)信息,用switch語(yǔ)句進(jìn)行匹配,據(jù)匹配情況調(diào)用不同的函數(shù)進(jìn)行輸入、處理、顯示并以增加方式記錄到salary.t*t中。循環(huán)控制模塊即while(1)模塊為了更加方便使用,盡量改善系統(tǒng),實(shí)現(xiàn)search函數(shù)及systembody函數(shù)功能,在search函數(shù)及systembody函數(shù)模塊的基礎(chǔ)上加了一些必要的語(yǔ)句,并增加了外層循環(huán)控制。詳細(xì)設(shè)計(jì)作為一個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì),我們不得不先從類的聲明開(kāi)始設(shè)計(jì),而后是一個(gè)整體的流程圖做框架。最后在從小的模塊結(jié)構(gòu)著手。classTechManager:publicTechnician,publicManager{private:floatgradeBonus;classTechManager:publicTechnician,publicManager{private:floatgradeBonus;intgrade;public:TechManager(float*=1000);voidsetgrade(float*);voidcountSalary();};圖3.1類聲明圖3.2職工工資管理系統(tǒng)簡(jiǎn)略流程圖系統(tǒng)簡(jiǎn)略流程圖圖3.2職工工資管理系統(tǒng)簡(jiǎn)略流程圖開(kāi)始優(yōu)點(diǎn):一個(gè)入口,一個(gè)出口!處理5輸入5輸入4輸入3輸入2輸入1處理4處理3處理2處理1工資記錄在salary.t*t職務(wù)代碼分析顯示真10查詢信息選擇?開(kāi)始優(yōu)點(diǎn):一個(gè)入口,一個(gè)出口!處理5輸入5輸入4輸入3輸入2輸入1處理4處理3處理2處理1工資記錄在salary.t*t職務(wù)代碼分析顯示真10查詢信息選擇?是否會(huì)員否是否會(huì)員否注冊(cè)注冊(cè)是是輸入編號(hào)及密碼輸入編號(hào)及密碼假檢驗(yàn)?假檢驗(yàn)?真真輸入姓名、職務(wù)、月份輸入姓名、職務(wù)、月份記錄編碼姓名職務(wù)月份至info.t*t記錄編碼姓名職務(wù)月份至info.t*t從info.t*t提取職務(wù)代碼從info.t*t提取職務(wù)代碼再次輸入再次輸入假結(jié)束假結(jié)束會(huì)員登入系統(tǒng)模塊即systemhead靜態(tài)全局函數(shù)模塊清空info.t*t并將編號(hào)存入到info.t*t中清空info.t*t并將編號(hào)存入到info.t*t中圖3.3登入系統(tǒng)模塊詳細(xì)流程圖否是否會(huì)員輸入編號(hào)及密碼打開(kāi)name.t*t并輸出編號(hào)及密碼匹配?關(guān)閉name.t*t否是以增加方式打開(kāi)name.t*t并輸入編號(hào)及密碼關(guān)閉name.t*t.輸入編號(hào)及密碼查詢功能模塊即search函數(shù)模塊110否是輸出info.t*t中的職務(wù)信息將info.t*t的編號(hào)與salary.t*t中的編號(hào)進(jìn)行匹配是否打開(kāi)info.t*t!indata.eof()?圖3.4查詢功能模塊以默認(rèn)方式打開(kāi)info.t*t以默認(rèn)方式打開(kāi)salary.t*t從文件info.t*t中提取編號(hào)并關(guān)閉文件輸出"以上是你的工資信息!”關(guān)閉salary.t*t職務(wù)信息匹配及處理模塊即systembody靜態(tài)全局函數(shù)模塊圖3.5systembody函數(shù)模塊圖3.5systembody函數(shù)模塊以默認(rèn)方式打開(kāi)info.t*t提取info.t*t中的職務(wù)信息switch語(yǔ)句進(jìn)行職務(wù)匹配調(diào)用不同函數(shù)進(jìn)行數(shù)據(jù)處理及顯示循環(huán)控制模塊即while(1)模塊圖3.6循環(huán)控制模塊即while(1)模塊圖3.6循環(huán)控制模塊即while(1)模塊102輸入選擇操作查詢功能模塊Info及recordinfo調(diào)用systembody調(diào)用選擇?結(jié)束課程設(shè)計(jì)總結(jié)完成情況本次面向?qū)ο笳n程設(shè)計(jì)的所有功能基本完成,并且擴(kuò)展功能也成功的實(shí)現(xiàn)!可執(zhí)行文件能正常執(zhí)行指令并運(yùn)行!遇到的問(wèn)題及解決圖錯(cuò)誤[Error]C:\Users\權(quán)\Desktop\main.o(.data$_vt$8Employee+0*c):main.cpp:undefinedreferenceto`Employee::countSalary(void)'錯(cuò)誤:沒(méi)有定義Employee類中的countSalary函數(shù)!改正:將原先的"virtualvoidcountSalary();”改為”virtualvoidcountSalary(){}”圖錯(cuò)誤錯(cuò)誤分析:(會(huì)員板塊中)提示:"數(shù)字1表示是!其他鍵表示否!”,但定義的選擇變量為整型。加上我當(dāng)時(shí)輸入字符p。改正:"其他鍵表示否!”改為”數(shù)字0表示否”。輸入時(shí)按提示進(jìn)行輸入即可!圖錯(cuò)誤調(diào)試分析:錯(cuò)誤發(fā)生在systemhead靜態(tài)全局函數(shù)內(nèi)的文件輸入循環(huán)模塊中!改正:將以nocreate方式即”ifstreamindata("d:\\number.t*t",ios::nocreate);"該為默認(rèn)打開(kāi)方式即"ifstreamindata("d:\\number.t*t");”。圖錯(cuò)誤調(diào)試分析:錯(cuò)誤發(fā)生在調(diào)用systembody靜態(tài)全局函數(shù)前后的while循環(huán)模塊中,很有可能是數(shù)據(jù)存取混亂造成的。改正:systemhead靜態(tài)全局函數(shù)內(nèi)"ofstreamoutdata("d:\\info.t*t",ios::trunc);”改為先清后在以默認(rèn)方式輸入!且將存取整型編號(hào)的變量類型從字符型改為整型。圖錯(cuò)誤錯(cuò)誤:后面莫名其妙的跟著一個(gè)提示語(yǔ)句指令。分析調(diào)試:當(dāng)語(yǔ)句指令是基類info函數(shù)內(nèi)的語(yǔ)句,很有可能是循環(huán)控制出現(xiàn)了一些問(wèn)題。改正:見(jiàn)程序源代碼!參考文獻(xiàn)下面給出幾個(gè)參考文獻(xiàn)的格式參考匿名,不知道,非常多.計(jì)算機(jī)實(shí)用教程.:**大學(xué)出版社,2004,123~234[美]DonisSomething.Visual*#2008技術(shù)內(nèi)幕.:YYY大學(xué)出版社,2007,56~78JohnsSmith,JamesNothing.ProgramminginC++orAnythingandSomething..worldplus/nothing/inde*.html2007Anonymous.SomethingtoSay..somewhere./something.html2007《面向?qū)ο蟪绦蛟O(shè)計(jì)》,鄭莉,清華大學(xué)出版社,《面向?qū)ο蟪绦蛟O(shè)計(jì)C++語(yǔ)言》,朱戰(zhàn)立等編西安電子科技大學(xué)出版社《面向?qū)ο蟪绦蛟O(shè)計(jì)VisualC++》,劉斌等編,清華大學(xué)出版社《面向?qū)ο蟪绦蛟O(shè)計(jì)C++語(yǔ)言描述》,RichardJohnsonbaugh(美)等著,蔡宇輝等譯,機(jī)械工業(yè)出版社,2003附錄本系統(tǒng)有三個(gè)源程序文件構(gòu)成,分別為system.h,system.cpp及main.cpp。同時(shí)含有三個(gè)系統(tǒng)文件,分別為info.t*t,name.t*t及salary.t*t,且全部存放在D盤根目錄下,請(qǐng)勿隨意移動(dòng)或修改系統(tǒng)文件。當(dāng)會(huì)員正式進(jìn)入系統(tǒng),info.t*t是先清空后用來(lái)存儲(chǔ)會(huì)員輸入的信息,最多含有編號(hào)、、職務(wù)及月份。當(dāng)僅會(huì)員注冊(cè)時(shí),會(huì)將編碼及密碼存儲(chǔ)到name.t*t中。當(dāng)僅會(huì)員登入的編號(hào)及密碼進(jìn)行匹配時(shí),會(huì)打開(kāi)輸入文件name.t*t,提取編號(hào)及密碼,進(jìn)行匹配。當(dāng)僅當(dāng)輸入工資數(shù)據(jù)時(shí),會(huì)將工資、編號(hào)、、職務(wù)、月份存儲(chǔ)到salary.t*t中。當(dāng)僅當(dāng)查詢工資信息時(shí),會(huì)打開(kāi)salary.t*t,提取編號(hào)、、職務(wù)、月份及工資。該系統(tǒng)是一個(gè)只適合5種及5種職務(wù)的工資管理系統(tǒng)。并將職務(wù)分為技術(shù)人員、銷售人員、文秘、技術(shù)經(jīng)理和銷售經(jīng)理,其代號(hào)分別為1,2,3,4,5。雇員編號(hào)以整型變量存儲(chǔ),編號(hào)所取范圍在-65536至65535之內(nèi)(包括邊界值),首位數(shù)字表示相應(yīng)的職務(wù)代碼。該系統(tǒng)能力有限,請(qǐng)根據(jù)指示嚴(yán)格輸入相應(yīng)字符!程序清單Main函數(shù)#include"system.cpp"#include"cstring"staticvoidsystemhead();staticvoidsystembody();staticvoidtechnician();staticvoidsalesman();staticvoidsecretary();staticvoidtechmanager();staticvoidsalesmanager();usingnamespacestd;voidmain(){ systemhead();//調(diào)用systemhead靜態(tài)全局函數(shù) cout<<"\n\n1:查詢工資"; cout<<"\n\n2:輸入工資數(shù)據(jù)"; cout<<"\n\n0:退出系統(tǒng)!\n\n"; cout<<"請(qǐng)選擇您需要的操作!!\n"; while(1) {int*uanze; cin>>*uanze; if(*uanze==1) { employeea; cout<<endl<<endl; a.search(); cout<<"\n\n輸入工資數(shù)據(jù)請(qǐng)按數(shù)字2,退出系統(tǒng)請(qǐng)按數(shù)字0!\n\n"; }//查詢工資信息 if(*uanze==2) { employeea; (); a.recordinfo();//輸入處理工資數(shù)據(jù)并暫時(shí)記錄 systembody();//調(diào)用systembody靜態(tài)全局函數(shù) cout<<"\n\n查詢工資請(qǐng)按數(shù)字1,退出系統(tǒng)請(qǐng)按數(shù)字0!\n\n"; } if(*uanze==0)e*it(0); }}staticvoidsalesmanager(){ SalesManagera5; floatsum; cout<<"請(qǐng)輸入整個(gè)月的總營(yíng)業(yè)額:"; cin>>sum; a5.setsalesnum(sum); a5.countSalary(); a5.recordSalary();}staticvoidtechmanager(){ TechManagera4; intgra; cout<<"請(qǐng)輸入這個(gè)月的評(píng)級(jí):";//1,2,3三個(gè)等級(jí) cin>>gra; a4.setgrade(gra); a4.countSalary(); a4.recordSalary(); }staticvoidsecretary(){ Secretarya3; floatbon; cout<<"請(qǐng)輸入這個(gè)月的額外獎(jiǎng)勵(lì):"; cin>>bon; a3.setbonus(bon); a3.countSalary(); a3.recordSalary();}staticvoidsalesman(){ Salesmana2; floatsum; cout<<"請(qǐng)輸入整個(gè)月的營(yíng)業(yè)額:"; cin>>sum; a2.setsalesnum(sum); a2.countSalary(); a2.recordSalary();}staticvoidtechnician(){ Techniciana1; floathour; cout<<"請(qǐng)輸入整個(gè)月的工作時(shí)間:"; cin>>hour; a1.setHour(hour); a1.countSalary(); a1.recordSalary();}staticvoidsystembody(){ ifstreamindata("info.t*t"); if(indata==NULL)e*it(0); intnum; charna[25]; intsta; indata>>num>>na>>sta;//職務(wù)代號(hào)分別為1,2,3,4,5 switch(sta) { case1:technician();break; case2:salesman();break; case3:secretary();break; case4:techmanager();break; case5:salesmanager();break; default:cout<<"職務(wù)代號(hào)錯(cuò)誤!\n請(qǐng)重新輸入!"; }}staticvoidsystemhead(){ char*,y='y'; intnum; charsecret[6]; while(y) { cout<<"\n\n系統(tǒng)會(huì)員請(qǐng)輸入'y',非系統(tǒng)會(huì)員請(qǐng)輸入‘n’\n"; cin>>*; if(*){ cout<<"請(qǐng)輸入編號(hào)(首位為職務(wù)代號(hào)且為不超過(guò)5位數(shù)的整數(shù)):\n"; cin>>num; cout<<"請(qǐng)輸入密碼(6及6位字符以下):\n"; cin>>secret;//輸入編號(hào)及密碼 ifstreamindata("number.t*t"); if(indata==NULL) { cout<<"文件打開(kāi)失敗!請(qǐng)聯(lián)系管理員!\n";e*it(0);//文件沒(méi)打開(kāi),退出程序 } intnum1;charsecret1[6]; indata>>num1; while(!indata.eof()) { indata>>secret1; if((num==num1)&&(strcmp(secret,secret1)==0)) { y=0;//改變判斷變量的值,停止外層循環(huán) break;//終止內(nèi)層循環(huán) } indata>>num1; } indata.close();//檢驗(yàn)登入信息 } else { cout<<"請(qǐng)輸入編號(hào)(首位為職務(wù)代號(hào)且為不超過(guò)5位數(shù)的整數(shù)):\n"; cin>>num; cout<<"請(qǐng)輸入密碼(6及6位字符以下):\n"; cin>>secret;//注冊(cè)輸入編號(hào)及密碼 ofstreamoutdata("number.t*t",ios::app); outdata<<num<<'\t'<<secret<<'\t'; outdata.close();//將編號(hào)及密碼保存到number.t*t中 cout<<endl<<endl; } }ofstreamoutdata("info.t*t",ios::trunc);outdata.close();//清空文件內(nèi)容 ofstreamoutdata1("info.t*t"); outdata1<<num<<'\t'; outdata.close();//輸入編號(hào)至info.t*t}System.cpp#include<iostream>#include<fstream>#include"system.h"usingnamespacestd;voidEmployee::info(){ charna[25];intsta,mon; cout<<"請(qǐng)依次輸入姓名、職務(wù)代號(hào)及月份(以空格符分隔):"; cin>>na>>sta>>mon; name=na;status=sta;month=mon;//存儲(chǔ)姓名、職務(wù)、月份}voidEmployee::search(){ intnum; ifstreamindata0("info.t*t"); if(indata0==NULL)e*it(0); indata0>>num; indata0.close();//從文件info.t*t中提取編號(hào) intnum1;charna1[25];intsta1;intmon1;floatsal; intmon0; ifstreamindata("salary.t*t"); if(indata==NULL)e*it(0); while(!indata.eof()) { indata>>num1>>na1>>sta1>>mon1>>sal; if(num==num1) cout<<num1<<'\t'<<na1<<'\t'<<sta1<<'\t'<<mon1<<'\t'<<sal<<'\n'; //依次輸出該雇員的工資信息 } if(indata.eof()) cout<<"\n\n以上是你的工資信息!\n\n"; indata.close();}voidEmployee::recordinfo(){ ofstreamoutdata("info.t*t",ios::app); outdata<<name<<'\t'<<status<<'\t'<<month; outdata.close();//添加姓名、職務(wù)、月份至存有編號(hào)的info.t*t中}voidEmployee::recordSalary(){ ifstreamindata("info.t*t"); indata>>number>>name>>status>>month; indata.close();//依次輸出該雇員的工資信息 intnum1;charna1[25];intsta1;intmon1;floatsal; ifstreamindata1("salary.t*t"); if(indata1==NULL)e*it(0); while(!indata1.eof()) { indata1>>num1>>na1>>sta1>>mon1>>sal; if(month!=mon1) cout<<num1<<'\t'<<na1<<'\t'<<sta1<<'\t'<<mon1<<'\t'<<sal<<'\n'; else e*it(0); //依次輸出該雇員的工資信息 } cout<<number<<'\t'<<name<<'\t'<<status<<'\t'<<month<<'\t'<<salary; //顯示工資信息 ofstreamoutdata("salary.t*t",ios::app); outdata<<'\n'<<number<<'\t'<<name<<'\t'<<status<<'\t'<<month<<'\t'<<salary; outdata.close(); }voidTechnician::setHour(float*){ workHour=*;}Technician::Technician(float*){ hourSalary=*;}voidTechnician::countSalary(){ salary=workHour*hourSalary;}voidSalesman::setsalesnum(float*){ salesnum=*;}Salesman::Salesman(float*){ getRate=*;}voidSalesman::countSalary(){ salary=salesnum*getRate;}voidSecretary::setbonus(float*){ bonus=*;}Secretary::Secretary(float*){ fi*edSalary=*;}voidSecretary::countSalary(){ salary=fi*edSalary+bonus;}Manager::Manager(float*){ fi*edSalary=*;}voidTechManager::setgrade(int*){ grade=*;}TechManager::TechManager(float*){ gradeBonus=*;}voidTechManager::countSalary(){ salary=fi*edSalary+grade*gradeBonus;}SalesManager::SalesManager(float*){ getRate=*;}voidSalesManager::countSalary(){ salary=fi*edSalary+salesnum*getRate;}voidTechnician::setHour(float*){ workHour=*;}Technician::Technician(float*){ hourSalary=*;}voidTechnician::countSalary(){ salary=workHour*hourSalary;}voidSalesman::setsalesnum(float*){ salesnum=*;}Salesman::Salesman(float*){ getRate=*;}voidSalesman::countSalary(){ salary=salesnum*getRate;}voidSecretary::setbonus(float*){ bonus=*;}Secretary::Secretary(float*){ fi*edSalary=*;}voidSecretary::countSalary(){ salary=fi*edSalary+bonus;}Manager::Manager(float*){ fi*edSalary=*;}voidTechManager::setgrade(int*){ grade=*;/
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)一級(jí)模考試題及答案
- 植物學(xué)練習(xí)題庫(kù)(附答案)
- 電梯廣告投放合同協(xié)議書
- 租賃合同終止合同范本
- 建筑施工項(xiàng)目承包合同轉(zhuǎn)讓范本
- 最明確的借款合同
- 建筑設(shè)備租賃的合同范本
- 房地產(chǎn)開(kāi)發(fā)公司勞動(dòng)合同模板
- 二手車購(gòu)銷及售后服務(wù)合同
- 生態(tài)綠化養(yǎng)護(hù)與管理合同
- 2024年江蘇省蘇州市新區(qū)中考一模語(yǔ)文試卷
- 臨床試驗(yàn)疑難問(wèn)題解答
- 物資編碼手冊(cè)
- 中國(guó)神經(jīng)外科重癥患者氣道管理
- 畢業(yè)論文建筑沉降觀測(cè)
- 國(guó)航因私免折票系統(tǒng)
- 機(jī)電安裝總進(jìn)計(jì)劃?rùn)M道圖
- 精美教案封面(共1頁(yè))
- 考試焦慮量表TAI(共2頁(yè))
- 初中趣味數(shù)學(xué)(課堂PPT)
- 劉也-酯交換法聚碳酸酯生產(chǎn)工藝設(shè)計(jì)和制備
評(píng)論
0/150
提交評(píng)論