版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——網(wǎng)絡(luò)編程試驗(yàn)報(bào)告
程序?qū)嵺`報(bào)告
一、程序?qū)嵺`概述1、題目名稱:
Linux程序設(shè)計(jì)基礎(chǔ)2、時(shí)間進(jìn)度:
2023年6月19日到2023年7月5日3、開發(fā)環(huán)境:
Ubunto10.04二、問題分析1、功能說明:
①編程實(shí)現(xiàn)快速排序算法;
②實(shí)現(xiàn)文本文件拷貝函數(shù)copy(f_source,f_target);即實(shí)現(xiàn)如下功能:$./copyf1f2
以上程序執(zhí)行后當(dāng)前目錄會(huì)形成一個(gè)新的文件f2,且其內(nèi)容與f1完全一致。
③編寫一個(gè)程序,要求:輸入N個(gè)學(xué)生的學(xué)號(hào)和成績,并保存在stu.txt文本文件中,對(duì)學(xué)生成績進(jìn)行排序并把排序后的結(jié)果輸出到score.txt文件中,同時(shí)在屏幕上輸出高于平均成績的學(xué)生的學(xué)號(hào)和成績。
④編寫一個(gè)程序找出串str1和串str2的所有最長公共子串。
2、解決方案:(1)
將原問題分解為若干個(gè)規(guī)模更小但結(jié)構(gòu)與原問題相像的子問題。遞歸地解這些子問題,然后將這些子問題的解組合為原問題的解。(2)
定義文件指針FILE*fp;表示fp是指向FILE結(jié)構(gòu)的指針變量,通過fp即可找存放某個(gè)文件信息的結(jié)構(gòu)變量,然后按結(jié)構(gòu)變量提供的信息找到該文件,實(shí)施對(duì)文件的操作。(3)
創(chuàng)立一個(gè)結(jié)構(gòu)體儲(chǔ)存學(xué)生的學(xué)號(hào)和成績,利用文件操作寫入文檔。對(duì)成績進(jìn)行排序,將大于平均成績的輸出到屏幕。(4)
創(chuàng)立兩個(gè)數(shù)組,探尋字符串,尋覓最大的匹配子串。三、方案設(shè)計(jì)1、模塊結(jié)構(gòu):
模塊功能圖和模塊描述(1)
在a[left..right]中任選一個(gè)記錄作為基準(zhǔn),以此基準(zhǔn)將當(dāng)前無序區(qū)劃分為左、右兩個(gè)較小的子區(qū)間a[left..pivotpos-1)和a[pivotpos+1..right],并使左邊子區(qū)間中所有記錄的關(guān)鍵字均小于等于基準(zhǔn)記錄(不妨記為pivot)的關(guān)鍵字pivot.key,右邊的子區(qū)間中所有記錄的關(guān)鍵字均大于等于pivot.key,而基準(zhǔn)記錄pivot則位于正確的位置(pivotpos)上,
它無須參與后續(xù)的排序。
劃分的關(guān)鍵是要求出基準(zhǔn)記錄所在的位置pivotpos。劃分的結(jié)果可以簡單地表示為:
a[left..pivotpos-1].keys≤a[pivotpos].key≤a[pivotpos+1..right].keys其中l(wèi)eft≤pivotpos≤right。(2)fopen函數(shù)
用來開啟一個(gè)文件,其調(diào)用的一般形式為:文件指針名=fopen(文件名,使用文件方式)。其中,“文件指針名〞必需是被說明為FILE類型的指針變量,“文件名〞是被開啟文件的文件名?!笆褂梦募绞建暿侵肝募念愋秃筒僮饕??!拔募暿亲址A炕蜃址?dāng)?shù)組。fclose函數(shù)
調(diào)用的一般形式是:fclose(文件指針);正常完成關(guān)閉文件操作時(shí),fclose函數(shù)返回值為0。如返回非零值則表示有錯(cuò)誤發(fā)生。文件的讀寫對(duì)文件的讀和寫是最常用的文件操作。(3)
創(chuàng)立一個(gè)結(jié)構(gòu)體儲(chǔ)存學(xué)生的學(xué)號(hào)和成績,每個(gè)學(xué)生的信息都儲(chǔ)存在一個(gè)數(shù)組里。利用文件操作寫入文檔。
對(duì)成績進(jìn)行排序,更新數(shù)組信息,將大于平均成績的輸出到屏幕。(4)
將兩個(gè)字符串儲(chǔ)存在數(shù)組里,從首地址開始查找一致字符。假使遇到一致字符則開始記錄位置,從該位置開始計(jì)數(shù),到不匹配位置。重新探尋,假使最大長度超過記錄則更新。2、數(shù)據(jù)結(jié)構(gòu):(1)鏈表,遞歸(2)文件操作
(3)文件操作,數(shù)組(4)數(shù)組3、總體流程:給出流程圖(1)
第一步:(初始化)設(shè)置兩個(gè)指針i和j,它們的初值分別為區(qū)間的下界和上界,即i=low,i=high;選取無序區(qū)的第一個(gè)記錄R[i](即R[low])作為基準(zhǔn)記錄,并將它保存在變量pivot中;
其次步:令j自high起向左掃描,直到找到第1個(gè)關(guān)鍵字小于pivot.key的記錄R[j],將R[j])移至i所指的位置上,這相當(dāng)于R[j]和基準(zhǔn)R[i](即pivot)進(jìn)行了交換,使關(guān)鍵字小于基準(zhǔn)關(guān)鍵字pivot.key的記錄移到了基準(zhǔn)的左邊,交換后R[j]中相當(dāng)于是pivot;然后,令i指針自i+1位置開始向右掃描,直至找到第1個(gè)關(guān)鍵字大于pivot.key的記錄R[i],將R[i]移到i所指的位置上,這相當(dāng)于交換了R[i]和基準(zhǔn)R[j],使關(guān)鍵字大于基準(zhǔn)關(guān)鍵字的記錄移到了基準(zhǔn)的右邊,交換后R[i]中又相當(dāng)于存放了pivot;接著令指針j自位置j-1開始向左掃描,如此交替改變掃描方向,從兩端各自往中間靠攏,直至i=j時(shí),i便是基準(zhǔn)pivot最終的位置,將pivot放在此位置上就完成了一次劃分。(2)開啟f1文件
1
開啟f2文件,假使沒有將創(chuàng)立
開啟成功
將f1寫入f2
關(guān)閉f1,f2文件
(3)從屏幕獲取學(xué)生信息
寫入文件
求取成績平均值
將學(xué)生按成績排序
輸出大于平均值的學(xué)生
(4)找到第一個(gè)相等的字符,記錄下位置。查找最大的一致字符,假使有大于前一次探尋的,則更新長度。4、關(guān)鍵算法:給出關(guān)鍵算法描述(1)
voidquickSort(inta[],intleft,intright){inti,j,temp;i=left;j=right;temp=a[left];if(left>right)return;while(i!=j)
2
{
while(a[j]>=tempif(j>i)
a[i++]=a[j];
while(a[i]i)
a[j--]=a[i];}
a[i]=temp;
quickSort(a,left,i-1);quickSort(a,i+1,right);}
(2)
#include
voidmain(intargc,char*argv[]){
FILE*f1,*f2;charc;
f1=fopen(argv[1],\);f2=fopen(argv[2],\);while((c=getc(f1))!=EOF){
printf(\,c);putc(c,f2);}
fclose(f1);fclose(f2);}
(3)
for(i=0;istu[j+1].score){
temp.num=stu[j].num;temp.score=stu[j].score;stu[j].num=stu[j+1].num;stu[j].score=stu[j+1].score;stu[j+1].num=temp.num;stu[j+1].score=temp.score;
3
}}}
(4)
for(i=1;imax?gg[i][j]:max;}else{
gg[i][j]=0;}}}
for(i=len1+1;i>0;--i){
for(j=len2+1;j>0;--j){
if(gg[i][j]==max){
str[max-1]=str2[j-1];max--;break;}}
}
程序?qū)嵺`概述1、題目名稱:
Socket編程基礎(chǔ)(1)時(shí)間服務(wù)器
(2)遠(yuǎn)程文件備份服務(wù)器
2、時(shí)間進(jìn)度:2023年6月19日到2023年7月5日
3、開發(fā)環(huán)境:Ubuntu10.04二、問題分析1、功能說明:
4
①編程實(shí)現(xiàn)時(shí)間服務(wù)器
編寫一個(gè)網(wǎng)絡(luò)時(shí)間服務(wù)器timeserver,該服務(wù)器能應(yīng)具有如下功能:
?夠?yàn)榫W(wǎng)絡(luò)上的用戶提供時(shí)間服務(wù),即為網(wǎng)絡(luò)用戶返回服務(wù)器的當(dāng)前時(shí)間;?記錄發(fā)出請(qǐng)求的網(wǎng)絡(luò)用戶的IP地址(保存到文件中),格式如下:IP地址請(qǐng)求時(shí)間
編寫時(shí)間服務(wù)客戶端timeclient,該客戶端能夠向服務(wù)器發(fā)送時(shí)間服務(wù)請(qǐng)求,并把獲得的時(shí)間返回給用戶。
②編程實(shí)現(xiàn)遠(yuǎn)程文件備份服務(wù)器
分別采用TCP或UDP協(xié)議編寫一個(gè)遠(yuǎn)程數(shù)據(jù)備份服務(wù)器,運(yùn)行客戶端將本地文件備份到遠(yuǎn)程的服務(wù)器中。
服務(wù)器的功能:接受客戶端請(qǐng)求,把客戶端的文件進(jìn)行備份(可以備份到指定的文件夾)。
客戶端的功能:與遠(yuǎn)程服務(wù)器進(jìn)行連接,在連接后把本地的文件發(fā)送給遠(yuǎn)程備份服務(wù)器。
2、解決方案:
服務(wù)器端過程就是socket->bind->listen->accpet->Read,write
而對(duì)于客戶端則是socket->connect->read,write三、方案設(shè)計(jì)1、模塊結(jié)構(gòu):
模塊功能圖和模塊描述
服務(wù)器端:
1、創(chuàng)立套接字;使用socket()
#include#include
intsocket(intdomain,inttype,intprotocol)建立服務(wù)器端的socket套接字
2、綁定套接字到一個(gè)IP地址和一個(gè)端口上;使用bind()
#include#include
intbind(intsockfd,structsockaddr*myaddr,intaddrlen);
3、將套接字設(shè)置為監(jiān)聽模式,以等待連接請(qǐng)求;使用listen()
#include
intlisten(intsockfd,intbacklog)
4、請(qǐng)求到來后,接受連接請(qǐng)求,并返回一個(gè)與此次連接對(duì)應(yīng)的套接字;使用accept()
#include
5
intaccept(intsockfd,structsockaddr*addr,int*addrlen)
此時(shí)新建連接,并創(chuàng)立新的Socket套接字,此時(shí)addr為客戶端的addr信息。
5、用返回的套接字和客戶端進(jìn)行通信;使用recv()和send()
intread(intfd,char*buf,intlen)intwrite(intfd,char*buf,intlen)
6、關(guān)閉當(dāng)前的連接,進(jìn)入等待狀態(tài),繼續(xù)等待客戶端的連接;使用close()
#include
intclose(intsockfd);
7、關(guān)閉服務(wù)器端的套接字描述符;使用close()
#include
intclose(intsockfd);
客戶端:
1、創(chuàng)立客戶端套接字;使用socket()
#include#include
intsocket(intdomain,inttype,intprotocol)
2、向服務(wù)器發(fā)出連接請(qǐng)求;使用connect()
#include#include
intconnect(intsockfd,structsockaddr*servaddr,intaddrlen)
其中參數(shù)servaddr指定遠(yuǎn)程服務(wù)器的套接字地址,包括服務(wù)器的IP地址和端口號(hào)
3、和服務(wù)器端進(jìn)行網(wǎng)絡(luò)通信;使用recv()和send()
intread(intfd,char*buf,intlen)intwrite(intfd,char*buf,intlen)
4、關(guān)閉套接字;使用close()
#include
intclose(intsockfd);
2、數(shù)據(jù)結(jié)構(gòu):
6
文件操作,socket3、總體流程:
server
Socket()Bind()
Listen()clientSocket()Accept()建立連接Connect()阻塞,直到客戶端的連接到達(dá)
Recv()
處理接收到的數(shù)據(jù)
Send()
Close()
4、關(guān)鍵算法:給出關(guān)鍵算法描述1.
Send()DatarequestRecv()DatareplyClose()Client:
recv_msg=recv(sockfd,buf,20,0);//嘗試接收數(shù)據(jù)buf[recv_msg]='\\0';
printf(\
7
server:
while(1)//嘗試獲得數(shù)據(jù){
sin_size=sizeof(structsockaddr_in);if((client_fd=accept(sockfd,(structsockaddr*)}t=time(NULL);
2.client:
fp=fopen(filename,\
if(fp==-1)
printf(\
fread(buf,sizeof(buf),1,fp);fp=fopen(\
server:
buf[recv_msg]=\printf(\
fwrite(buf,strlen(buf),1,fp);fcose(fp);
//開啟文件//讀取文件//寫入文件8
一、程序?qū)嵺`概述1、題目名稱:
Libpcap開發(fā)包使用
2、時(shí)間進(jìn)度:2023年6月19日到2023年7月5日3、開發(fā)環(huán)境:Ubuntu10.04二、問題分析1、功能說明:
(1)獲取網(wǎng)絡(luò)接口名字和掩碼等信息
(2)捕獲數(shù)據(jù)包(單個(gè)數(shù)據(jù)包和多個(gè)數(shù)據(jù)包兩種狀況)(3)以太網(wǎng)數(shù)據(jù)報(bào)捕獲(4)ARP數(shù)據(jù)包捕獲2、解決方案:
1、開啟、讀取設(shè)備,設(shè)置過濾器部分。1.1pcap_read()
1.2pcap_t*pcap_open_live(char*device,intsnaplen,intpromisc,intto_ms,char*errbuf);該函數(shù)用于獲取一個(gè)抽象的包捕獲句柄,
1.3intpcap_setfilter(pcap_t*p,structbpf_program*fp);該函數(shù)用于設(shè)置pcap_compile()解析完畢的過濾規(guī)則2、編譯、優(yōu)化、調(diào)試過濾規(guī)則表達(dá)式部分
2.1intpcap_compile(pcap_t*p,structbpf_program*fp,char*str,intoptimize,bpf_u_int32netmask);該函數(shù)用于解析過濾規(guī)則串,填寫bpf_program結(jié)構(gòu)。3、脫機(jī)方式監(jiān)聽部分。3.1pcap_open_offline()3.2pcap_offline_read()4、本地網(wǎng)絡(luò)設(shè)置檢測部分。
4.1char*pcap_lookupdev(char*errbuf);該函數(shù)返回一個(gè)網(wǎng)絡(luò)設(shè)備接口名,
4.2intpcap_lookupnet(char*device,bpf_u_int32*netp,bpf_u_int32*maskp,char*errbuf);該函數(shù)用于獲取指定網(wǎng)絡(luò)接口的IP地址、子網(wǎng)掩碼。5.主控程序及版本部分6.關(guān)閉程序
voidpcap_close(pcap_t*p)關(guān)閉句柄,釋放資源
三、方案設(shè)計(jì)1、模塊結(jié)構(gòu):
模塊功能圖和模塊描述(1)
charerror_content[PCAP_ERRBUF_SIZE];/*錯(cuò)誤信息*/
structpcap_pkthdrprotocol_header;/*數(shù)據(jù)包頭*/
pcap_t*pcap_handle;/*Libpcap句柄*/
structbpf_programbpf_filter;/*bpf過濾規(guī)則*/
charbpf_filter_string[]=\/*過濾規(guī)則*/
constu_char*packet_content;/*數(shù)據(jù)包內(nèi)容*/
bpf_u_int32net_mask;/*網(wǎng)絡(luò)掩碼*/
bpf_u_int32net_ip;/*網(wǎng)絡(luò)地址*/
char*net_interface;/*網(wǎng)絡(luò)接口*/
net_interface=pcap_lookupdev(error_content);/*獲取網(wǎng)絡(luò)接口*/
pcap_lookupnet(net_interface,/*獲取網(wǎng)絡(luò)地址和掩碼地址*/
pcap_handle=pcap_open_live(net_interface,/*網(wǎng)絡(luò)接口*/BUFSIZ,/*數(shù)據(jù)包大小*/1,/*混雜模式*/0,/*等待時(shí)間*/
error_content);/*錯(cuò)誤信息*//*開啟網(wǎng)絡(luò)接口*/
pcap_compile(pcap_handle,/*Libpcap句柄*//*網(wǎng)絡(luò)地址*//*編譯過濾規(guī)則*/
pcap_setfilter(pcap_handle,/*Libpcap句柄*//*BPF過濾規(guī)則*/
/*設(shè)置過濾規(guī)則*/
packet_content=pcap_next(pcap_handle,/*Libpcap句柄*//*數(shù)據(jù)包信息*/
/*捕獲一個(gè)數(shù)據(jù)包,返回此數(shù)據(jù)包的內(nèi)容*/
printf(\/*輸出網(wǎng)絡(luò)接口名字*/
printf(\/*輸出捕獲的數(shù)據(jù)包的長度*/pcap_close(pcap_handle);/*關(guān)閉Libpcap操作*/
1
return0;}(2)①
intmain(){
charerror_content[PCAP_ERRBUF_SIZE];structpcap_pkthdrprotocol_header;pcap_t*pcap_handle;structbpf_programbpf_filter;charbpf_filter_string[]=\constu_char*packet_content;bpf_u_int32net_mask;bpf_u_int32net_ip;char*net_interface;
net_interface=pcap_lookupdev(error_content);
pcap_lookupnet(net_interface,pcap_handle=pcap_open_live(net_interface,BUFSIZ,1,0,error_content);pcap_compile(pcap_handle,pap_setfilter(pcap_handle,
packet_content=pcap_next(pcap_handle,
printf(\printf(\pcap_close(pcap_handle);}②
voidmain(){
pcap_t*pcap_handle;
charerror_content[PCAP_ERRBUF_SIZE];char*net_interface;
structbpf_programbpf_filter;charbpf_filter_string[]=\
2
bpf_u_int32net_mask;bpf_u_int32net_ip;
net_interface=pcap_lookupdev(error_content);pcap_lookupnet(net_interface,
pcap_handle=pcap_open_live(net_interface,BUFSIZ,1,0,error_content);pcap_compile(pcap_handle,pcap_setfilter(pcap_handle,pcap_loop(pcap_handle,10,callback,
NULL);pcap_close(pcap_handle);}(3)
structether_header{
u_int8_tether_dhost[6];u_int8_tether_shost[6];u_int16_tether_type;};
voidmain(){
charerror_content[PCAP_ERRBUF_SIZE];pcap_t*pcap_handle;
constu_char*packet_content;u_char*mac_string;u_shortethernet_type;bpf_u_int32net_mask;bpf_u_int32net_ip;char*net_interface;
structpcap_pkthdrprotocol_header;structbpf_programbpf_filter;
3
structether_header*ethernet_protocol;charbpf_filter_string[]=\
net_interface=pcap_lookupdev(error_content);pcap_lookupnet(net_interface,
pcap_handle=pcap_open_live(net_interface,BUFSIZ,1,0,error_content);pcap_compile(pcap_handle,pcap_setfilter(pcap_handle,if(pcap_datalink(pcap_handle)!=DLT_EN10MB)return;
packet_content=pcap_next(pcap_handle,printf(\printf(\printf(\
printf(\printf(\printf(\
ethernet_protocol=(structether_header*)packet_content;printf(\
ethernet_type=ntohs(ethernet_protocol->ether_type);printf(\switch(ethernet_type){
case0x0800:printf(\case0x0806:printf(\case0x8035:printf(\default:break;}
printf(\
mac_string=ethernet_protocol->ether_shost;
printf(\ing+2),*(mac_string+3),*(mac_string+4),*(mac_string+5));printf(\mac_string=ethernet_protocol->ether_dhost;
printf(\ing+2),*(mac_string+3),*(mac_string+4),*(mac_string+5));pcap_close(pcap_handle);}(4)
structether_header{
4
u_int8_tether_dhost[6];u_int8_tether_shost[6];u_int16_tether_type;};
typedefu_int32_tint_addr_t;structin_addr{
int_addr_ts_addr;};
structarp_header{
u_int16_tarp_hardware_type;u_int16_tarp_protocol_type;u_int8_tarp_hardware_length;u_int8_tarp_protocol_length;u_int16_tarp_operation_code;
u_int8_tarp_source_ethernet_address[6];u_int8_tarp_source_ip_address[4];
u_int8_tarp_destination_ethernet_address[6];u_int8_tarp_destination_ip_address[4];};
voidarp_protocol_packet_callback(u_char*argument,conststructpcap_pkthdr*packet_header,constu_char*packet_content){
structarp_header*arp_protocol;u_shortprotocol_type;u_shorthardware_type;u_shortoperation_code;u_char*mac_string;structin_addrsource_ip_address;
structin_addrdestination_ip_address;u_charhardware_length;u_charprotocol_length;printf(\
arp_protocol=(structarp_header*)(packet_content+14);hardware_type=ntohs(arp_protocol->arp_hardware_type);protocol_type=ntohs(arp_protocol->arp_protocol_type);operation_code=ntohs(arp_protocol->arp_operation_code);hardware_length=arp_protocol->arp_hardware_length;protocol_length=arp_protocol->arp_protocol_length;printf(\printf(\printf(\printf(\
5
printf(\switch(operation_code){
case1:printf(\case2:printf(\case3:printf(\case4:printf(\default:break;}
printf(\
mac_string=arp_protocol->arp_source_ethernet_address;
printf(\ing+2),*(mac_string+3),*(mac_string+4),*(mac_string+5));memcpy((void*)printf(\printf(\
mac_string=arp_protocol->arp_destination_ethernet_address;
printf(\(mac_string+2),*(mac_string+3),*(mac_string+4),*(mac_string+5));memcpy((void*)
printf(\}voidethernet_protocol_packet_callback(u_char*argument,conststructpcap_pkthdr*packet_header,constu_char*packet_content){
u_shortethernet_type;
structether_header*ethernet_protocol;u_char*mac_string;staticintpacket_number=1;
printf(\printf(\
ethernet_protocol=(structether_header*)packet_content;
printf(\
ethernet_type=ntohs(ethernet_protocol->ether_type);printf(\switch(ethernet_type){
case0x0800:printf(\case0x0806:printf(\case0x8035:printf(\
6
default:break;}
printf(\
mac_string=ethernet_protocol->ether_shost;
printf(\(mac_string+2),*(mac_string+3),*(mac_string+4),*(mac_string+5));printf(\mac_string=ethernet_protocol->ether_dhost;
printf(\(mac_string+2),*(mac_string+3),*(mac_string+4),*(mac_string+5));switch(ethernet_type){
case0x0806:arp_protocol_packet_callback(argument,packet_header,packet_content);break;default:break;}
packet_number++;}
intmain(){
pcap_t*pcap_handle;
charerror_content[PCAP_ERRBUF_SIZE];char*net_interface;
structbpf_programbpf_filter;charbpf_filter_string[]=\bpf_u_int32net_mask;bpf_u_int32net_ip;
net_interface=pcap_lookupdev(error_content);
pcap_lookupnet(net_interface,pcap_handle=pcap_open_live(net_interface,BUFSIZ,1,0,error_content);pcap_compile(pcap_handle,pcap_setfilter(pcap_handle,if(pcap_datalink(pcap_handle)!=DLT_EN10MB)return;
pcap_loop(pcap_handle,-1,ethernet_protocol_packet_callback,NULL);pcap_close(pcap_handle);return0;}
2、數(shù)據(jù)結(jié)構(gòu):libpcap
4、總體流程:給出流程圖
7
開啟、讀取設(shè)備,設(shè)置過濾器部分編譯、優(yōu)化、調(diào)試過濾規(guī)則表達(dá)式部分脫機(jī)方式監(jiān)聽部分
本地網(wǎng)絡(luò)設(shè)置檢測部
分
主控程序及版本部分
關(guān)閉句柄,釋放資源
4、關(guān)鍵算法:給出關(guān)鍵算法描述
(1)charerror_content[PCAP_ERRBUF_SIZE];
structin_addrnet_ip_address;獲得ip地址structin_addrnet_mask_address;獲得子網(wǎng)掩碼char*net_interface;char*net_ip_string;char*net_mask_string;(2)
捕獲一個(gè)數(shù)據(jù)包:
packet_content=pcap_next(pcap_handle,捕獲多個(gè)數(shù)據(jù)包:
pcap_loop(pcap_handle,10,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)學(xué)之眼模板
- 醫(yī)藥生物行業(yè)安全生產(chǎn)工作總結(jié)
- 舞蹈秘境:身心之旅
- 幼兒園環(huán)境教育的研究與實(shí)踐計(jì)劃
- 《知識(shí)產(chǎn)權(quán)法總論》課件
- 舞臺(tái)設(shè)計(jì)工程師工作總結(jié)
- 2024員工三級(jí)安全培訓(xùn)考試題及參考答案【A卷】
- 2023年-2024年項(xiàng)目部安全管理人員安全培訓(xùn)考試題及答案原創(chuàng)題
- 員工因病辭職報(bào)告-15篇
- 歷史學(xué)應(yīng)用研究報(bào)告
- 2025年中國社會(huì)科學(xué)院外國文學(xué)研究所專業(yè)技術(shù)人員招聘3人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 【9歷期末】安徽省淮北市2023-2024學(xué)年九年級(jí)上學(xué)期期末歷史試題
- 2024年度物流園區(qū)運(yùn)營承包合同范本3篇
- 第五單元第四節(jié) 全球發(fā)展與合作 教學(xué)實(shí)錄-2024-2025學(xué)年粵人版地理七年級(jí)上冊(cè)
- 貴州省部分學(xué)校2024-2025學(xué)年高三年級(jí)上冊(cè)10月聯(lián)考 化學(xué)試卷
- 期末綜合試卷(試題)2024-2025學(xué)年人教版數(shù)學(xué)五年級(jí)上冊(cè)(含答案)
- 2024-2025學(xué)年上學(xué)期武漢小學(xué)語文六年級(jí)期末模擬試卷
- 2023-2024學(xué)年貴州省貴陽外國語實(shí)驗(yàn)中學(xué)八年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 《爭做文明班級(jí)》課件
- 遼寧省大連市沙河口區(qū)2022-2023學(xué)年八年級(jí)上學(xué)期物理期末試卷(含答案)
- 2024年新能源汽車概論考試題庫
評(píng)論
0/150
提交評(píng)論