标准化考试系统C语言版_第1页
标准化考试系统C语言版_第2页
标准化考试系统C语言版_第3页
标准化考试系统C语言版_第4页
标准化考试系统C语言版_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

※力7次次摩

课程报告

课程名称:程序设计实践

专业班级:计算机类1304班

学生姓名:唐林

学号:2013号920403

任课教师:唐建国

学期:2013-2014学年第二学期

课程报告任务书

标准化考试系统

1.建立一个InsertNode函数来实现插入试题的功能。2.建立一个AddNode函数

来实现添加试题的功能。3.建立一个Change函数来实现对试题进行修改的功能。4.

主要

新建一个DeleteNode函数来实现对试题的删除。5.建立个printNode函数实现对试题

的输出功能.6.建立一个Match函数来判断答案是否正确.7.建立answer函数实现随

内容

机选题并进行答题和统计得分功能。8.在主函数main中,使用switch函数让用户进

行选择。

一、对该考试系统进行需求分析,找出该系统需要哪些功能来实现,在每个功能

中运用学过的算法来实现,每个功能用不同的函数来实现,确定函数之间调用的关系。

二、整个设计过程具体要求

任务(1)需求分析对案例系统进行分析,设计出需要完成的功能,完善各个模块

的调用关系;

要求

(2)设计过程进一步明确各模块调用关系,进一步完善模块函数细节(函数

名、参数、返回值等)

(3)实现过程养成良好的编码习惯、完成各个模块并进行测试,最终完成系

统整体测试;

(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。

报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)

内容规范程度程序测试基本功能扩展功能自述情况答辩情况

成绩20分5分5分20分10分10分30分总分

评定

成绩评定教师:

1需求分析

该系统包括以下功能:

1.进行随机答题并判卷

2.显示试题所有内容

3.插入试题

4.添加试题

5.自主选题并判卷

6.修改试题

7.删除试题

8.退出系统

2概要设计

2.1整体框架图

图2-1-1

2.2.2修改试题功能图

进入Change(int

N

图222

2.2.3删除试题功能图

N

图2-2-3

2.3自定义函数

返回值函数名参数表函数功能

StatusSaveNodeint&N将试题存入文件中

StatusReadNodeint&N从文件中读取试题

StatusInsertNodeint&N向试题库中插入试题

StatusChangeint&N修改试题

StatusDeleteNodeint&N删除试题

voidprintNode(TestNodep,intn)输出试题

StatusMatch(TestNodep,charm)检查答案

voidanswer(intsum,intN)随机进行答题并判卷

voidOtheranswer(intN,ints)自主选题作答并判卷

StatusAddNodeint&N向题库中添加试题

3详细设计

3.1添加试题

将想要输入的是试题,从键盘输入,题库中总的题数作为结构数组的下标,存入一道题就将

结构数组的下标向后移动一位,最后将存入最后一道题的下标返回,作为题库中的总题数。

StatusAddNode(int&N)〃添加试题内容

{

printf(“如果不添加了试题了,在题目输入””结束!\n");

while(l){

printf("请输入所要插入题题目、题干和选项:\n”);

printf("请输入题目:”);

gets(Testquestions[N].subject);

if(strcmp(Testquestions[N].subject,"*")==0)

break;

printf("请输入选项A:”);

gets(Testquestions[N].optionl);

printf(“请输入选项B:“);

gets(Testquestions[N],option2);

printf(”请输入选项C:");

gets(Testquestions[N].options);

printf(“请输入选项D:”);

gets(Testquestions[N].option4);

printf("请输入答案:”);

最新可编辑word文档

scanf("%c",&Testquestions[N].result);getchar();

N++;//N表示结构体数组长度,通过加&号使其值能返回

)

returnTRUE;

}

3.2修改试题

先从键盘中输入想要修改第几道试题,当题标输入m时,找到结构数组niT对应的元素就

是要修改的试题,再将修改的试题进行保存,从而实现对试题的修改功能。

StatusChange(int&N){

intm,i;

printf(“请输入您要修改第几题?\n");

scanf("%d",&m);

getchar();〃吸收空格字符

for(i=0;i<N;i++)

(

if(i==(m-l)){

printf(”请输入新的题目:”);

gets(Testquestions・subject);

printf(”请输入新的选项A:");

gets(Testquestions[m-l].optionl);

printf(”请输入新的选项B:“);

gets(Testquestions[m-1].option2);

printf(”请输入新的选项C:");

gets(Testquestions[m-1].options);

printf(”请输入新的选项D:“);

gets(Testquestions[m-1].option4);

printf(”请输入新的答案:“);

最新可编辑word文档

scanf("%c"j&Testquestions[m-l].result);

getchar();

break;

)

)

if(m>N)

printf("修改试题失败!\n");

else

printf("修改试题成功!\n“);

returnTRUE;

)

3.3删除试题

先从键盘中输入想要修改第几道试题,当题标输入n时,找到结构数组n-1对应的元素就是

要删除的试题,在用一个for循环,将n到N7个元素向前移动,从而实现对试题的删除功

能。

StatusDeleteNode(int&N)〃删除数组中的第n道题

{

intn;

printf(“输入你想是删除第几道试题:\n”);

scanf("%d",&n);

if(n>N)

{

printf("删除不成功\n“);

returnERROR;

}

while(n<=N)

{

Testquestions[n-1]=Testquestions[n];

n++;

最新可编辑word文档

)

N=N-1;

printf("删除成功\n“);

returnTRUE;

)

3.4随机选题并判题

学生进入考试系统,输入形成试卷的题数,系统将会自动抽取试题,在进行作答之后,立

刻能看到学生是否做对本道试题,如果作对,将会显示"答案正确",否者会显示“答案错误”

并且会显示正确答案。

voidanswer(intsum,intN)〃随机进行答题

{

intscore=0>Num;

charr;

for(i=l;i<=sum;i++)

(

Num=rand()%N;〃随机函数,以随机选定何题进行解答

printNode(Testquestions[Num]?i);

printfC'Xn");

printf("\n请输入第(%的答案:",i);

scanf("%c",&r);getchar();

if(Match(Testquestions[Num]^r))//调用函数Match判断所输入的答案与

标准答案是否相同

{printf("\n答案正确!\n”);

score++;

}

else{

printf(“\n答案错误!\n”);

printf("正确答案为:%c\rT,Testquestions[Num].result);

最新可编辑word文档

)

printf("\n你的总成绩为:%d\n”,score);

)

3.5自主选题并判题

通过函数中传递题库的总数和要形成试卷的总题数,输入将要选择的试题,将输入的试题

在结构数组中找到,可以进行作答,当输入的答案不与标准答案匹配时,答卷系统将会自动

报错,并且输出正确的答案,如果输入正确将会显示“答案正确”,在最后答卷系统将会输出

总的成绩。

voidOtheranswer(intN,ints){

inti,score=0>k;

charm;

for(i=l;i<=s;i++){

printf("输入要选择第几题?\n");

scanf("%d",&k);

while(k<=0||k>N){

printf("输入的题号在题库中不存在!\n”);

printf(“\n请重新输入正确的题号:“);

scanf("%d“,&k);

)

printNode(Testquestions[k-l]i);

printf("\n请输入(%d)答案:",i);getchar();

scanf("%c",&m);

getchar();

if(m==Testquestions[k-l].result){

printf("答案正确!\n”);

score++;

}

else

(

printf("答案错误!\n”);

最新可编辑word文档

printf("正确答案为;%c\n",Testquestions[k-l].result);

)

)

printf("总分为:%d\n",score);

)

3.6登陆考试系统函数

屏幕上会显示教师和学生两种端口,如果过选择学生端口将会进入登陆和注册两个选项,

已经注册过的就可以直接登陆了,反之则进行注册。进入学生答题系统后可以选择随机答题

或者自主选题进行作答两种方式。登陆教师窗口后,可以直接查看试题、删除试题、修改试

题、添加试题的功能。

voidDenglu()

{

FILE*fpl;

inta,CjnumJflag=l;

inti=0;

charMima[20]="\0">b[20];

printf("\t\t\tl进入登录\n“);

printf("\n\t\t\t2进入注册\n”);

scanf("%d;&c);

while(flag){

if(c<l||c>2){

printf("\n请输入壬确的选项!\n”);

scanf(”%d”,&c);

flag=l;}

else

flag=0;

}

if(c==2)

printf("请注册:\n");

最新可编辑word文档

Zhuce();

)

else

{

if((fpl=fopen("student.txt"/'rb"))==NULL)

{

printf(“打开文件失败!”);

exit(0);

)

printf(“请输入学号:“);

scanf("%d",&num);

printf(“请输入密码”);

while((c=getch())!='\r')

{

Mima[i]=c;

i++;

if(c!='\b,)

else

printf("\b\b");

)

rewind(fpl);

while(!feof(fpl))

{

fscanf(fpl/'%d",&a);

fscanf(fpl/'%s",&b);

if(a==num&&strcmp(b,Mima)==0)

break;

}

最新可编辑word文档

while(a!=num||strcmp(bjMima)!=0)

{

i=0;

printf(“\n错误,重新输入:\n“);

printf(“请输入学号:“);

scanf("%d'\&num);

printf(“请输入密码”);

while((c=getch())!='\r')

{

Mima[i]=c;

i++;

if(c!='\b')

else

printf("\b\b");

)

rewind(fpl);

while(!feof(fpl))

{

fscanf(fpl/'%d",&a);

fscanfCfpl/^s'^&b);

if(a==num&&strcmp(bJMima)==0)

break;

}

)

printf("\t\t欢迎登陆单选题标准化考试系统!\n");

system("pausen);

getchar();

printf("\n");

最新可编辑word文档

if(fclose(fpl))

{

printf("关闭文件失败!\n”);

exit(0);

)

)

)

*源代码

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

#defineTRUE1

#defineERROR0

ttdefineMAX30

typedefintStatus;

typedefstruct{

charoptionl[30],option2[30],option3[30],option4[30],subject[150];

charresult;

intq;

}TestNode;

TestNodeTestquestions[MAX];

StatusSaveNode(int&N)〃把结构体数组保存到文件"cheng”中,如成功保存返回TRUE,否则返回

ERROR

{inti;

FILE*fp;

最新可编辑word文档

if((fp-fopen("cheng","wb"))—NULL)

returnERROR;

for(i=0;i<N;i++)

fwrite(&Testquestions[i],sizeof(TestNode),l,fp);

fclose(fp);

returnTRUE;

}

StatusReadNode(int&N)〃从文件读出结构体数组的内容,如成功读取返回TRUE,

否则返回ERROR

{FILE*fp;

inti=0;

if((fp=fopen("cheng","rb"))==NULL)

returnERROR;

while(!feof(fp))〃用feof检测文件是否结束,如果结束,返回正确

{fread(&Testquestiors[i]3sizeof(TestNode),ljfp);

i++;

}

N=i-1;

returnTRUE;

}

voidZhuce()

(

voidDenglu();

inti,m;

i=0;

charn[20]="\0",c;

最新可编辑word文档

FILE*fpl;

if((fpl=fopen("student.txt","ab"))==NULL)

{

printf(“打开文件失败!\n”);

exit(0);

}

printf(“请注册学号:”);

scanf("%d",8m);

fprintf(fpl,"%d",m);

printf("请设置密码(20字符以内):");

while((c=getch())!='\r')

{

n[i]=c;

i++;

if(c!='\b')

printf("*");

else

printf(H\b\b");

)

fprintf(fpl/'%s\n",n);

if(fclose(fpl))

{

printf("关闭文件失败!\n“);

exit(0);

最新可编辑word文档

)

printf("\n");

printf("\t\t\t注册完成!\n");

Denglu();

}

voidDenglu()

{

FILE*fpl;

inta,c,numJflag=l;

inti=0;

charMima[20]="\0">b[20];

printf("\t\t\tl进入登录\n");

printf("\n\t\t\t2进入注册\n”);

scanf("%d",&c);

while(flag){

if(c<l||c>2){

printf("\n请输入正确的选项!);

scanf(H%d",&€);

flag=l;}

else

flag=。;

}

if(c==2)

{

printf("请注册:\n");

Zhuce();

)

else

最新可编辑word文档

(

if((fpl=fopen("stucent.txt"rb"))==NULL)

{

printf("打开文件失败!”);

exit(0);

)

printf(“请输入学号:”);

scanf("%d",&num);

printf("请输入密码”);

while((c=getch())!='\r')

{

Mima[i]=c;

i++;

if(c!='\b')

printf("*");

else

printf("\b\b");

}

rewind(fpl);

while(!feof(fpl))

(

fscanf(fpl/%d",&a);

fscanf(fpl/%s",&b);

if(a==num&&strcmp(b,Mima)==0)

break;

)

while(a!=num||strcmp(b,Mima)!=0)

最新可编辑word文档

(

i=0;

printf(”\n错误,重新输入:\n”);

printf(“请输入学号:”);

scanf("%d”,&num);

printf(“请输入密码“);

while((c=getch())!='\r')

{

Mima[i]=c;

i++;

if(c!='\b')

printf("*");

else

printf("\b\b");

)

rewind(fpl);

while(Sfeof(fpl))

{

fscanf(fpl/%d",&a);

fscanf(fpl,"%s"4&b);

if(a==num&&strcmp(b>Mima)==0)

break;

}

)

printf("\t\t欢迎登陆单选题标准化考试系统!\n”);

system("pause");

getchar();

printf("\n");

if(fclose(fpl))

最新可编辑word文档

(

printf("关闭文件失败!\n");

exit(0);

)

}

StatusAddNode(int&N)〃添加试题内容

{

printf("如果小添加了试题了,在题目输入“*”结束!\n");

while(l){

printf("请输入所要插入题题目、题干和选项:\n”);

printf("请输入题目:");

gets(Testquestions[N].subject);

if(strcmp(Testquestions[N].subject,"*")==0)

break;

printf(”请输入选项A:”);

gets(Testquestions[N].optionl);

printf(”请输入选项B:”);

gets(Testquestions[N].option2);

printf(”请输入选项C:");

gets(Testquestions[N].options);

printf(”请输入选项D:“);

gets(Testquestions[N].option4);

最新可编辑word文档

printf("请输入答案;”);

scanf("%€",&Testquestions[N].result);

prin"("请输入试题难度:”);

scanf("%d",&Testquestions[N].q);

getchar();

N++;//N表示结构为数组长度,通过加&号使其值能返回

)

returnTRUE;

}

voidprintNode(TestNodep,intn)〃输出第n道题题目

printf("(%d);n);

printf("%s\n",p.subject);

printf("A%sjp.optionl);

printf(B%s\n",p.option2);

printf(C%s",p.option3);

printf(D%s",p.option4);

printf("试题难度为:%d\n",p.q);

)

StatusChange(int&m){

inti;

printNode(Testquestions[m-l],m);

printf("\n");

printf("修改题目请按l\n");

printf("修改选项A请按2\n");

printf("修改选项B请按3\n");

printf("修改选项C请按4\n");

最新可编辑word文档

prin讦(”修改选项D请按5\n");

printf("修改标准答案请按6\n");

printf("修改试题难度请按7\n");

scanf("%d",&i);

getchar();〃吸收空格字符

switch(i){

case1:printf("\n请输入新的题目:“);

gets(Testquestions[m-1].subject);

break;

case2:printf(”请输入新的选项A:“);

gets(Testquestions[m-1].optionl);

break;

case3:printf(”请输入新的选项B:“);

gets(Testquestions[m-1].option2);

break;

case4:printf(“请输入新的选项C:”);

gets(Testquestions[m-1].option3);

break;

case5:printf("请输入新的选项D:");

gets(Testquestions[m-1].option4);

break;

case6:printf(“请输入新的答案:");

scanf("%c",&Testquestions[m-l].result);

break;

case7:printf(”请输入新的试题难度:”);

scanf("%d",&Testquestions[m-1].q);

break;

default:printf(“请输入匚确的修改选项\n");break;

最新可编辑word文档

returnTRUE;

StatusInsertNode(int&N){

int

printf("输入要插入到第几题?\n");

scanf("%d'\&i);

getchar();

N=N+1;

for(j=N-l;j>=(i-l);j--){

Testquestions[j]=Testquestions[j-1];

)

printf("请输入题目:");

gets(Testquestions[i-1].subject);

printf(”请输入选项A:“);

gets(Testquestions[i-1].optionl);

printf(”请输入选项B:“);

gets(Testquestions[i-1].option?);

printf(”请输入选项C:“);

gets(Testquestions[i-1].option3);

printf(”请输入选项D:“);

gets(Testquestions[i-1].option4);

printf("请输入答案:”);

scanf("%c",&Testquestions[i-1].result);

printf("请输入试题难度

scanf("%d",&Testquestions[i-l].q);

getchar();

returnTRUE;

}

最新可编辑word文档

StatusDeleteNode(int&N)〃删除数组中的第n道题

{

intn;

printf("输入你想是删除第几道试题:\n”);

scanf("%d“,&n);

if(n>N)

{

printf("删除不成功\n”);

returnERROR;

}

while(n<=N)

{

Testquestions[n-1]=Testquestions[n];

n++;

}

N=N-1;

printf("删除成功成“);

returnTRUE;

)

StatusMatch(TestNodep,charm)〃判断m是否为p题目的答案,若是返I可TRUE,否则

返回ERROR

{

if(m==p.result)

returnTRUE;

最新可编辑word文档

else

returnERROR;

)

voidanswer(intsum,intN)〃随机进行答题

(

inti,score=0JNum;

charr;

for(i=l;i<=sum;i++)

{

Num=rand()%N;〃随机函数,以随机选定何题进行解答

printNode(Testquestions[Num]i);

printf("\n");

printf("\n请输入第(%6答案:”,i);

scanf("%c",&r);getchar();

if(Match(Testquestions[Num],r))〃调用法数Match判断所输入的答案与标准答案是

否相同

{printf(”\n答案正确!\n”);

score++;

)

else

printf("\n答案错误!\n”);

printf("正确答案为:%c\rT,Testquestions[Num].result);

)

printf("\n你的总成绩为:%d\n",score);

)

voidOtheranswer(intN?ints){

最新可编辑word文档

inti,score-0,k,j,y;

charm;

for(i=l;i<=s;i++){

printf("输入试题难度\n");

scanf("%d",&k);

while(k<0||k>2){

printf(”题库中没有该难度的试题!\n”);

printf("\n请重新输入试题难度:”);

scanf("%d"j&k);

}

for(j=0;j<N;j++){

if(y==j)

continue;

if(Testquestions[j].q==k){

printNode(Testquestions[j]ji);

printf("\n请输入(%d)答案:",i);getchar();

scanf

getchar();

if(Match(Testquestions[j],m)){

printf("答案正确!\n“);

score++;

)

else

{

printf("答案错误!\n");

printf("正确答案为:%c\n",Testquestions[j].result);

)

break;

)

y=j;

)

最新可编辑word文档

)

printf("总分为:%d\n',score);

)

voidmain()

(

charflag;

intN=0,i,sum,m,s,score=0,chose,Chose=3;

ReadNode(N);

while(Chose<l||Chose>2){

printf("\t\t\t请选择自己的类型\n”);

printf("\t\t\tl学生端口\n”);

printf("\t\t\t2教师端口\n”);

scanf("%d",&Chose);

}

system("cls");

switch(Chose){

casel:Denglu();

system("cls");

while(l){

printf("\t\t\t单项选择题标准化考试系统进行答题\n");

printf("\t\t\tl进行随机答题并判卷\n");

printf("\t\t\t2自主选题并判卷\n");

printf("\t\t\t3退出系统\n“);

scanf("%d",&chose)jgetchar();

switch(chose){

casel:system("cls");

ReadNode(N);

printf(“请输入试题的总题数

scanf("%d",&sum);getchar();

最新可编辑word文档

i-F(N--0){

printf("对不起,题库中没有试题!\n”);

printf("按任意键回到菜单!\n“);

getchar();)

else

answer(sum,N);

getchar();

break;

case2:system("cls");

ReadNode(N);

printf(“请输入试卷的总题数:”);

scanf("%d",&s);

Otheranswer(N,s);

getchar();

break;

case3:printf("你将退出系统(丫orN)?");

scanf("%cH,&flag);getchar();

if(flag=='Y'||flag=='y')exit(0);

system("cis");break;

default:printf(”请输入正确选择!\n");

}

)

case2:printf("\t\t\t欢迎进入教师题库管理\n");

while(l){

printf("\t\t\t单项选择题标准化考试系统\n”);

printf("\n");

printf("\t\t\tl显示所有试题内容\n");

printf("\t\t\t2添加试题\n”);

printf("\t\t\t3修改试题\n”);

最新可编辑word文档

printf("\t\t\t4删除试题\n”);

printf("\t\t\t5插入试题\n“);

printf("\t\t\t6退出系统\n");

scanf("%d",&chose);getchar();

switch(chose){

casel:system("cls");

ReadNode(N);

if(N==0){

printf(“题库中没有试题!\n");

printf("按任意键回到菜单!\n");

getchar();}

for(i=l;i<=N;i++)

{printNode(Testquestions[i-1],i);

printf("\n");

)

break;

case2:system("cls");

ReadNode(N);

AddNode(N);

if(SaveNode(N))

printf("试题添加成功!\n");

else

printf("试题添加失败!\n");

break;

case3:system("cls");

printf(“请输入您要修改第几题?\n”);

ReadNode(m);

Change(m);

if(SaveNode(m))

最新可编辑word文档

printf("修改成功\n”);

else

printf("修改失败”);

break;

case4:system("cls");

ReadNode(N);

DeleteNode(N);

SaveNode(N);

break;

case5:system("cls");

ReadNode(N);

InsertNode(N);

if(SaveNode(N))

print千("插入试题成功\n");

else

printf("插入试题失败\n”);

break;

case6:printf("你将退出系统(YorN)?");

scanf("%c",&flag);getchar();

if(flag=='Y'||flag=='y')exit(0);

system("cis");break;

default:printf(“请输入正确选择!\n");

)

}

}

)

最新可编辑word文档

4调试分析

在添加函数InserlNode中,在添加试题的过程中,不知道怎么在一个循环中不断添加试

题,最后通过在c语言书中,看到用一个作为结束标志来结束试题的添加,用一个while

循环实现了添加功能。在Change函数中,在修改试题的时候,总是修改到要想修改的下一道

题,通过对代码的不断测试和分析,因为是数组,所以是从。开始存储元素的,所以当自己

输入想要修改的题号时,在结构数组中应该向前面移动一项,通过修改,修改功能己经弄好。

在进行自主选题并判题Otheranswer函数中,通过在试题库中找到想要的题形成一套试卷

的时,完全能够形成试题,但是在对试题进行作答时,不管是输入正确还是错误答案,显示

的结果都是“答案错误”,找了一天原因还是没有解决这个问题,最后找一个同学一起讨论这

个问题,当时他也不知道这是怎么回事,他又通过调试的手段,发现输入的正确答案m与所

选择试题的标准答案不一致,在这里我们发现问题,我们又通过讨论,发现是回车符的问题,

我在printf(u\n请输入(%d)答案:”,i);这条语句后面加了getchar():结果就能正确判断答案了,

成功的破解了这个问题。

5测试结果

5.1调试数据

(1)选择学生窗口进行随机答题并判题:输入总题数:2

(2)选择教师窗口

添加试题:2*6T6二?

A:15B:1C:-4D:5正确答案:C

(3)修改试题

输入题号:18

输入新题目:23-19-?

A:23B:4C:5D:6正确答案:B

(4)删除试题

删除试题:1

(5)插入试题

插入到试题:19

12-1=?A:113:2C:3D:ll正确答案:D

最新可编辑word文档

5.2调试结果

c\MC:\Docu>entsandSettings\Ad«inist宜t0r\桌面\考试系统\考试系统\口61)11

请输入试题的总题数:2

<1>2*3-1=?

A6B5

C4D7

请输入第41〉答案:D

正赢咨案为:B

<2>15-14=?

A1B5

C4D3

请输入第<2)答案"

答案正确?

你的总成绩为门

图5-2T随机抽题作答

CA*C:\Docu>entsandSettingsUdMinistrator'桌面'考试系统'考试系统'

不需

了在题目输入“X”结束!

请入

题、题干和选项;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论