版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課 程 報(bào) 告課 程 名 稱: 程序設(shè)計(jì)實(shí)踐 專 業(yè) 班 級(jí) : 物聯(lián)網(wǎng)1502班 學(xué) 生 姓 名 : 楊凱 學(xué) 號(hào) : 201516070207 任 課 教 師 : 張繼新 學(xué) 期 : 2015-2016年第一學(xué)期課程報(bào)告任務(wù)書題 目標(biāo)準(zhǔn)化考試系統(tǒng)主要內(nèi)容1.建立一個(gè)InsertNode函數(shù)來實(shí)現(xiàn)插入試題的功能。2.建立一個(gè)AddNode函數(shù)來實(shí)現(xiàn)添加試題的功能。3.建立一個(gè)Change函數(shù)來實(shí)現(xiàn)對(duì)試題進(jìn)行修改的功能。4.新建一個(gè)DeleteNode函數(shù)來實(shí)現(xiàn)對(duì)試題的刪除。5.建立個(gè)printNode函數(shù)實(shí)現(xiàn)對(duì)試題的輸出功能。6.建立一個(gè)Match函數(shù)來判斷答案是否正確。7.建立answer
2、函數(shù)實(shí)現(xiàn)隨機(jī)選題并進(jìn)行答題和統(tǒng)計(jì)得分功能。8.在主函數(shù)main中,使用switch函數(shù)讓用戶進(jìn)行選擇。任務(wù)要求一、對(duì)該考試系統(tǒng)進(jìn)行需求分析,找出該系統(tǒng)需要哪些功能來實(shí)現(xiàn),在每個(gè)功能中運(yùn)用學(xué)過的算法來實(shí)現(xiàn),每個(gè)功能用不同的函數(shù)來實(shí)現(xiàn),確定函數(shù)之間調(diào)用的關(guān)系。二、整個(gè)設(shè)計(jì)過程具體要求(1)需求分析 對(duì)案例系統(tǒng)進(jìn)行分析,設(shè)計(jì)出需要完成的功能,完善各個(gè)模塊的調(diào)用關(guān)系;(2)設(shè)計(jì)過程 進(jìn)一步明確各模塊調(diào)用關(guān)系,進(jìn)一步完善模塊函數(shù)細(xì)節(jié)(函數(shù)名、參數(shù)、返回值等)(3)實(shí)現(xiàn)過程 養(yǎng)成良好的編碼習(xí)慣、完成各個(gè)模塊并進(jìn)行測(cè)試,最終完成系統(tǒng)整體測(cè)試;(4)總結(jié)階段 按照要求完成系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)報(bào)告,并進(jìn)行總結(jié)、答辯。
3、成績?cè)u(píng)定報(bào)告撰寫情況(30分)系統(tǒng)完成情況(30分)答辯情況(40分)總分內(nèi)容20分規(guī)范程度5分程序測(cè)試5分基本功能20分?jǐn)U展功能10分自述情況10分答辯情況30分成績?cè)u(píng)定教師: 1 需求分析該系統(tǒng)包括以下功能:1. 進(jìn)行隨機(jī)答題并判卷2. 顯示試題所有內(nèi)容3. 插入試題4. 添加試題5. 自主選題并判卷6. 修改試題7. 刪除試題8. 退出系統(tǒng)2 概要設(shè)計(jì) 2.1整體框架圖標(biāo)準(zhǔn)化考試系統(tǒng) 退出系統(tǒng) 刪 除 試 題修改試題添加試題顯示試題所有內(nèi)容進(jìn)行隨機(jī)答題并判卷自主選題并判題 圖2-1-2.2 自定義函數(shù)返回值函數(shù)名參數(shù)表函數(shù)功能StatusSaveNodeint &N將試題存入文件
4、中StatusReadNodeint &N 從文件中讀取試題StatusInsertNodeint &N向試題庫中插入試題StatusChangeint &N修改試題StatusDeleteNodeint &N刪除試題voidprintNode(TestNode p,int n)輸出試題StatusMatch(TestNode p,char m)檢查答案voidanswer(int sum,int N)隨機(jī)進(jìn)行答題并判卷voidOtheranswer(int N,int s)自主選題作答并判卷StatusAddNodeint &N 向題庫中添加試題 3
5、詳細(xì)設(shè)計(jì) 3.1 添加試題Status AddNode(int &N) /添加試題內(nèi)容printf("如果不添加了試題了,在題目輸入“*”結(jié)束!n");while(1) printf("請(qǐng)輸入所要插入題題目、題干和選項(xiàng):n");printf("請(qǐng)輸入題目:");gets(TestquestionsN.subject);if(strcmp(TestquestionsN.subject,"*")=0)break;printf("請(qǐng)輸入選項(xiàng)A:");gets(TestquestionsN.op
6、tion1);printf("請(qǐng)輸入選項(xiàng)B:");gets(TestquestionsN.option2);printf("請(qǐng)輸入選項(xiàng)C:");gets(TestquestionsN.option3);printf("請(qǐng)輸入選項(xiàng)D:");gets(TestquestionsN.option4);printf("請(qǐng)輸入答案:");scanf("%c",&TestquestionsN.result);getchar();N+; /N表示結(jié)構(gòu)體數(shù)組長度,通過加&號(hào)使其值能返回 retu
7、rn TRUE;3.2 修改試題Status Change(int &N)int m,i;printf("請(qǐng)輸入您要修改第幾題?n");scanf("%d",&m);getchar(); /吸收空格字符 for(i=0;i<N;i+)if(i=(m-1) printf("請(qǐng)輸入新的題目:"); gets(Testquestionsm-1.subject); printf("請(qǐng)輸入新的選項(xiàng)A:"); gets(Testquestionsm-1.option1); printf("請(qǐng)輸入
8、新的選項(xiàng)B:"); gets(Testquestionsm-1.option2); printf("請(qǐng)輸入新的選項(xiàng)C:"); gets(Testquestionsm-1.option3); printf("請(qǐng)輸入新的選項(xiàng)D:"); gets(Testquestionsm-1.option4); printf("請(qǐng)輸入新的答案:"); scanf("%c",&Testquestionsm-1.result); getchar();break;if(m>N)printf("修改試題失敗
9、!n");elseprintf("修改試題成功!n");return TRUE;3.3 刪除試題 Status DeleteNode(int &N) /刪除數(shù)組中的第n道題 int n;printf("輸入你想是刪除第幾道試題:n");scanf("%d",&n);if(n>N)printf("刪除不成功n");return ERROR;while(n<=N)Testquestionsn-1=Testquestionsn;n+;N=N-1;printf("刪除成功n&
10、quot;);return TRUE;3.4 隨機(jī)選題并判題 void answer(int sum,int N) /隨機(jī)進(jìn)行答題 int i,score=0,Num; char r; for(i=1;i<=sum;i+)Num= rand()%N; /隨機(jī)函數(shù),以隨機(jī)選定何題進(jìn)行解答 printNode(TestquestionsNum,i); printf("n"); printf("n請(qǐng)輸入第(%d)答案:",i); scanf("%c",&r);getchar();if(Match(TestquestionsNu
11、m,r) /調(diào)用函數(shù)Match判斷所輸入的答案與標(biāo)準(zhǔn)答案是否相同printf("n答案正確!n");score+;else printf("n答案錯(cuò)誤!n"); printf("正確答案為:%cn",TestquestionsNum.result);printf("n你的總成績?yōu)?%dn",score);3.5 自主選題并判題 void Otheranswer(int N,int s)int i,score=0,k;char m;for(i=1;i<=s;i+)printf("輸入要選擇第幾題?n&
12、quot;);scanf("%d",&k);while(k<=0|k>N)printf("輸入的題號(hào)在題庫中不存在!n");printf("n請(qǐng)重新輸入正確的題號(hào):");scanf("%d",&k);printNode(Testquestionsk-1,i);printf("n請(qǐng)輸入(%d)答案:",i);getchar();scanf("%c",&m);getchar();if(m=Testquestionsk-1.result)prin
13、tf("答案正確!n"); score+;else printf("答案錯(cuò)誤!n");printf("正確答案為:%cn",Testquestionsk-1.result);printf("總分為:%dn",score);3.6 登陸考試系統(tǒng)函數(shù)FILE *fp1;int a,c,num,flag=1;int i=0;char Mima20="0",b20;printf("ttt1 進(jìn)入登錄n");printf("nttt2 進(jìn)入注冊(cè)n");scanf(&
14、quot;%d",&c);while(flag)if(c<1|c>2)printf("n請(qǐng)輸入正確的選項(xiàng)!n");scanf("%d",&c);flag=1;elseflag=0;if(c=2)printf("請(qǐng)注冊(cè):n");Zhuce();else if(fp1=fopen("student.txt","rb")=NULL)printf("打開文件失敗!");exit(0);printf("請(qǐng)輸入學(xué)號(hào):");scan
15、f("%d",&num);printf("請(qǐng)輸入密碼");while(c=getch()!='r')Mimai=c;i+;if(c!='b')printf("*");elseprintf("bb"); rewind(fp1); while(!feof(fp1)fscanf(fp1,"%d",&a);fscanf(fp1,"%s",&b);if(a=num&&strcmp(b,Mima)=0)break;
16、while(a!=num|strcmp(b,Mima)!=0)i=0;printf("n錯(cuò)誤,重新輸入:n");printf("請(qǐng)輸入學(xué)號(hào):");scanf("%d",&num);printf("請(qǐng)輸入密碼");while(c=getch()!='r')Mimai=c;i+;if(c!='b')printf("*");elseprintf("bb");rewind(fp1);while(!feof(fp1)fscanf(fp1,&quo
17、t;%d",&a);fscanf(fp1,"%s",&b);if(a=num&&strcmp(b,Mima)=0)break;printf("tt歡迎登陸單選題標(biāo)準(zhǔn)化考試系統(tǒng)!n");system("pause");getchar();printf("n");if(fclose(fp1)printf("關(guān)閉文件失敗!n");exit(0);*源代碼#include <stdio.h>#include <stdlib.h>#incl
18、ude<string.h>#include<conio.h>#define TRUE 1#define ERROR 0#define MAX 30typedef int Status;typedef structchar option130,option230,option330,option430,subject150;char result;int q;TestNode;TestNode TestquestionsMAX;Status SaveNode(int N) /把結(jié)構(gòu)體數(shù)組保存到文件"cheng"中,如成功保存返回TRUE,否則返回ERR
19、ORint i;FILE *fp;if(fp=fopen("cheng","wb")=NULL)return ERROR;for(i=0;i<N;i+)fwrite(&Testquestionsi,sizeof(TestNode),1,fp);fclose(fp);return TRUE;Status ReadNode(int N) /從文件讀出結(jié)構(gòu)體數(shù)組的內(nèi)容,如成功讀取返回TRUE,否則返回ERRORFILE *fp;int i=0;if(fp=fopen("cheng","rb")=NULL)r
20、eturn ERROR;while(!feof(fp) / 用feof檢測(cè)文件是否結(jié)束,如果結(jié)束,返回正確fread(&Testquestionsi,sizeof(TestNode),1,fp);i+; N=i-1;return TRUE;void Zhuce()void Denglu();int i,m;i=0;char n20="0",c;FILE *fp1;if(fp1=fopen("student.txt","ab")=NULL)printf("打開文件失敗!n");exit(0);printf(&
21、quot;請(qǐng)注冊(cè)學(xué)號(hào):");scanf("%d",&m);fprintf(fp1,"%d ",m);printf("請(qǐng)?jiān)O(shè)置密碼(20字符以內(nèi)):");while(c=getch()!='r')ni=c;i+;if(c!='b')printf("*");elseprintf("bb");fprintf(fp1,"%sn",n);if(fclose(fp1)printf("關(guān)閉文件失敗!n");exit(0);
22、printf("n");printf("ttt注冊(cè)完成!n");Denglu();void Denglu()FILE *fp1;int a,c,num,flag=1;int i=0;char Mima20="0",b20;printf("ttt1 進(jìn)入登錄n");printf("nttt2 進(jìn)入注冊(cè)n");scanf("%d",&c);while(flag)if(c<1|c>2)printf("n請(qǐng)輸入正確的選項(xiàng)!n");scanf(&
23、quot;%d",&c);flag=1;elseflag=0;if(c=2)printf("請(qǐng)注冊(cè):n");Zhuce();elseif(fp1=fopen("student.txt","rb")=NULL)printf("打開文件失敗!");exit(0);printf("請(qǐng)輸入學(xué)號(hào):");scanf("%d",&num);printf("請(qǐng)輸入密碼");while(c=getch()!='r')Mimai=c;
24、i+;if(c!='b')printf("*");elseprintf("bb"); rewind(fp1); while(!feof(fp1)fscanf(fp1,"%d",&a);fscanf(fp1,"%s",&b);if(a=num&&strcmp(b,Mima)=0)break;while(a!=num|strcmp(b,Mima)!=0)i=0;printf("n錯(cuò)誤,重新輸入:n");printf("請(qǐng)輸入學(xué)號(hào):"
25、);scanf("%d",&num);printf("請(qǐng)輸入密碼");while(c=getch()!='r')Mimai=c;i+;if(c!='b')printf("*");elseprintf("bb");rewind(fp1);while(!feof(fp1)fscanf(fp1,"%d",&a);fscanf(fp1,"%s",&b);if(a=num&&strcmp(b,Mima)=0)bre
26、ak;printf("tt歡迎登陸單選題標(biāo)準(zhǔn)化考試系統(tǒng)!n");system("pause");getchar();printf("n");if(fclose(fp1)printf("關(guān)閉文件失敗!n");exit(0);Status AddNode(int N) /添加試題內(nèi)容printf("如果不添加了試題了,在題目輸入“*”結(jié)束!n");while(1) printf("請(qǐng)輸入所要插入題題目、題干和選項(xiàng):n");printf("請(qǐng)輸入題目:");ge
27、ts(TestquestionsN.subject);if(strcmp(TestquestionsN.subject,"*")=0)break;printf("請(qǐng)輸入選項(xiàng)A:");gets(TestquestionsN.option1);printf("請(qǐng)輸入選項(xiàng)B:");gets(TestquestionsN.option2);printf("請(qǐng)輸入選項(xiàng)C:");gets(TestquestionsN.option3);printf("請(qǐng)輸入選項(xiàng)D:");gets(Testquestions
28、N.option4);printf("請(qǐng)輸入答案:");scanf("%c",&TestquestionsN.result);printf("請(qǐng)輸入試題難度:");scanf("%d",&TestquestionsN.q);getchar();N+; /N表示結(jié)構(gòu)體數(shù)組長度,通過加&號(hào)使其值能返回return TRUE;void printNode(TestNode p,int n) /輸出第n道題題目printf("(%d) ",n);printf("%sn&
29、quot;,p.subject);printf(" A %s ",p.option1);printf(" B %s n",p.option2);printf(" C %s ",p.option3);printf(" D %s ",p.option4);printf(" 試題難度為:%dn",p.q);Status Change(int m) int i;printNode(Testquestionsm-1,m); printf("n");printf("修改題目請(qǐng)按
30、 1n");printf("修改選項(xiàng)A請(qǐng)按 2n");printf("修改選項(xiàng)B請(qǐng)按 3n");printf("修改選項(xiàng)C請(qǐng)按 4n");printf("修改選項(xiàng)D請(qǐng)按 5n");printf("修改標(biāo)準(zhǔn)答案請(qǐng)按 6n");printf("修改試題難度請(qǐng)按 7n");scanf("%d",&i);getchar(); /吸收空格字符switch(i)case 1: printf("n請(qǐng)輸入新的題目:"); gets(T
31、estquestionsm-1.subject); break;case 2:printf("請(qǐng)輸入新的選項(xiàng)A:"); gets(Testquestionsm-1.option1); break;case 3: printf("請(qǐng)輸入新的選項(xiàng)B:"); gets(Testquestionsm-1.option2); break;case 4:printf("請(qǐng)輸入新的選項(xiàng)C:"); gets(Testquestionsm-1.option3); break;case 5:printf("請(qǐng)輸入新的選項(xiàng)D:"); g
32、ets(Testquestionsm-1.option4); break;case 6:printf("請(qǐng)輸入新的答案:"); scanf("%c",&Testquestionsm-1.result); break;case 7:printf("請(qǐng)輸入新的試題難度:");scanf("%d",&Testquestionsm-1.q);break;default:printf("請(qǐng)輸入正確的修改選項(xiàng)n");break;return TRUE;Status InsertNode(in
33、t N)int i,j,P;printf("輸入要插入到第幾題?n");scanf("%d",&i);getchar();N=N+1;for(j=N-1;j>=(i-1);j-)Testquestionsj=Testquestionsj-1;printf("請(qǐng)輸入題目:");gets(Testquestionsi-1.subject);printf("請(qǐng)輸入選項(xiàng)A:");gets(Testquestionsi-1.option1);printf("請(qǐng)輸入選項(xiàng)B:");gets(Te
34、stquestionsi-1.option2);printf("請(qǐng)輸入選項(xiàng)C:");gets(Testquestionsi-1.option3);printf("請(qǐng)輸入選項(xiàng)D:");gets(Testquestionsi-1.option4);printf("請(qǐng)輸入答案:");scanf("%c",&Testquestionsi-1.result);printf("請(qǐng)輸入試題難度:");scanf("%d",&Testquestionsi-1.q);getch
35、ar();return TRUE;Status DeleteNode(int N) /刪除數(shù)組中的第n道題int n;printf("輸入你想是刪除第幾道試題:n");scanf("%d",&n);if(n>N)printf("刪除不成功n");return ERROR;while(n<=N)Testquestionsn-1=Testquestionsn;n+;N=N-1;printf("刪除成功n");return TRUE;Status Match(TestNode p,char m) /判
36、斷m是否為p題目的答案,若是返回TRUE,否則返回ERRORif(m=p.result)return TRUE;elsereturn ERROR;void answer(int sum,int N) /隨機(jī)進(jìn)行答題 int i,score=0,Num; char r;for(i=1;i<=sum;i+)Num= rand()%N; /隨機(jī)函數(shù),以隨機(jī)選定何題進(jìn)行解答 printNode(TestquestionsNum,i); printf("n"); printf("n請(qǐng)輸入第(%d)答案:",i); scanf("%c",&
37、amp;r);getchar();if(Match(TestquestionsNum,r) /調(diào)用函數(shù)Match判斷所輸入的答案與標(biāo)準(zhǔn)答案是否相同printf("n答案正確!n");score+;else printf("n答案錯(cuò)誤!n"); printf("正確答案為:%cn",TestquestionsNum.result);printf("n你的總成績?yōu)?%dn",score);void Otheranswer(int N,int s)int i,score=0,k,j,y;char m;for(i=1;i&
38、lt;=s;i+)printf("輸入試題難度n");scanf("%d",&k);while(k<0|k>2)printf("題庫中沒有該難度的試題!n");printf("n請(qǐng)重新輸入試題難度:");scanf("%d",&k);for(j=0;j<N;j+)if(y=j)continue;if(Testquestionsj.q=k)printNode(Testquestionsj,i);printf("n請(qǐng)輸入(%d)答案:",i);g
39、etchar();scanf("%c",&m);getchar();if(Match(Testquestionsj,m)printf("答案正確!n"); score+;elseprintf("答案錯(cuò)誤!n");printf("正確答案為:%cn",Testquestionsj.result); break;y=j;printf("總分為:%dn",score);void main()char flag; int N=0,i,sum,m,s,score=0,chose,Chose=3;R
40、eadNode(N);while(Chose<1|Chose>2)printf("ttt請(qǐng)選擇自己的類型n");printf("ttt1 學(xué)生端口n");printf("ttt2 教師端口n");scanf("%d",&Chose);system("cls");switch(Chose)case 1:Denglu(); system("cls");while(1)printf("ttt單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)進(jìn)行答題n ");print
41、f("ttt1 進(jìn)行隨機(jī)答題并判卷n");printf("ttt2 自主選題并判卷n");printf("ttt3 退出系統(tǒng)n");scanf("%d",&chose);getchar();switch(chose) case 1:system("cls"); ReadNode(N); printf("請(qǐng)輸入試題的總題數(shù):"); scanf("%d",&sum);getchar(); if(N=0) printf("對(duì)不起,題庫中
42、沒有試題!n"); printf("按任意鍵回到菜單!n"); getchar(); else answer(sum,N); getchar(); break; case 2:system("cls"); ReadNode(N); printf("請(qǐng)輸入試卷的總題數(shù):"); scanf("%d",&s); Otheranswer(N,s); getchar(); break; case 3:printf("你將退出系統(tǒng)(Y or N)?"); scanf("%c&qu
43、ot;,&flag);getchar(); if(flag='Y'|flag='y') exit(0); system("cls");break; default:printf("請(qǐng)輸入正確選擇!n");case 2:printf("ttt歡迎進(jìn)入教師題庫管理n");while(1) printf("ttt單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)n "); printf("n"); printf(" ttt1 顯示所有試題內(nèi)容n"); printf(" ttt2 添加試題n"); printf(" ttt3 修改試題n"); printf(" ttt4 刪除試題n"); printf(" ttt5 插入試題n"); printf(" ttt6 退出系統(tǒng)n"); scanf("%d",&chose);getchar(); switch(chose) case 1:system("cls"); ReadNod
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保型壓力罐安裝及安全檢測(cè)服務(wù)合同3篇
- XX工程聯(lián)建雙方合作合同(2024版)一
- 二零二五年度企業(yè)稅收籌劃與稅務(wù)審計(jì)合同
- 2025版知識(shí)產(chǎn)權(quán)授權(quán)使用合同補(bǔ)充協(xié)議4篇
- 2025年綠色建筑中央空調(diào)系統(tǒng)設(shè)計(jì)、安裝與性能評(píng)估合同3篇
- 超市裝修專業(yè)工人合同范本
- 水族館裝修分包合同模板
- 2025年度廣告公司打字員設(shè)計(jì)與排版服務(wù)合同4篇
- 2025年度企業(yè)員工忠誠度獎(jiǎng)勵(lì)與股權(quán)激勵(lì)合同3篇
- 二零二五年度藝術(shù)品拍賣合同創(chuàng)新版4篇
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 國家中醫(yī)藥管理局發(fā)布的406種中醫(yī)優(yōu)勢(shì)病種診療方案和臨床路徑目錄
- 2024年全國甲卷高考化學(xué)試卷(真題+答案)
- 汽車修理廠管理方案
- 人教版小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)小學(xué)生口算天天練
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 三年級(jí)數(shù)學(xué)添括號(hào)去括號(hào)加減簡便計(jì)算練習(xí)400道及答案
- 蘇教版五年級(jí)上冊(cè)數(shù)學(xué)簡便計(jì)算300題及答案
- 澳洲牛肉行業(yè)分析
- 計(jì)算機(jī)江蘇對(duì)口單招文化綜合理論試卷
- 成人學(xué)士學(xué)位英語單詞(史上全面)
評(píng)論
0/150
提交評(píng)論