版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程設(shè)計報告課程名稱操作系統(tǒng)課題名稱模擬實現(xiàn)單級目錄、索引的系統(tǒng)專業(yè)計算機科學(xué)與技術(shù)班級計算機1181學(xué)號201113030128姓名蔡彪指導(dǎo)教師周鐵山2014年01月02日湖南工程學(xué)院課程設(shè)計任務(wù)書課程名稱操作系統(tǒng)課題模擬實現(xiàn)單級目錄、索引的系統(tǒng)專業(yè)班級計算機1181學(xué)生姓名蔡彪學(xué)號201113030128指導(dǎo)老師周鐵山審批任務(wù)書下達日期2013年12月26日任務(wù)完成日期2014年01月02日課程設(shè)計的性質(zhì)和目的操作系統(tǒng)課程設(shè)計是計算機專業(yè)的專業(yè)課程,通過課程設(shè)計使學(xué)生進一步穩(wěn)固課堂所學(xué)知識,全面熟悉、掌握操作系統(tǒng)的根本設(shè)計方法和技巧,進一步提高分析問題、解決問題及上機操作能力,為將來從事計算機工作打下一定的專業(yè)根底。設(shè)計課題課題一:模擬實現(xiàn)單級目錄的FAT文件系統(tǒng)根本思路:用二進制文件空間模擬磁盤空間,用文件塊操作模擬磁盤塊操作。根本設(shè)計要求:1、實現(xiàn)如下文件系統(tǒng)功能〔過程或函數(shù)〕:掛載文件系統(tǒng)FILE*OPENSYS(char*filename);卸載文件系統(tǒng)intCLOSESYS(FILE*stream);顯示目錄voidLISTDIR(void);建立文件intFCREATE(char*filename);刪除文件intFDELETE(char*filename);翻開文件intFOPEN(char*filename);關(guān)閉文件intFCLOSE(intfileid);文件塊讀intFREAD(void*ptr,intn,intfileid);文件塊寫intFWRITE(void*ptr,intn,intfileid);判斷文件結(jié)束intFEOF(intfileid);獲取文件指針longFGETPOS(intfileid);設(shè)置文件指針intFSETPOS(intfileid,longoffset);取得文件長度longFGETLEN(char*filename);2、提供文件系統(tǒng)創(chuàng)立程序3、有功能檢測模塊4、為簡化程序設(shè)計,假定目錄區(qū)域大小固定。文件系統(tǒng)空間劃分:保存扇區(qū)FAT表區(qū)〔或字節(jié)映像圖區(qū)〕根目錄區(qū)文件分區(qū)本課題限制C語言文件操縱函數(shù)的使用,只能使用以下C語言文件操縱函數(shù):FILE*fopen(constchar*filename,constchar*mode);intfclose(FILE*stream);intfseek(FILE*stream,longoffset,intwhence);longftell(FILE*stream);size_tfread(void*ptr,size_tsize,size_tn,FILE*stream);size_tfwrite(constvoid*ptr,size_tsize,size_tn,FILE*stream);課題二:模擬實現(xiàn)單級目錄、單級索引的索引文件系統(tǒng)使用鏈接域?qū)⑼晃募母魉饕龎K按順序連接起來;其余各項同課題一。課程設(shè)計報告要求設(shè)計報告要求A4紙打印成冊;使用學(xué)院統(tǒng)一的封面;課程設(shè)計報告每人一份,必須包含如下幾個方面的內(nèi)容:根本設(shè)計思想;主要數(shù)據(jù)結(jié)構(gòu);主要實施流程;所有源代碼;課程設(shè)計總結(jié)與體會。分組及選題方法按學(xué)號順序一人一組,學(xué)號為奇數(shù)者為課題一,偶數(shù)者為課題二。成績考核按個人課題完成情況、設(shè)計報告質(zhì)量及對課程設(shè)計的態(tài)度等綜合評定。五、設(shè)計進度安排講課及上機調(diào)試時間安排:上課時間:未定上機時間:其余時間:查閱資料,確定方案,設(shè)計課題相關(guān)程序。個人辯論,交課程設(shè)計報告。目錄TOC\o"1-2"\h\u18861一、程序的功能 629194二、程序的根本設(shè)計思路 730438三、主要的數(shù)據(jù)結(jié)構(gòu) 811248四、主要實施流程101273五、程序調(diào)試及其運行結(jié)果 1310349六、設(shè)計總結(jié)與心得體會 155983七、附錄(源程序清單) 16一、程序的功能該程序主要模擬實現(xiàn)單級目錄、單級索引的索引文件系統(tǒng),該系統(tǒng)要求能翻開文件系統(tǒng);關(guān)閉文件系統(tǒng);顯示目錄;建立文件;刪除文件;翻開文件;關(guān)閉文件;文件塊讀;文件塊寫;判斷文件結(jié)束;獲取文件指針;設(shè)置文件指針;取得文件長度等功能。要求使用鏈接域?qū)⑼晃募母魉饕龎K按順序連接起來。二、程序的根本設(shè)計思路模擬實現(xiàn)單級目錄、單級索引的索引文件系統(tǒng)根本思路:用二進制文件空間模擬磁盤空間,用文件塊操作模擬磁盤塊操作。在一個文件系統(tǒng)中對文件進行操作,實現(xiàn)文件的創(chuàng)立、讀寫等等操作。在創(chuàng)立文件時先在目錄項中進行查找,假設(shè)創(chuàng)立的文件已存在,文件的創(chuàng)立首先檢驗?zāi)夸浭欠駷榭?,為空那么把文件夾或文件連接到該目錄下,不為空那么把檢查目錄下是否有同名文件夾或文件,有那么提示創(chuàng)立不成功,而文件夾翻開是那么把文件夾名稱及其地址壓入翻開文件夾棧,文件關(guān)閉那么把文件夾名稱及其地址從翻開文件夾棧中拋出。文件夾和文件的刪除,文件夾下沒有翻開的文件或文件沒有翻開才能刪除,否那么刪除失敗,每次操作成功都要更改目錄和FCB信息。該過程都保存在文件中,是對文件的操作。本系統(tǒng)建于Windows平臺,開發(fā)環(huán)境為WIN-TC。三、主要的數(shù)據(jù)結(jié)構(gòu)1.常量#defineBlockSize512#defineDirSize322.保存扇區(qū)結(jié)構(gòu)structReserveBlock{intsysblocknum;/*文件系統(tǒng)總扇區(qū)數(shù)*/intresblocknum;/*保存扇區(qū)扇區(qū)數(shù)*/intmapblocknum;/*字節(jié)映像圖扇區(qū)數(shù)*/introotblocknum;/*根目錄區(qū)扇區(qū)數(shù)*/charfillchar[BlockSize-4*sizeof(int)];/*填充字節(jié)*/};3.目錄結(jié)構(gòu)structDirBlock{charfilename[11];/*文件名限長11個字符*/charfillchar[DirSize-4*sizeof(int)-sizeof(longint)-11];/*填充字節(jié)*/longfilelen;/*文件長度*/intyear,month,day;/*定義年月日*/intfirstindexaddr;/*文件首索引塊扇區(qū)號*/};4.索引塊結(jié)構(gòu)structIndexBlock{intdataaddr[BlockSize/sizeof(int)-1];/*數(shù)據(jù)塊塊號數(shù)組*/intnextindexaddr;/*本文件下一索引塊塊號*/};5.索引節(jié)點結(jié)構(gòu)structIndexNode{structIndexBlockblock;/*索引塊數(shù)據(jù)*/intblockaddr;/*本節(jié)點索引塊塊號*/structIndexNode*nextnode;/*指向下一索引節(jié)點的指針*/};6.FCB〔文件控制塊〕結(jié)構(gòu)structFCBBlock{intfileid;/*文件標識*/structDirBlockfileinfo;/*目錄信息*/longfilepos;/*文件讀寫指針*/intfdtblockaddr;/*目錄項所在塊號*/intfdtblockindex;/*目錄項所在塊內(nèi)序號*/structFCBBlock*next;/*指向下一個文件控制塊的指針*/structIndexNode*firstindexnode;/*指向第一個索引節(jié)點的指針*/}四、相關(guān)流程圖4.1創(chuàng)立文件流程圖主界面Start輸入start翻開文件系統(tǒng)YN輸入creat來創(chuàng)立文件主界面Start輸入start翻開文件系統(tǒng)YN輸入creat來創(chuàng)立文件輸入文件名,大小,創(chuàng)立日期判斷是否重名文件創(chuàng)立成功文件創(chuàng)立失敗,重新輸入文件名EndNY4.2刪除文件流程圖創(chuàng)立(creat)一個文件創(chuàng)立(creat)一個文件Start判斷是否存在該文件判斷該文件是否被open輸入del成功刪除文件End先close關(guān)閉文件4.3FREAD函數(shù)流程圖StartStarta==NullYa==Nulla->fileid==fileidNa->fileid==fileidNY(a->filepos+n)>((a->fileid*512)+a->fileinfo.filelen)(a->filepos+n)>((a->fileid*512)+a->fileinfo.filelen)Nprintf("超出空間。printf("超出空間。\n")輸出字符串輸出字符串輸出無此fileid輸出無此fileida=a->nexta=a->nextEndEnd五、程序調(diào)試及其運行結(jié)果下面是程序調(diào)試時的一些截圖。圖五、輸入扇區(qū)塊數(shù)圖六、成功創(chuàng)立文件圖七、未翻開文件,不能進行寫操作圖八、成功刪除文件圖九、文件刪除之后不能翻開,顯示不能找到文件設(shè)計總結(jié)與心得體會通過一個學(xué)期的學(xué)習(xí),操作系統(tǒng)的課程設(shè)計也要結(jié)課了,總的來說經(jīng)過這門課的學(xué)習(xí)收獲還是挺大的,它不但使我更了解了課本知識,穩(wěn)固了課本知識,而且也使我的編程能力有了一定的提高。這次課程設(shè)計是對操作系統(tǒng)的一個總結(jié)和復(fù)習(xí)的過程,課設(shè)的過程是個自我探索、自我學(xué)習(xí)的過程,其中,我們不僅學(xué)到了專業(yè)的知識,也提升了自己的學(xué)習(xí)能力。在此次課程設(shè)計中也遇到了不少的問題和困難,但是通過自己的努力和向同學(xué)討教都把他一一的給解決了,總之,通過這次課程設(shè)計,是我對文件系統(tǒng)有了更深一部的了解,讓我對文件系統(tǒng)不再陌生,當(dāng)然自己還有很多缺乏的地方,希望自己在以后的學(xué)習(xí)過程中不斷的改良,這樣才能讓自己進步,才能讓自己更上一層樓。七、附錄源程序代碼:#include<stdio.h>#include<string.h>#include<stdlib.h>#defineBlockSize512#defineDirSize32#defineRootSize2structReserveBlock{intsysblocknum;/*文件系統(tǒng)總扇區(qū)數(shù)*/intresblocknum;/*保存扇區(qū)扇區(qū)數(shù)*/intfatblocknum;/*FAT表扇區(qū)數(shù)*/introotblocknum;/*根目錄區(qū)扇區(qū)數(shù)*/charfillchar[BlockSize-4*sizeof(int)];/*填充字節(jié)*/};structDirBlock{charfilename[11];/*文件名限長11個字符*/charfillchar[DirSize-4*sizeof(int)-sizeof(longint)-11];/*填充字節(jié)*/longfilelen;/*文件長度*/intyear,month,day;/*日期*/intfirstblockaddr;/*文件首塊扇區(qū)號*/};structFCBBlock{intfileid;/*文件標識*/structDirBlockfileinfo;/*目錄信息*/longfilepos;/*文件讀寫指針*/intfdtblockaddr;/*目錄項所在塊號*/intfdtblockindex;/*目錄項所在塊內(nèi)序號*/structFCBBlock*next;/*指向下一個文件控制塊的指針*/};structReserveBlocksys1;structFCBBlock*fcb;structDirBlockfil[32],*dir;/*目錄項*/int*fat1;char*str,*ptr;charfillchar[BlockSize];FILE*fp;FILE*OPENSYS(char*filename){inti;fp=fopen(filename,"rb+");fread(&sys1,1,BlockSize,fp);fat1=(int*)malloc(sys1.sysblocknum);for(i=0;i<sys1.fatblocknum;i++)fread(fat1,sizeof(int)*sys1.sysblocknum,1,fp);/*把根本文件系統(tǒng)都讀進來*/fseek(fp,(sys1.fatblocknum+sys1.resblocknum)*BlockSize,0);/*改指針位置*/dir=fil;/*目錄指針*/fread(dir,DirSize*32,1,fp);returnfp;}intCLOSESYS(FILE*stream){inti;fseek(stream,sys1.resblocknum*BlockSize,0);fwrite(fat1,sizeof(int)*sys1.sysblocknum,1,stream);fseek(fp,(sys1.fatblocknum+sys1.resblocknum)*BlockSize,0);fwrite(dir,DirSize*32,1,fp);fclose(fp);return1;}voidLISTDIR(void)/*顯示目錄*/{inti,flag=0;for(i=0;i<32;i++){if(fil[i].firstblockaddr!=0){if(flag==0)printf("filename\n");flag=1;/*標示*/printf("%s\n",fil[i].filename);}}}intFCREATE(char*filename)/*建立文件*/{inti,flag=0,j,k=0,flag1=0,flag2=0,a;intn,m;while(1){a=strlen(filename);/*文件名長度*/if(a>10){printf("Thisfilelengthtoolong!\n");printf("inputfilenameagain:");scanf("%s",filename);}elsebreak;}while(1){for(i=0;i<32;i++)if(strcmp(filename,fil[i].filename)==0) {printf("thenamealreadyexist\n");printf("inputnameagain:");flag1=1;break; }if(flag1==0)break;scanf("%s",filename);flag1=0;}for(i=(sys1.fatblocknum+sys1.resblocknum+sys1.rootblocknum);i<sys1.sysblocknum;i++)if(fat1[i]==0)flag++;/*統(tǒng)計磁盤上為空數(shù)目*/if(flag==0){printf("cipanyiman");/*統(tǒng)計結(jié)果為0,那么磁盤已滿*/return0;}printf("kongxiankuaishu:%d\n",flag);printf("inputfilelength:");for(j=0;j<32;j++)if(fil[j].firstblockaddr==0)break;while(1){scanf("%d",&dir[j].filelen);/*輸入目錄項中文件的長度*/n=(dir[j].filelen/BlockSize)+(dir[j].filelen%BlockSize?1:0);if(n<0||n>flag)/*文件長度小于0或大于空閑的空間*/{printf("inputlengthtoolong!\n");printf("inputagain:");}elsebreak;}for(i=(sys1.fatblocknum+sys1.resblocknum+sys1.rootblocknum);i<sys1.sysblocknum;i++)/*文件內(nèi)容區(qū)域*/{if(fat1[i]==0){k++;if(flag2==0){dir[j].firstblockaddr=i+1;flag2=1; }else{if(k>=n)/*n文件長度*/{fat1[m]=i+1;fat1[i]=-1;break; }elsefat1[m]=i+1; }m=i;}}strcpy(dir[j].filename,filename);dir[j].filename[a]='\0';printf("inputyear:");scanf("%d",&dir[j].year);printf("inputmonth:");scanf("%d",&dir[j].month);printf("inputday:");scanf("%d",&dir[j].day);return(1);}intFDELETE(char*filename)/*刪除文件*/{inti,j,k,n,flag=0;structFCBBlock*p;/*文件控制塊指針*/p=fcb;while(p){if(strcmp(filename,fil[p->fdtblockindex].filename)==0)/*目錄項所在序號*/{printf("thefilehasopen,pleasecloseitbeforedelete!\n");return0;}elsep=p->next;}for(i=0;i<32;i++)/*查找要關(guān)閉的文件*/if(strcmp(filename,fil[i].filename)==0){flag=1;break;}if(flag==0){printf("filecannotfind!\n");return0;}j=fil[i].firstblockaddr;while(1){k=fat1[j-1];fseek(fp,(j-1)*BlockSize,0);/*將指針指向文件的第一個扇區(qū)的位置*/fwrite(&fillchar,1,BlockSize,fp);fat1[j-1]=0;if(k==-1)break;elsej=k;}memset(&fil[i],0,DirSize);return1;}intFOPEN(char*filename)/*翻開文件*/{inti,j=0,k,flag=0;structFCBBlock*p,*q,*r;p=fcb;for(i=0;i<32;i++)if(strcmp(filename,fil[i].filename)==0)/*找到要翻開的文件*/{flag=1;break;}if(flag==0){printf("filecannotfind!\n");return0;}while(p){j++;if(strcmp(filename,fil[p->fdtblockindex].filename)==0){printf("Thisfilehasopen!\n");return0;}q=p;p=p->next;}if(fcb==NULL){fcb=(structFCBBlock*)malloc(sizeof(structFCBBlock));fcb->fileid=j+1;/*文件標示*/fcb->filepos=0;/*文件讀寫指針*/fcb->next=NULL;/*指向下一個文件控制指針*/fcb->fdtblockindex=i;}else{r=(structFCBBlock*)malloc(sizeof(structFCBBlock));r->fileid=j+1;r->filepos=0;r->next=NULL;r->fdtblockindex=i;q->next=r;}/*f->next=NULL;*/return1;}longFGETLEN(intfileid)/*獲取文件指針*/{structFCBBlock*p;p=fcb;while(p){if(p->fileid==fileid)/*尋找要找的指針*/return(p->filepos);p=p->next;}printf("getfaile!\n");return(0);}intFCLOSE(char*filename)/*關(guān)閉文件*/{intflag=0;structFCBBlock*f,*p;f=fcb;if(strcmp(filename,fil[fcb->fdtblockindex].filename)==0){flag=1;fcb=fcb->next;p=fcb;while(p){p->fileid-=1;p=p->next;}returnflag;}p=f;f=f->next;while(f){if(strcmp(filename,fil[f->fdtblockindex].filename)==0){flag=1;p=f->next; /*p=p->next;*/while(p){p=p->next;p->fileid-=1;}free(f);returnflag;}p=f;f=f->next;}if(flag==0){printf("Thisfilehasnotopen!\n'");returnflag;}return0;}intFREAD(char*str,intn,intfileid)/*文件塊讀*/{intm,i,j=0,k,l,len;chara[3];structFCBBlock*p;p=fcb;while(p){if(p->fileid==fileid)break;elsep=p->next;}len=fil[p->fdtblockindex].filelen;/*文件長度*/l=p->filepos;/*文件讀寫指針:該塊在文件的相對位置*/printf("nowfileposis:");printf("%d\n",l);printf("iswritingasnowfilepos?(y/n):");scanf("%s",a);if(a[0]=='n'||a[0]=='N'){printf("inputpos:");while(1){scanf("%d",&l);if(fil[p->fdtblockindex].filelen<(l+n))/*?*/printf("toolarge!\ninputagain:");elsebreak;}}while(1){if(n>fil[p->fdtblockindex].filelen){printf("toolarge!\n");printf("inputreadsize,again:");scanf("%d",&n);}elsebreak;}str=(char*)malloc(fil[p->fdtblockindex].filelen+1);m=(len/BlockSize)+(len%BlockSize?1:0);k=fil[p->fdtblockindex].firstblockaddr;if(m>1){fseek(fp,(k-1)*BlockSize,0);fread(str,BlockSize,1,fp);k=fat1[k-1];for(i=1;i<(m-1);i++){fseek(fp,fat1[k-1]*BlockSize,0);fread(&str[i*BlockSize],BlockSize,1,fp);k=fat1[k-1];}fseek(fp,(k-1)*BlockSize,0);fread(&str[i*BlockSize],len-i*BlockSize,1,fp);}else{fseek(fp,(k-1)*BlockSize,0);fread(str,len,1,fp);}str[n+l]='\0';if(l!=0)str=&str[l];p->filepos=n+l;printf("%s\n",str);return1;}voidFWRITE(char*ptr,intn,intfileid){chara[3];longl;intm,i=0,j,k=0,num,flag=0,flag1=0,b;structFCBBlock*p;p=fcb;while(p){if(p->fileid==fileid)break;elsep=p->next;}l=p->filepos;printf("nowfileposis:");printf("%d\n",l);printf("iswritingasnowfilepos?(y/n):");scanf("%s",a);if(a[0]=='n'||a[0]=='N'){printf("inputpos:");while(1){scanf("%d",&l);if(fil[p->fdtblockindex].filelen<(l+n))printf("toolarge!\ninputagain:");elsebreak;}}j=(l/BlockSize)+(l%BlockSize?1:0);if(l==0)j=1;num=fil[p->fdtblockindex].firstblockaddr;for(i=1;i<j;i++)num=fat1[num];do{if(flag==0){fseek(fp,(num-1)*BlockSize+l-(i-1)*BlockSize,0);flag=1;}else{fseek(fp,(num-1)*BlockSize,0);num=fat1[num-1];}if(((n+l)-(i-1)*BlockSize)>BlockSize){if(flag1==0){fwrite(&ptr[0],j*BlockSize-l,1,fp);flag1=1;}else{fwrite(&ptr[j*BlockSize-l+k*BlockSize],BlockSize,1,fp);}}else{m=j*BlockSize-l+(k-1)*BlockSize;b=n-(j*BlockSize-l+(k-1)*BlockSize);fwrite(&ptr[m],b,1,fp);}k++;i++;}while(((n+l)-(i-1)*BlockSize)>1);p->filepos=l+n;}intFEOF(intfileid){intflag;structFCBBlock*p;p=fcb;while(p){if(p->fileid==fileid)break;}if(p->filepos>fil[p->fdtblockindex].filelen)return0;elsereturn1;}longFGETPOS(intfileid){structFCBBlock*p;p=fcb;while(p){if(p->fileid==fileid)return(p->filepos);elsep=p->next;}printf("getfaile!\n");return(0);}intFSETPOS(intfileid,longoffset){structFCBBlock*p;p=fcb;while(p){if(p->fileid==fileid){while(offset>fil[p->fdtblockindex].filelen||offset<0){printf("seterror!Thispos>filelength\n");printf("inputfilepos,again:");scanf("%d",offset);}p->filepos=offset;return1;}elsep=p->next;}printf("getfaile!\n");return(0);}voidDISPLAY(){printf("\t\tpleaseinputyouorder:\n");printf("\t\t建立文件:creat\n");printf("\t\t顯示目錄:list\n");printf("\t\t刪除文件:del\n");printf("\t\t翻開文件:open\n");printf("\t\t關(guān)閉文件:close\n");printf("\t\t文件塊讀:read\n");printf("\t\t文件塊寫:write\n");printf("\t\t退出:exit\n");}voidtest(char*filename){char*t,cmd[10],fname[12];structFCBBlock*p;inti,j,n,flag,len,id,flag1=0;fp=OPENSYS(filename);while(1){DISPLAY();scanf("%s",cmd);if(!strcmp(cmd,"creat")){printf("inputfilename\n");scanf("%s",fname);flag=FCREATE(fname);if(flag==1)printf("Thisfilecreatesuccessfully!\n");}elseif(!strcmp(cmd,"list"))LISTDIR();elseif(!strcmp(cmd,"del")){scanf("%s",fname);flag=FDELETE(fname);if(flag==1)printf("deleteThisfilesuccessfully!\n");}elseif(!strcmp(cmd,"open")){scanf("%s",fname);flag=FOPEN(fname);if(flag==1)printf("Thisfileopensuccessfully!\n");}elseif(!strcmp(cmd,"close")){scanf("%s",fname);flag=FCLOSE(fname);if(flag==1)printf("Thisfileclosesuccessfully!\n");}elseif(!strcmp(cmd,"read")){scanf("%s",fname);p=fcb;flag1=0;while(p){if(!strcmp(fil[p->fdtblockindex].filename,fname)){printf("inpputsize:");scanf("%d",&len);id=p->fileid;flag=FREAD(str,len,id);flag1=1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工廠門口整修合同范例
- 2025自建房施工合同書 (包工不包料 B款)
- 廢料采購協(xié)議合同范例
- 活動執(zhí)行競標合同范例
- 商場產(chǎn)品銷售合同范例
- 物業(yè)用工免責(zé)合同范例
- 私人買賣地合同范例
- 銅仁幼兒師范高等??茖W(xué)?!兜胤搅⒎▽嵱?xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 完整版100以內(nèi)加減法混合運算4000道131
- 銅陵學(xué)院《計算機網(wǎng)絡(luò)基礎(chǔ)4》2023-2024學(xué)年第一學(xué)期期末試卷
- 安全帶管理登記臺帳
- GB 16847-1997保護用電流互感器暫態(tài)特性技術(shù)要求
- 裝飾裝修施工質(zhì)量檢查評分表
- 超圖軟件三維平臺技術(shù)參數(shù)v7c2015r
- 《思想道德與法治》 課件 第四章 明確價值要求 踐行價值準則
- 幼兒園講座:課程游戲化、生活化建設(shè)的背景與目的課件
- 湖南省高等教育自學(xué)考試 畢業(yè)生登記表
- 地理信息系統(tǒng)(GIS)公開課(課堂)課件
- 電氣照明設(shè)備相關(guān)知識課件
- 婦產(chǎn)科護理學(xué)理論知識考核題庫與答案
- 漢字文化精品課件
評論
0/150
提交評論