




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
成績評定教師簽名嘉應學院計算機學院實驗報告課程名稱:C++程序設計課程設計開課學期:2023—2023學年第2學期班級:計算機091班指導老師:馮斯苑工程題目:學生成績管理系統學生姓名(學號):第4組:羅維權〔2091111137〕吳煒東〔2091111114〕劉威林〔2091111133〕提交時間:一、實驗目的1、進一步穩固所學程序設計語言〔主要是C、C++〕的根本概念和理論;2、熟練掌握結構化程序設計和面向對象程序設計的方法和理念;2、培養實際分析問題、實踐動手編程的能力;3、培養團隊協作精神。二、實驗內容本系統是一個學生成績管理系統,采用VC++6.0編譯器作為開發環境,這個環境是我們在學習C++的平臺。輸入數據類型主要是char、int、float等數據類型,輸入內容包括:班級、學號、姓名、數據結構、C++程序設計、大學語文、大學英語、概率統計、大學體育、毛澤東思想等數據。用戶在輸入學生數據時要保證輸入數據格式的正確性,系統不會自動檢測輸入的數據是否正確,可用。輸出形式與輸入形式類似,根據需要可以選擇顯示輸入的各項內容,還可以選擇顯示計算好平均分后并排序后的記錄,顯示內容包括:班級、學號、姓名、平均分等數據。用戶運行程序后進入系統主界面,在主界面用戶可以輸入所有學生的數據并保存到文件中,也可以讀取文件中已有的學生數據。用戶在保存數據的時候,如果保存位置沒有文件那么自動新建一個文件進行保存。本系統同時只能對一個數據文件進行相關操作,不能同時翻開多個數據文件,其類似于單用戶操作系統。當用戶讀取學生數據后可對其進行顯示,插入,刪除,修改,排序,計算平均分等相關操作。用戶在操作過程中可隨時對當前文件進行保存到文件操作,以防止修改的數據喪失。三、算法描述1〕主函數main():定義學生結構體數組,調用錄入、統計等函數對成績表進行處理;2〕錄入函數Input():輸入班級到政治課成績;3〕統計函數Statistic():計算平均成績;4〕查詢函數Lookup():查詢指定學號學生成績記錄;5〕修改函數Modify():修改指定學號學生成績記錄;6〕刪除函數Delete():刪除指定學號學生記錄;7〕輸出函數Output():輸出班級所有學生成績記錄;8)排序函數Sort():按平均分對學生成績記錄項進行降序排序;9〕插入函數Insert():按平均分順序插入新記錄。四、程序結構mainmain用戶驗證用戶驗證11菜單1輸入學生成績2顯示統計數據3查找學生成績4修改學生成績5刪除學生成績6插入學生成績7按平均分降序排列8顯示全部學生成績0退出本系統本系統1輸入學生成績2顯示統計數據6插入學生成績7按平均分降序排列5刪除學生成績8顯示全部學生成績3查找學生成績4修改學生成績菜單代碼0退出本系統圖2程序總體框架五、程序技巧或創新在main〔〕函數中主要是通過〞switch(menu())〞選擇判斷來調用相關功能模塊。系統的運行是在一個永真的循環里進行的,只有在主界面并選擇“退出本系統〞時,才會跳出永真循環,并退出程序。主函數代碼為:voidmain()/*主函數*/{ for(;;) { switch(menu())/*選擇判斷*/ { case1: Input(stud);/*輸入學生成績*/ break; case2: Statistic(stud);/*輸出學生統計數據*/ break; case3: Lookup(stud);/*查找學生成績*/ cout<<"\t\t\t"; system("pause"); break; case4: Modify(stud);/*修改學生成績*/ cout<<"\t\t\t"; system("pause"); break; case5: Delete(stud);/*按學號查找,刪除學生信息*/ cout<<"\t\t\t"; system("pause"); break; case6: Insert(stud);/*增加學生成績*/ cout<<"\t\t\t"; system("pause"); break; case7: Sort(stud);/*按平均分對學生成績記錄項進行降序排序*/ cout<<"\t\t\t"; system("pause"); break; case8: Output(stud);/*顯示全部學生成績*/ cout<<"\t\t\t"; system("pause"); break; case0: cout<<endl<<"================================<<感謝您使用學生成績管理系統>>===============================\n"<<endl;/*結束程序*/ cout<<"\t\t\t"; system("pause"); exit(0); } }}主界面的設計:在主界面中包括“輸入學生成績顯示統計數據查找學生成績修改學生成績刪除學生成績插入學生成績按平均分降序排列顯示全部學生成績退出本系統〞等全部的功能,之所以設計這么一個主界面,一是因為能使用戶對程序操作的流程更加清楚簡明,二是保證了用戶同時只能對一個文件進行操作的系統要求,保證了系統不會發生翻開文件紊亂或者出現致命錯誤。每個函數的具體功能:1〕主函數main():定義學生結構體數組,調用錄入、統計等函數對成績表進行處理;2〕錄入函數Input():輸入班級到政治課成績;3〕統計函數Statistic():計算平均成績;4〕查詢函數Lookup():查詢指定學號學生成績記錄;5〕修改函數Modify():修改指定學號學生成績記錄;6〕刪除函數Delete():刪除指定學號學生記錄;7〕輸出函數Output():輸出班級所有學生成績記錄;8)排序函數Sort():按平均分對學生成績記錄項進行降序排序;9〕插入函數Insert():按平均分順序插入新記錄六、程序清單〔另附電子版〕#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>#include<iomanip.h>classStu//構建學生類{public: friendvoidInput(Stustud[]); friendvoidStatistic(Stustud[]); friendvoidLookup(Stustud[]); friendvoidModify(Stustud[]); friendvoidDelete(Stustud[]); friendvoidOutput(Stustud[]); friendvoidSort(Stustud[]); friendvoidInsert(Stustud[]); friendvoidWrite(Stustud[],intn);friendintRead(Stustud[]); friendvoidwelcome();private: charclass_0[20]; intnum; charname[8]; floatelec; floatc_program; floatmedia; floatenglish; floatmath; floatsport; floatpolity; floataverage; intorder;}stud[100];voidwelcome()//驗證用戶登陸,登陸成功顯示歡送信息{charname[4],code[7];cout<<endl;cout<<endl;cout<<"▲****************************************▲\n";cout<<"△歡送使用本學生成績管理系統!△\n";cout<<"▲****************************************▲\n";cout<<"編程人員:羅維權劉威林吳煒東"<<endl;cout<<endl;cout<<"請輸入用戶名和密碼:\n";cout<<"帳號:";cin>>name;cout<<"密碼:";cin>>code;while((strcmp(name,"1111")!=0)||(strcmp(code,"0000")!=0)){cout<<"用戶名或密碼輸入有誤,請重新輸入!\n";cin>>name>>code;}cout<<endl;cout<<endl;cout<<"▲***************************▲\n";cout<<"△歡送使用***系統!△\n";cout<<"▲***************************▲\n";cout<<endl;}voidWrite(Stustud[],intn)//向文件中寫入數據{ fstreammyFile; myFile.open("student.dat",ios::out|ios::binary); if(!myFile) { cout<<"student.datcan'topen!"<<endl; abort(); } intcount=n; myFile<<count<<endl<<endl; for(inti=0;i<=count;i++) { myFile<<stud[i].class_0<<""<<stud[i].num<<""<<stud[i].name<<""<<stud[i].elec<<""<<stud[i].c_program<<""<<stud[i].media<<""<<stud[i].english<<""<<stud[i].math<<""<<stud[i].sport<<""<<stud[i].polity<<""<<stud[i].average<<endl; }myFile.close();}intRead(Stustud[])//從文件中讀數據{fstreammyFile;myFile.open("student.dat",ios::in|ios::binary); if(!myFile) { cout<<"student.datcan'topen!"<<endl; abort(); } intcount; myFile.seekg(0);myFile>>count; for(inti=0;i<=count;i++) {myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].elec>>stud[i].c_program>>stud[i].media>>stud[i].english>>stud[i].math>>stud[i].sport>>stud[i].polity>>stud[i].average; }myFile.close();returncount;}voidInput(Stustud[])//---------------輸入學生成績{ system("cls");/*運行前清屏*/ inti=0; intflag; charsign; cout<<endl<<"====>>請輸入學生成績<<===="<<endl; while(sign!='n'&&sign!='N')/*判斷*/ { cout<<" 班級:";/*交互輸入*/ cin>>stud[i].class_0;loop: cout<<" 學號:"; cin>>stud[i].num; intc=0; while(c<i) { c++; if(stud[i].num==stud[i-c].num) { cout<<"你輸入的學號已經存在!請重新輸入。"<<endl; gotoloop; } } cout<<" 姓名:"; cin>>stud[i].name; do{ flag=0; cout<<" 數據結構成績:";cin>>stud[i].elec;if(stud[i].elec>100||stud[i].elec<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" C++程序設計成績:"; cin>>stud[i].c_program;if(stud[i].c_program>100||stud[i].c_program<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 大學語文成績:"; cin>>stud[i].media;if(stud[i].media>100||stud[i].media<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 大學英語成績:"; cin>>stud[i].english;if(stud[i].english>100||stud[i].english<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 概率統計成績:"; cin>>stud[i].math;if(stud[i].math>100||stud[i].math<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 大學體育成績:"; cin>>stud[i].sport;if(stud[i].sport>100||stud[i].sport<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0);do{ flag=0; cout<<" 毛澤東思想成績:"; cin>>stud[i].polity;if(stud[i].polity>100||stud[i].polity<1)cout<<"對不起,請輸入1-100之間的數字!!\n";elseflag=1; }while(flag==0); stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; cout<<" 平均分為:"<<stud[i].average<<endl; cout<<"====>提示:是否繼續寫入學生成績?(Y/N)"; cin>>sign;/*輸入判斷*/ i++; } Write(stud,i);}voidStatistic(Stustud[])//---------------統計學生數據{system("cls");/*運行前清屏*/intn=Read(stud); cout<<endl<<"====>>輸出學生統計數據<<===="<<endl;cout<<"班級"<<""<<"學號"<<""<<"姓名"<<""<<"平均分"<<endl;for(inti=0;i<n;i++)cout<<stud[i].class_0<<""<<stud[i].num<<""<<stud[i].name<<""<<stud[i].average<<endl;system("pause");}voidLookup(Stustud[])//---------------查找學生成績{ system("cls");/*運行前清屏*/intn=Read(stud); ints; inti=0; cout<<endl<<"====>>查找學生成績<<===="<<endl; cout<<"請輸入需要查找學生的學號:"<<endl; cin>>s; while((stud[i].num-s)!=0&&i<n)i++;/*查找判斷*/ if(i==n) { cout<<"=====>提示:對不起,無法找到該學生的信息!"<<endl;/*輸入失敗信息*/ } else { cout<<"---------------------------"<<endl; cout<<"班級:"<<stud[i].class_0<<endl;/*輸出該學生信息*/ cout<<"學號:"<<stud[i].num<<endl; cout<<"姓名:"<<stud[i].name<<endl; cout<<"數據結構:"<<stud[i].elec<<endl; cout<<"C++程序設計:"<<stud[i].c_program<<endl; cout<<"大學語文:"<<stud[i].media<<endl; cout<<"大學英語:"<<stud[i].english<<endl; cout<<"概率統計:"<<stud[i].math<<endl; cout<<"大學體育:"<<stud[i].sport<<endl; cout<<"毛澤東思想:"<<stud[i].polity<<endl; cout<<"平均分:"<<stud[i].average<<endl; }}voidModify(Stustud[])//---------------修改學生成績{ system("cls");/*運行前清屏*/intn=Read(stud); ints; inti=0; cout<<endl<<"====>>修改學生成績<<===="<<endl; cout<<"請輸入需要修改成績學生的學號:"<<endl; cin>>s; while((stud[i].num-s)!=0&&i<n)i++;/*查找判斷*/ if(i==n) { cout<<"=====>提示:對不起,無該學生的成績……"<<endl;/*輸入失敗信息*/ } else { cout<<"----------該學生的信息----------"<<endl;/*格式頭*/ cout<<"班級"<<""<<"學號"<<""<<"姓名"<<""<<"數據"<<""<<"c++"<<""<<"語文"<<""<<"英語"<<""<<"概率"<<""<<"體育"<<""<<"政治"<<""<<"平均分"<<endl; cout<<"---------------------------------"<<endl; cout<<stud[i].class_0<<""<<stud[i].num<<""<<stud[i].name<<""<<stud[i].elec<<""<<stud[i].c_program<<""<<stud[i].media<<""<<stud[i].english<<""<<stud[i].math<<""<<stud[i].sport<<""<<stud[i].polity<<""<<stud[i].average<<endl; cout<<"請重新輸入該學生的信息"<<endl; cout<<"班級:"<<endl;/*交互輸入*/ cin>>stud[i].class_0; cout<<"學號:"<<endl; cin>>stud[i].num; cout<<"姓名:"<<endl; cin>>stud[i].name; cout<<"數據結構成績:"<<endl; cin>>stud[i].elec; cout<<"C++程序設計成績:"<<endl; cin>>stud[i].c_program; cout<<"大學語文成績:"<<endl; cin>>stud[i].media; cout<<"大學英語成績:"<<endl; cin>>stud[i].english; cout<<"概率統計成績:"<<endl; cin>>stud[i].math; cout<<"大學體育成績:"<<endl; cin>>stud[i].sport; cout<<"毛澤東思想成績:"<<endl; cin>>stud[i].polity; stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; cout<<"平均分為:"<<stud[i].average<<endl; charc; cout<<"是否保存數據?(y/n)"<<endl; cin>>c; if(c!='n'&&c!='N') Write(stud,n); }}voidDelete(Stustud[])//---------------按學號查找,刪除學生信息{ system("cls");/*運行前清屏*/ intn=Read(stud); ints; inti=0,j; cout<<endl<<"====>>刪除學生成績<<===="<<endl; cout<<"請輸入需要刪除學生的學號:"<<endl;/*交互式問尋*/ cin>>s; while((stud[i].num-s)!=0&&i<n)i++;/*查找判斷*/ if(i==n) { cout<<"====>提示:對不起,無法找到該學生……"<<endl;/*返回失敗信息*/ } else { for(j=i;j<n-1;j++)/*刪除操作*/ { strcpy(stud[j].class_0,stud[j+1].class_0); stud[j].num=stud[j+1].num; strcpy(stud[j].name,stud[j+1].name); stud[j].elec=stud[j+1].elec; stud[j].c_program=stud[j+1].c_program; stud[j].media=stud[j+1].media; stud[j].english=stud[j+1].english; stud[j].math=stud[j+1].math; stud[j].sport=stud[j+1].sport; stud[j].polity=stud[j+1].polity; stud[j].average=stud[j+1].average; } cout<<"====>提示:已成功刪除!"<<endl;/*返回成功信息*/ } Write(stud,n-1);}voidInsert(Stustud[])//---------------增加學生成績{ system("cls");/*運行前清屏*/ intn=Read(stud); chars; cout<<endl<<"====>>增加學生成績<<===="<<endl; while(s!='n'&&s!='N') { cout<<"班級:"<<endl;/*交互輸入*/cin>>stud[n].class_0;cout<<"學號:";cin>>stud[n].num;cout<<"姓名:";cin>>stud[n].name; cout<<"數據結構成績:"; cin>>stud[n].elec; cout<<"C++程序設計成績:"; cin>>stud[n].c_program; cout<<"大學語文成績:"; cin>>stud[n].media; cout<<"大學英語成績:"; cin>>stud[n].english; cout<<"概率統計成績:"; cin>>stud[n].math; cout<<"大學體育成績:"; cin>>stud[n].sport; cout<<"毛澤東思想成績:"; cin>>stud[n].polity; stud[n].average=(stud[n].elec+stud[n].c_program+stud[n].media+stud[n].english+stud[n].math+stud[n].sport+stud[n].polity)/7; cout<<"平均分"<<stud[n].average; n++; cout<<"=====>提示:插入成功!"<<endl;/*返回成功信息*/ cout<<"是否繼續輸入(y/n)"<<endl; cin>>s; } Write(stud,n);}voidSort(Stustud[])//---------------按平均分對學生成績記錄項進行降序排序{ system("cls");/*運行前清屏*/ inti,j,k; floats; chart[20]; cout<<endl<<"====>>降序排序成績<<===="<<endl; intn=Read(stud); for(i=0;i<n-1;i++)/*冒泡法排序*/ for(j=0;j<n-1-i;j++) if(stud[j].average<stud[j+1].average) { strcpy(t,stud[j+1].class_0); strcpy(stud[j+1].class_0,stud[j].class_0); strcpy(stud[j].class_0,t); k=stud[j+1].num; stud[j+1].num=stud[j].num; stud[j].num=k; strcpy(t,stud[j+1].name); strcpy(stud[j+1].name,stud[j].name); strcpy(stud[j].name,t); s=stud[j+1].elec; stud[j+1].elec=stud[j].elec; stud[j].elec=s; s=stud[j+1].c_program; stud[j+1].c_program=stud[j].c_program; stud[j].c_program=s; s=stud[j+1].media; stud[j+1].media=stud[j].media; stud[j].media=s; s=stud[j+1].english; stud[j+1].english=stud[j].english; stud[j].english=s; s=stud[j+1].math; stud[j+1].math=stud[j].math; stud[j].math=s; s=stud[j+1].sport; stud[j+1].sport=stud[j].sport; stud[j].sport=s; s=stud[j+1].polity; stud[j+1].polity=stud[j].polity; stud[j].polity=s; s=stud[j+1].average; stud[j+1].average=stud[j].average; stud[j].average=s; } cout<<"----------------------------------------------------"<<endl;/*格式頭*/ cout<<setw(6)<<"班級"<<setw(6)<<"學號"<<setw(6)<<"姓名"<<setw(6)<<"數據"<<setw(6)<<"C++"<<setw(6)<<"語文"<<setw(6)<<"英語"<<setw(6)<<"概率"<<setw(6)<<"體育"<<setw(6)<<"政治"<<""<<setw(6)<<"平均分"<<setw(6)<<"名次"<<endl; cout<<"----------------------------------------------------"<<endl; for(i=0;i<n;i++)/*循環輸入*/ { stud[i].order=i+1; cout<<setw(6)<<stud[i].class_0<<setw(6)<<stud[i].num<<setw(6)<<stud[i].name<<setw(6)<<stud[i].elec<<setw(6)<<stud[i].c_program<<setw(6)<<stud[i].media<<setw(6)<<stud[i].english<<setw(6)<<stud[i].math<<setw(6)<<stud[i].sport<<setw(6)<<stud[i].polity<<""<<setw(6)<<setprecision(4)<<stud[i].average<<setw(6)<<stud[i].order<<endl; } Write(stud,n);}voidOutput(Stustud[])//---------------顯示全部學生成績{ system("cls");/*運行前清屏*/ intn=Read(stud); cout<<endl<<"====>>顯示全部學生成績<<===="<<endl; if(!stud) cout<<"沒有記錄"; else { cout<<"----------------------------------------------------"<<endl;/*格式頭*/ cout<<setw(6)<<"班級"<<setw(6)<<"學號"<<setw(6)<<"姓名"<<setw(6)<<"數據"<<setw(6)<<"C++"<<setw(6)<<"語文"<<setw(6)<<"英語"<<setw(6)<<"概率"<<setw(6)<<"體育"<<setw(6)<<"政治"<<""<<setw(6)<<"平均分"<<endl; cout<<"------------------------------------------------"<<endl; for(inti=0;i<n;i++)/*循環輸入*/ { cout<<setw(6)<<stud[i].class_0<<setw(6)<<stud[i].num<<setw(6)<<stud[i].name<<setw(6)<<stud[i].elec<<setw(6)<<stud[i].c_program<<setw(6)<<stud[i].media<<setw(6)<<stud[i].english<<setw(6)<<stud[i].math<<setw(6)<<stud[i].sport<<setw(6)<<stud[i].polity<<""<<setw(6)<<setprecision(4)<<stud[i].average<<endl; }cout<<"--------------------------------------------------------"<<endl; }}intmenu()/*菜單函數*/{ charc; do { voidwelcome(); system("cls");/*運行前清屏*/ cout<<"*************************************************************\n"<<endl;cout<<"-----------------<<歡送您使用學生成績管理系統--------------\n"<<endl; cout<<"編程人員:羅維權劉威林吳煒東"<<endl;cout<<"*******************************************\n\n"<<endl;/*菜單項選擇擇*/cout<<"*【1】輸入學生成績*"<<endl; cout<<"*【2】顯示統計數據*"<<endl; cout<<"*【3】查找學生成績*"<<endl; cout<<"*【4】修改學生成績*"<<endl; cout<<"*【5】刪除學生成績*"<<endl; cout<<"*【6】插入學生成績*"<<endl; cout<<"*【7】按平均分降序排列*"<<endl; cout<<"*【8】顯示全部學生成績*"<<endl; cout<<"*【0】退出本系統*"<<endl<<endl; cout<<"***************************************************************"<<endl; cout<<"請你選擇操作(0-8):"<<endl; c=getchar();/*讀入選擇*/ } while(c<'0'||c>'8'); return(c-'0');/*返回選擇*/}voidmain()/*主函數*/{ welcome(); for(;;) { switch(menu())/*選擇判斷*/ { case1: Input(stud);/*輸入學生成績*/ break; case2: Statistic(stud);/*輸出學生統計數據*/ break; case3: Lookup(stud);/*查找學生成績*/ cout<<"\t\t\t"; system("pause"); break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一年級北師大版(2019)數學必修一第三章指數運算與指數函數含解析
- 商睢協議2024-1號宗地地塊土壤污染狀況調查報告
- DB62T 4006-2019 綠色食品 紅小豆生產技術規程
- 服裝品牌售后服務承諾書范本
- DB62T 4173-2020 玉米品種 德豐717
- 物流行業交貨計劃及風險控制措施
- 腎切除術圍手術期護理
- 2025年建筑垃圾循環利用公司可行性分析報告
- 交通運輸工程質量提升策略
- 特崗教師科學試題及答案
- 抖音員工合同協議
- 銀行培訓中心管理制度
- 鋰電池基礎知識培訓單選題100道及答案
- 2025年陜西省八年級中考三模生物試題(原卷版+解析版)
- 高分子化學材料結構與性能試題及答案
- 客服質檢管理競聘述職報告
- 廠區內雨水排放管理制度
- 礦山雨季四防安全培訓
- 2025至2030年中國木瓜酶膠囊數據監測研究報告
- 郵件分揀員(國內郵件分揀)中級
評論
0/150
提交評論