交通咨詢模擬系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁
交通咨詢模擬系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁
交通咨詢模擬系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余25頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、全國交通咨詢模擬: 處于對不同目的的旅客對交通工具有不同的要求。例如,因 公出差的旅客希望在旅途中的時(shí)間盡可能短,出門旅游的游客那么希望旅費(fèi)盡可能省, 而老年旅客那么要求中轉(zhuǎn)次數(shù)最少。編制一個全國城市間的交通咨詢程序,為旅客提供 兩種或三種最優(yōu)決策的交通咨詢?!靖疽蟆?1)提供對城市信息進(jìn)行編輯(如:添加或刪除)的功能(2) 城市之間有兩種交通工具:火車和飛機(jī)。提供對列車時(shí)刻表和 飛機(jī)航班進(jìn)行編輯(增設(shè)或刪除)的功能。(3) 提供兩種最優(yōu)決策:最快到達(dá)或最省錢到達(dá)。全程只考慮一種 交通工具。(4) 旅途中消耗的總時(shí)間應(yīng)該包括中轉(zhuǎn)站的等候時(shí)間。(5) 咨詢以用戶和計(jì)算機(jī)的對話方式進(jìn)行。由用戶

2、輸入起始站、終點(diǎn)站、最優(yōu)決策原那么和交通工具,輸出信息:最快需要多長時(shí) 間才能到達(dá)或者最少需要多少旅費(fèi)才能到達(dá),并詳細(xì)說明依次于何時(shí)乘坐哪一趟列車或哪一次班機(jī)到何地?!緶y試數(shù)據(jù)】烏魯木和浩特68 ,哈爾濱305京137704沈陽397511842 西安534天津349674大連'徐州110C都967、907672昆明 貴陽607409十 / 367株州675-廣州140651825上海622'福州二、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和核心算法設(shè)計(jì)描述:南寧'1、根據(jù)題目中的根本要求分析,可以創(chuàng)立系統(tǒng)概念模型,流程設(shè)計(jì)框圖如下:班次王界面YlSESNDNOYES加除

3、城韋濟(jì)加交msNOYESi査詢最快踣線/忙 5/ NO< cptisn=4?潯袖誠市主卑頁查詢費(fèi)用最小踣線2、邏輯結(jié)構(gòu)拆分:3、核心設(shè)計(jì):根據(jù)上面的流程圖和邏輯拆分,對這個問題有了一個比擬直觀,詳細(xì) 地了解。并且從中也可得知路線的添加即數(shù)據(jù)的存儲是這個系統(tǒng)進(jìn)行運(yùn)作的一個根底。 而為了便于數(shù)據(jù)的存儲、添加、刪除等操作,我選擇了儲存文件對這些數(shù)據(jù)進(jìn)行了存 儲。將每個信息量放在不同的文件中,可以更有效、直觀地對這些數(shù)據(jù)進(jìn)行處理。流程圖中的7個主要功能模塊在主函數(shù)中,采用輸入選項(xiàng)進(jìn)入子菜單,但是其他 操作都是在路線添加好后進(jìn)行的,并且為了每一項(xiàng)功能進(jìn)行完后,系統(tǒng)可以及時(shí)回到 主交互界面,我采用的

4、是無限循環(huán)形式,即 while 1。以鄰接表作交通圖的存儲結(jié)構(gòu),表示邊的結(jié)點(diǎn)內(nèi)除含有鄰接點(diǎn)的信息外,包括交 通工具、路程中消耗的時(shí)間和花費(fèi)以及出發(fā)和到達(dá)的時(shí)間等多項(xiàng)屬性。三、主控及功能模塊層次結(jié)構(gòu):1、模塊說明:本系統(tǒng)分為個模塊I、主函數(shù)2 、添加城市3 、查找城市并返回序號4、刪除城市5、添加列車6、添加航班7、刪除列車或航班8、找岀最小費(fèi)用路線9、初始化系統(tǒng)數(shù)據(jù)讀入內(nèi)存10、找出最快路線II、計(jì)算最快路線消耗的時(shí)間并打印12、計(jì)算最小費(fèi)用路線13、主界面14、存儲信息到文件15、退岀、2、下面是各模塊示意圖:根本操作:TrafficNodeDat交通工具 信息Charn ameMAX_ST

5、RING_NU班次MInt starttime出發(fā)時(shí)間Int starttime到達(dá)時(shí)間Int cost票價(jià)UNodeDat路線信息Short int city城市編號Int TrainNum火車路線數(shù)int FlightNum航班路線數(shù)TrafficNodeDatTrai nMAX_TRAFFIC_NL M火車路線信息TrafficNodeDatFlightMAX_TRAFFIC_NUM航班路線信息函數(shù)變量聲明:#in elude <>#in elude <>#defi ne ERR 0#defi ne OK 1#defi ne Dij_MAXN 33#defi ne

6、 MAX_VERTEX_NUM 31#defi ne MAX_STRING_NUM 10#defi ne MAX_TRAFFIC_NUM 10con st char CityFile ="D:"con st char Trai nF ile ="D:"con st char FlightFile ="D:"typedef short int CityType;typedef struct TrafficNodechar nameMAX_STRING_NUM; rainNum;fprin tf(fp,"%dn",to

7、tal);for (i=O;i<CityNum;i+)for (j=0;j<AdjListi.Trai nNu m;j+)fprin tf(fp,"%s %s %s ", AdjListi.Trai nj. name,( lueN*euo) A 七o七su-lu-一-芒運(yùn)呂坯(寸)一宀 二 Una)u(d4¥sosbsoos莖 6 一匚gsnp<-09& ELLdocos莖 6 一匚gsnp<-09a5ELLdocos莖 6 一匚gsnp<-09& ELL七 9SS莖 6 一匚gsnp<-09O5E 匚七 2SS

8、莖 6 一匚gsnp< -=5p& PCXI罠 PCXI& PCXI罠 Pcxl&=-d&l£d4 二 A 七OPU 山S莖 6 一匚gsnp<a)EeNQo-uarEeNQoCDEeus莖 6 一 匚gsnp<-= s& s& s&=-d&l£d4 (+"EnN 莖 6=dgsnp<voHDO4(+EnNA 七ovo上)04Meol-=5p&=-d&l£d4宀 InN 莖 6=dgsnp<¥_eol (+EnNA 七ovo上)04 (

9、M=a)一匚莖 6 一匚)u dordAo上eo=(d4¥sos宀宀 gsoosu&Lgsnp< -09& E 匚docosu &Lgsnp< -09O5E 匚 docosu &Lgsnp< -09& E 匚七 9SSU &Lgsnp<-09O5E 匚七 9SSU &Lgsnp< -=5p& PCXI罠 PCXI& PCXI罠 Pcxl&=-d&l£d4 二 A 七opu 山su&Lgsnp<a)EeNQo-uarEeNQostrcpy(Cit

10、yNameCityNum,Name);AdjListCityNum.city=CityNum;AdjListCityNum.FIightNum=O;AdjListCityNum.Trai nNu m=0;CityNum+; return 1;(5) 刪除城市:int DelCity (char *Name)in t city,i,j;city=SeekCity(Name);for (i=city;i<CityNum-1;i+) strcpy(CityNamei,CityNamei+1);AdjListi.FIightNum=AdjListi+1.FIightNum;AdjListi.Tr

11、ai nNu m=AdjListi+1.Trai nNum;for (j=0;j<AdjListi.FlightNum;j+)AdjListi.Flightj.Cost=AdjListi+1.Flightj.Cost;AdjListi.Flightj.E ndCity=AdjListi+1.FIightj.E ndCity;strcpy(AdjListi.Flightj. name,AdjListi+1.FIightj. name);AdjListi.Flightj.StartTime=AdjListi+1.Flightj.StartTime;AdjListi.FIightj.StopT

12、ime=AdjListi+1.FIightj.StopTime;CityNum-;return 1;StartTime,i nt(6) 添加火車路線:int InsertTrain(char *train,char *StartCity,char*EndCity,intEn dTime,i nt cost)int i,j;i=SeekCity(StartCity);j=SeekCity(E ndCity);AdjListi.Trai nAdjListi.Trai nN um.Cost=cost;AdjListi.Trai nAdjListi.Trai nN um.E ndCity=j;AdjL

13、isti.Trai nAdjListi.Trai nN um.StartTime=StartTime;AdjListi.Trai nAdjListi.Trai nN um.StopTime=E ndTime; strcpy(AdjListi.Trai nAdjListi.TrainNu m. name,trai n); AdjListi.Trai nNu m+;return 1;(7) 添加航班路線:int In sertFlight(char *flight,char *StartCity,char *En dCity,i ntStartTime,i nt En dTime,i nt cos

14、t)int i,j;i=SeekCity(StartCity);j=SeekCity(E ndCity);AdjListi.FIightAdjListi.FIightNum.Cost=cost;AdjListi.FIightAdjListi.FIightNum.E ndCity=j;AdjListi.FIightAdjListi.FIightNum.StartTime=StartTime;AdjListi.FIightAdjListi.FIightNum.StopTime=E ndTime; strcpy(AdjListi.FIightAdjListi.FIightNum. name,flig

15、ht); AdjListi.FIightNum+;return 1;(8) 刪除路線:int DelPath (char *n ame)int i,j,flag=0;for (i=0;i<CityNum;i+)for (j=0;j<AdjListi.FIightNum;j+)if (strcmp(AdjListi.FIightj. name, name)=0)flag=1;break; if (flag) for (;j<AdjListi.FlightNum-1;j+) AdjListi.Flightj.Cost=AdjListi.Flightj+1.Cost;AdjList

16、i.Flightj.EndCity=AdjListi.Flightj+1.EndCity;strcpy(AdjListi.F,AdjListi.Flightj+1.name);AdjListi.Flightj.StartTime=AdjListi.Flightj+1.StartTime;AdjListi.Flightj.StopTime=AdjListi.Flightj+1.StopTime; AdjListi.FlightNum-; break;for (j=0;j<AdjListi.TrainNum;j+)if (strcmp(AdjListi.Trainj.n

17、ame,name)=0) flag=1;break;if (flag)for (;j<AdjListi.TrainNum-1;j+) AdjListi.Trainj.Cost=AdjListi.Trainj+1.Cost;AdjListi.Trainj.EndCity=AdjListi.Trainj+1.EndCity;strcpy(AdjListi.T,AdjListi.Trainj+1.name);AdjListi.Trainj.StartTime=AdjListi.Trainj+1.StartTime;AdjListi.Trai nj.StopTime=AdjL

18、isti.Trai nj+1.StopTime;AdjListi.Trai nN um-;break;return 1;(9) 打印最小費(fèi)用路線:void Dijkstra_Output(intmatxDij_MAXNDij_MAXN,intPreCityDij_MAXN,intp_en d,i nt TravelType)int trackDij_MAXN;int i=0,j,k, min ,tmp,e nd,cost=0;int startH, startM, en dH, en dM;rai nN um;k+)if(AdjListtracki.Trai nk.E ndCity=e nd&

19、amp;&min> AdjListtracki.Trai n k.C ost)min=AdjListtracki.Trai nk.Cost;tmp=k;printf("%s ",AdjListtracki.T);startH = AdjListtracki.Traintmp.StartTime/60 ;startM = AdjListtracki.Trai ntmp.StartTime%60;en dH = AdjListtracki.Trai ntmp.StopTime/60 ;endM = AdjListtracki.Traintm

20、p.StopTime%60 ;if( !(startH/10)prin tf("0");prin tf("%d:",startH);if( !(startM/10)prin tf("0");printf("%d - ",startM);if( !(endH/10) )printf("0");printf("%d:",endH);if( !(endM/10) )printf("0");printf("%dn",endM);raintmp.

21、StartTime/60,AdjListtracki.Traintmp.StartTime%60,AdjListtracki.Traintmp.StopTime/60,AdjListtracki.Traintmp.StopTime%60); elsefor(i-;i>0;i-)printf("n%s:",CityNametracki); end=tracki-1;min=32767;for (k=0;k<AdjListtracki.FlightNum;k+) raink.EndCity 改為AdjListtracki.Flightk.EndCity !/*if(

22、AdjListtracki.Traink.EndCity=end&&min>AdjListtracki.Flightk.Cost) */if(AdjListtracki.Flightk.EndCity=end&&min>AdjListtracki.Flightk.Cost) min=AdjListtracki.Flightk.Cost; tmp=k;printf("%s",AdjListtracki.F);startH = AdjListtracki.FIighttmp.StartTime /60 ;st

23、artM = AdjListtracki.FIighttmp.StartTime %60;endH = AdjListtracki.FIighttmp.StopTime/ 60 ;en dM = AdjListtracki.FIighttmp.StopTime%60 ;if( !(startH/10)prin tf("0");prin tf("%d:",startH);if( !(startM/10)prin tf("0");prin tf("%d - ",startM);if( !(en dH/10)prin t

24、f("0");prin tf("%d:",e ndH);if( !(en dM/10)prin tf("0");prin tf("%dn",e ndM);lighttmp.StartTime /60,AdjListtracki.FIighttmp.StartTime %60,AdjListtracki.FIighttmp.StopTime /60,AdjListtracki.FIighttmp.StopTime % 60);printf("n%s: DESTINATION!",CityNamet

25、rack0); prin tf("nMin Cost : %dn",cost);(10) 找出最小費(fèi)用路線void Dijkstra(int matxDij_MAXNDij_MAXN,int p_start,int p_end,int TravelType)int PreCityDij_MAXN; .n"); return -1; fscanf(fp,"%d",&CityNum); for (i=0;i<CityNum;i+) fscanf(fp,"%s",&CityNamei); AdjListi.c

26、ity=i;AdjListi.TrainNum=0;AdjListi.FlightNum=0; fclose(fp); fp=fopen(TrainFile,"r");if (!fp)printf("nError:Cannot Open Train File.n"); return -1; fscanf(fp,"%d",&num); for (i=0;i<num;i+)fscanf(fp,"%s",&stmp1); fscanf(fp,"%s",&stmp2); f

27、scanf(fp,"%s",&stmp3);j=SeekCity(stmp2);AdjListj.TrainAdjListj.TrainNum.EndCity=SeekCity(stmp3); strcpy(AdjListj.TrainAdjListj.TrainN,stmp1); fscanf(fp,"%d:%d",&hour,&minute);AdjListj.TrainAdjListj.TrainNum.StartTime=hour*60+minute; fscanf(fp,"%d:%d",

28、&hour,&minute);AdjListj.TrainAdjListj.TrainNum.StopTime=hour*60+minute;fsca nf(fp,"%d",&cost);AdjListj.Trai nAdjListj.Trai nN um.Cost=cost;AdjListj.Trai nNu m+;fclose(fp);fp=fope n( FlightFile,"r");if (!fp)prin tf("nError:Ca nnot Ope n Flight File.n"); retur

29、n -1;fsca nf(fp,"%d",&n um);for (i=0;i <nu m;i+)fsca nf(fp,"%s", &stmp1);fsca nf(fp,"%s", &stmp2);fsca nf(fp,"%s", &stmp3); j=SeekCity(stmp2);AdjListj.FlightAdjListj.FlightNum.E ndCity=SeekCity(stmp3);strcpy(AdjListj.FIightAdjListj.FIightNum

30、. name,stmp1);fsca nf(fp,"%d:%d",&hour,&min ute);AdjListj.FlightAdjListj.FlightNum.StartTime=hour*60+mi nute; fsca nf(fp,"%d:%d",&hour,&min ute);AdjListj.FIightAdjListj.FIightNum.StopTime=hour*60+mi nute; fsca nf(fp,"%d",&cost);AdjListj.FlightAdjList

31、j.FlightNum.Cost=cost;AdjListj.FlightNum+;fclose(fp);return 1;(12)找出最快路線:int SearchMinTime (CityType City,CityType EndCity,int CurTime,int curPathNo,int TravelType)int i;if (City=EndCity)if (MinTime>CurTime-StartTime)for (i=0;i<=curPathNo;i+)MinPathi.City=Pathi.City;MinPathi.TraNo=Pathi.TraNo;

32、curPath=curPathNo;MinTime=CurTime-StartTime;elsecurPathNo+;PathcurPathNo.City=City;if (!TravelType)for (i=0;i<AdjListCity.TrainNum;i+)if(AdjListCity.Traini.StartTime>=(CurTime%1440)&&(AdjListCity.Traini.StopTime+(CurTime/1440)*1440-StartTime<MinTime)PathcurPathNo.TraNo=i;SearchMinTi

33、me(AdjListCity.Traini.EndCity,EndCity,AdjListCity.Traini.StopTime+(CurTime/1440)*1440,curPathNo,TravelType);if(AdjListCity.Traini.StartTime<(CurTime%1440)&&(AdjListCity.Traini.StopTime+(CurTime/1440)*1440-StartTime<MinTime)PathcurPathNo.TraNo=i;SearchMi nTime(AdjListCity.Trai ni.E ndCi

34、ty,E ndCity,AdjListCity.Trai ni .StopTime+(CurTime/1440+1)*1440,curPathNo,TravelType);elsefor (i=0;i<AdjListCity.FIightNum;i+)if(AdjListCity.FIighti.StartTime>=CurTime)&&(AdjListCity.Flighti.St opTime+(CurTime/1440)*1440-StartTime<Mi nTime)PathcurPathNo.TraNo=i;SearchMi nTime(AdjLis

35、tCity.FIighti.E ndCity,E ndCity,AdjListCity.FIight i.StopTime+(CurTime/1440)*1440,curPathNo,TravelType);if(AdjListCity.Flighti.StartTime<CurTime)&&(AdjListCity.Flighti.Sto pTime+(CurTime/1440)*1440-StartTime<Mi nTime)PathcurPathNo.TraNo=i;SearchMi nTime(AdjListCity.Flighti.E ndCity,E n

36、dCity,AdjListCity.FIight i.StopTime+(CurTime/1440+1)*1440,curPathNo,TravelType);return 1;(13)計(jì)算最快路線所需時(shí)間并打?。篿nt CalcMinTime (int StartCity,int EndCity,int TravelType)int i;int startH, startM, endH, endM;ity=StartCity;if (!TravelType)for (i=0;i<AdjListStartCity.TrainNum;i+)Path0.TraNo=i;StartTime=A

37、djListStartCity.Traini.StartTime;SearchMinTime(AdjListStartCity.Traini.EndCity,EndCity,AdjListStartCit y.Traini.StopTime,0,TravelType);elsefor (i=0;i<AdjListStartCity.FlightNum;i+) Path0.TraNo=i; StartTime=AdjListStartCity.Flighti.StartTime;SearchMinTime(AdjListStartCity.Flighti.EndCity,EndCity,A

38、djListStartCi ty.Flighti.StopTime,0,TravelType);if (MinTime=32767)printf("nNo access to that destination!");return 0;rainMinPath0.TraNo.StartTime; lightMinPath0.TraNo.StartTime;printf("nPath:n");for (i=0;i<=curPath;i+)if (!TravelType)printf("%s : %s",CityNameMinPathi

39、.City,AdjListMinPathi.City.TrainMinPathi.TraN );elseprintf("%s : %s",CityNameMinPathi.City,AdjListMinPathi.City.FlightMinPathi.Tra N);startH =AdjListMinPathi.City.TrainMinPathi.TraNo.StartTime / 60 ;startM =AdjListMinPathi.City.TrainMinPathi.TraNo.StartTime % 60 ; endH =AdjList

40、MinPathi.City.TrainMinPathi.TraNo.StopTime / 60 ;endM =AdjListMinPathi.City.TrainMinPathi.TraNo.StopTime % 60 ;if( !(startH/10) )printf("0");printf("%d:",startH);if( !(startM/10) )printf("0");printf("%d - ",startM);if( !(endH/10) )printf("0");printf(

41、"%d:",endH);if( !(endM/10) )printf("0");printf("%dn",endM);rainNum)min=32767; end=AdjListi.Trainj.EndCity; while(end=AdjListi.Trainj.EndCity&&j<AdjListi.TrainNum)if (AdjListi.Trainj.Cost<min)min=AdjListi.Trainj.Cost;j+;maiend=min;elsefor (i=0;i<CityNum;

42、i+)min=32767;j=0;while (j<AdjListi.FlightNum)min=32767; end=AdjListi.Flightj.EndCity; while(end=AdjListi.Flightj.EndCity&&j<AdjListi.FlightNum)if (AdjListi.Flightj.Cost<min)min=AdjListi.Flightj.Cost;j+;maiend=min;Dijkstra(ma,StartCity,E ndCity,TravelType); return 1;五、功能模塊間函數(shù)的調(diào)用關(guān)系,如下

43、列圖所示:SearchMi nTime()最短時(shí)間:In itSysData() SeekCity( name)CalcMi nTime(start city,e ndcity,trav最小費(fèi)用:SaveSysI nfo()Ini tSysData()SeekCity( name) SeekCity( name) Calcmi ncost(start cCaicndnCo&av: eDjke)ra(ma,Stert SaveEndfQTrav elType)Ini tSysData()DelPath( name)六、調(diào)試結(jié)果:顯示菜單:添加城市:ShowMe nu()In itSysD

44、ata()In sertCity(Name)SaveSysI nfo()intmai n()J刪除路線:In itSysData()DelCity(Name)SaveSysI nfo()DijkSaaeSysInfo() Dijkstra_OutPut(m atx,PreCity,p_e nd ,TravelType)刪除城市:添加路線:DelCity():SeekCity( name)Ini tSysData()In sertFlight( name,s_city,e_city,s_hour*6 0+s_min ute,e_hour*60+e_mi nute,coIn sertFlight(

45、 name,s_city,e_city,s_hour*6 r*60+e_mi npte,cost)- In sertFlight():SeekCity(StartCit y)SeekCity(E ndCity)0+s minute,e hou InsertTrain():_SekcSavStW"y)SeekCity(E ndCity)1、主界面:U謐括結(jié)臨空逵屋世Apebug諛通模擬牝碼心hS3跑線線專 卄、帀幣iaF-快 霧減詁蓉霧 牯除加焉詢H W添刪疏型香退卯pe In Voiii' CornnajiA Z、添加城市:輸入命令1后,按提示輸入城市名,而后返回主界面I j

46、jipe In Your Cjomnaiid: 卑11輸入誠訊皆重慶Spslt em I nf d Save OK*ype In V0111* Comnajidl "1LL0散咼須戎通模閔Wbu 詼通摸扭弋時(shí)exe 線 淺線麥 帀®®h快 絡(luò)脣詢匕S 退線 線線釁 路 幣.幣通梟快 誡減交亠嘗W職 io除加醬詢H 棒蒯濟(jì)刪杳查1R原city文件:添加城市后的city文件:3、刪除城帀:輸入命令2后,按提示輸入城帀名,而后返回主界面b:務(wù)加辺i瞳轅:蠶iP鼠線:査詢食快路線i淚J JiilIT upe In Vaui* Comnajidl :2psten Inf d Save OK*. .丁線線釁路 幣幣通杲快 鍛減交亠tfw職 to除加堀詢岀 粹刪掠刪杏香_退l ype In Vo ui* Comnandl : 率4、添加路線:輸入命令3后,按提示依次輸入起始站、終點(diǎn)站、類型、起始時(shí)刻、到達(dá)時(shí)刻、票價(jià)等信息,而后返回主界面 口謚陌希袤迪模掾氏創(chuàng)甘展il規(guī)披優(yōu)碼趙才b回 箕fysteri Info aue OK?MXiOriOf11添M城市:刪除萩帀:源加交通路線i |Ifli-H退匕:T" 一n :3:04 礦河 d 7-1 anJ:T劭 藕黑 c 00耐 ul-c-tjh.匚8

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論