系统概要设计与系统详细设计_第1页
系统概要设计与系统详细设计_第2页
系统概要设计与系统详细设计_第3页
系统概要设计与系统详细设计_第4页
系统概要设计与系统详细设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 HYPERLINK 目录系统开发的的必要性及及介绍系统概要设设计系统详细设设计系统源代码码调试分析和和测试结果果系统使用说说明书心得体会参考文献课程设计题题目:仓库库货品信息管理系系统一、系统开开发的必要要性及介绍1.必要性性仓库管理是是现代物流流管理的一一个重要组组成部分,仓仓库货物管管理信息系系统的设计计,可以实现现对存储货货物信息及及统计单据据的计算机机管理,简简化作业程程序,提高高作业效率率,为企业业创造更高高的利润。2.主要功功能介绍本系统有对对库存货品品信息的输输入、插入入、删除、查找等功功能,并能能将建立和和更新的库库存信息保保存于文件件供输出或或打印。对对于查找、删除等功功能

2、要求能能按货品名名、货品号号分别进行行。每个货货品的相关关信息包括括:货品号号、货品名名、货品库库存量、进进货日期、货品生产产厂家及供供应商等。二、系统概概要设计1.系统设设计任务要求系统能能实现库存存货品信息息的输入、插入、删删除、查找找等功能,并并能将建立和更更新的库存存信息保存存于文件供供输出或打打印。对于于查找、删删除等功能能能够按货货品名、货货品号分别别进行。每每个货品的的相关信息息包括:货货品号、货货品名、货货品库存量量、进货日日期、货品品生产厂家家及供应商商等。2.方案确确定库存货品信信息管理系系统要求实实现许多功功能,可遵遵循结构化化程序设计计思想来进进行本系统统的设计自顶向向

3、下,逐步步细化,也也就是将软软件设计任任务划分成成许多容易易解决的小小的子任务务,即分解解出许多子子功能模块块进行设计计。本程序序经过分析析可划分出出6个子任任务:输入入、输出、插入、删删除、查找找和保存。3.模块划划分 (1)程程序设计模模块连接图图库存货品信信息管理系系统的模块块连接结构构如下图:仓库货品信息管理系统 主程序模块 载入模块保存模块 查找模块删除模块插入模块 输出模块输入模块4.环境要要求硬件:PCC机软件:电脑脑安装有TTC集成环环境三、系统详详细设计1数据结结构设计(1)数据据结构的选选择选取动态数数据结构,本本系统是通通过双向链表来来完成的。动态存储分分配与释放放:申请

4、存储空空间函数mmallooc( )函数首部原原型为void * maallocc(unssigneed innt siize)释放存储空空间函数ffree( )函数首部原原型为void freee(voidd*p)动态数据结结构双向链表 (2) 数据类型型的选择strucct coommoddity /*定定义双向链链表结构体体*/int numbber; /*货物编编号*/ charr nammemaax; /*货物名名称*/ int counnter; /*货物数数量*/ struuct ccommoodityy *piiror, *neext; /*定义两两指针,分分别指向其其前驱和后

5、后继*/;(3)变量量函数说明明:COM *inpuut( )操作结果:输入货品品信息COM *inseert_pperf( )操作结果:插入某货货品COM *del_perff( )操作结果:删除某货货品serchh( )操作结果:查找某货货品printt_perrf( )操作结果:输出某货货品save(COM*headd)操作结果:保存COM *opennfilee( )操作结果:载入2.流程框框图查找模块和和载入模块块的算法框框图在此略略。开始(1)输入入模块申请一个结点空间,使ptr1指向它将ptr1指向结点输入货品的信息ptr1-num!=0 NNULL=ptr1Y ptr1!=NU

6、LL N是否为第一个数据(n=0) Y NPtr1=ptr2-next;ptr2=ptr1-prior Yptr1=head Yn+1=n, ptr1=ptr2NULL=ptr2-next 返回head结束(2)插入入模块 开始调入载入模块Head=NULL申请一个结点空间,使ptr3指向它给ptr3指向结点输入预插入货品的信息 Head=ptr1ptr1!=NULL N Y返回NULLptr1=ptr2;ptr1-next=ptr1ptr2=ptr1-priorptr3=ptr2-next;ptr2=ptr3-priorNULL=ptr3-next“yes”or “no” NY 返回head

7、结束开始(3)保存存模块输入预保存文件的文件名创建文件成功 N YHead=ptr1Ptr1!=NULL N Y将ptr1指向结点的数据写入文件Ptr1-next=ptr1结束开始 2030(4)输出出模块 调用载入模块Head= =NULL YYHead=ptr1输出ptr1指向结点的货品信息 Ptr1-next=ptr1 NPtr1!=NULL Y N结束对以上各模模块的文字字解释说明明:(1)输入入模块:其其实就是一一个建立链链表的操作作模块。建建立链表的的具体操作作就是逐一一输入各结结点数据,并并建立其前前后相链的的关系。首首先设三个个指针变量量:heaad,pttr1,pptr2。它

8、们都是是指向结构构体类型数数据的。先先使heaad的值为为NULLL,这是链链表为空的的情况。用用mallloc函数数开辟一个个结点,并并使ptrr1,pttr2都指指向它,之之后从键盘盘读入一个个货品的数数据给pttr1所指指向的结点点。当输入入的ptrr1-nnum不为为0时,令令headdptrr1;pttr2=pptr1,即即把ptrr1的值赋赋给heaad,使pptr2,ptr11,heaad都指向向这一新开开辟的结点点,此结点点就成为链链表中的第第一个结点点。再开辟辟一个新结结点并使pptr1指指向它,读读入该结点点的数据,如如果输入的的ptr11-nuum不为00,则应链链入这第

9、二二个结点,这这时和上一一个结点的的处理不同同,是将pptr1的的值赋给pptr2-nexxt,也就就是使第一一个结点的的nextt成员指向向第二个结结点,接着着将ptrr2也指向向结点2。再开辟一一个新结点点并使pttr1指向向它,读入入该结点的的数据,同同样将pttr1的值值赋给pttr2-nextt,也就是是使第三个个结点链接接到第二个个结点之后后,并接着着将ptrr1的值赋赋给ptrr2,使pptr2指指向结点33。再开辟辟一个新结结点,并使使ptr11指向它,输输入该结点点的数据,如如果输入pptr1-numm为0,则则是输入结结束标志,此此结点不被被链接到链链表中,就就将NULLL

10、赋给pptr2-nexxt。建立立链表过程程至此结束束,ptrr1最后所所指结点并并未链入链链表中。(2)插入入模块:要要完成的是是链表的插插入操作,即即将一个新新结点插入入到一个已已有的链表表中,对刚刚刚建立的的链表,首首先新设一一个指针变变量ptrr0,并开开辟一个结结点使pttr3指向向它,输入入该结点的的数据,即即新货的有有关数据,接接下来查找找要插入位位置结点,找找到后只需需修改此结结点和pttr0指向向结点指针针域的值即即可,链表表中所有元元素位置均均不需移动动,这就体体现了链表表的优点。(3)删除除模块:要要完成的是是链表的删删除操作,只只需修改链链表中要删删除结点的的前一个结结

11、点的链指指针。使之之指向被删删除结点的的后面一个个结点即可可。(4)保存存模块:将将最终想要要保留的数数据信息保保存于文件件中。(5)输出出模块:要要完成的是是依次输出出链表中各各结点的数数据的操作作。首先找找到链表头头结点的地地址,也就就是heaad的值,然然后设一个个指针变量量ptr11,先指向向第一个结结点,输出pttr1所指指的结点,然然后使pttr1后移移一个结点点,再输入入直至链表表的尾结点点结束。四、系统源源代码#incllude /*标标准输入/输出头文文件*/#incllude /*包包含绘制图图形函数等等头文件*/#incllude /*包包含字符串串处理函数数头文件*/#

12、incllude /*包包含动态存存储与释放放函数头文文件*/#incllude#defiine LLEN ssizeoof(COOM)#defiine PPRINTT % -15lld% -15s% -155dn,ptrr1-nnum,pptr1-namme,pttr1-counnt#defiine CCHECKK_COUUNT pptr1-couuntcoountnuum);fflushhall(); iif(pttr1-num=0) priintf(Pleease presss anny keey too bacck too lasst Meenu:); gettch( ); freee

13、(pttr1); retturn(0); prrintff(Plleasee inpput tthe NNo.%dd gooods%s:nn,n,striing2);scaanf(%s,&ptrr1-nname); fllushaall( ); /*刷刷新缓冲区区函数*/ prrintff(Plleasee inpput tthe NNo.%dd gooods%s:nn,n,striing3);scaanf(%d,&ptrr1-ccountt); fllushaall( ); iff(CHEECK_CCOUNTT) prrintff(Plleasee inpput tthe rrightt g

14、ooodscoount!n); wwhilee(CHEECK_CCOUNTT); whiile(pptr1-numm!=NUULL) iif(n=1) hhead=ptr11; ellse pptr2-nexxt=pttr1; pttr1-prioor=pttr2; n=n+1; pttr2=pptr1; iff(pttr1=(COM* )maallocc(LENN)=NULLL) prrintff(Noo enoough memoory,ffail to ccreatt linnklisst!); getcch( ); doo prinntf(Pleaase iinputt thee No.

15、%d ggoodss%s:n,n,sttringg1); scannf(%ld,&ptrr1-nnum); flusshalll( ); if(pptr1-numm=0) pptr1-numm=NULLL; bbreakk; prinntf(Pleaase iinputt thee No.%d ggoodss%s:n,n,sttringg2);sscanff(%ss,&pptr1-namme); flusshalll( ); prinntf(Pleaase iinputt thee No.%d ggoodss%s:n,n,sttringg3);sscanff(%dd,&pptr1-couunt

16、); flusshalll( ); if(CCHECKK_COUUNT) prinntf(Pleaase iinputt thee rigght ggoodsscounnt!nn); whille(CHHECK_COUNNT); ptrr2-nnext=NULLL; gottoxy(1,244); priintf(Finnish the inpuuttinng off gooodsmmessaage,ppresss anyy keyy to backk to lastt Mennu,plleasee savve:); gettch(); retturn(headd);/*插入模模块*/COM

17、* inssert( ) COMM * pptr3; chaar sttringg1 =ggoodssnumbber; chaar sttringg2 =ggoodssnamee; chaar sttringg3 =ggoodsscounnt; chaar juudge10; clrrscr( ); gottoxy(18,110); priintf(Pleease inpuut innsertted ggoodssfliienamme:); heaad=oppenfiile( ); if(headd=NUULL) retturn(NULLL); elsse ddo clrrscr( ); pr

18、iintf(Pleease inpuut innsertted ggoodssgooodsmeessagge:nn); if(ptrr3=(CCOM*)mallloc(LLEN)=NUULL) prrintff(Noo enoough memoory,ffail to ccreatt nodde!); geetch(); ddo prinntf(Pleaase iinputt gooods%s(00):nn,sttringg1);sscanff(%lld,&ptr33-nuum); flusshalll( ); if(pptr3-nummnamee);fllushaall( ); pprint

19、tf(PPleasse innput goodds%ss:n,strring33);sccanf(%d,&(pptr3-couunt); fllushaall( ); iif(CHHECK_COUNNT2) pprinttf(PPleasse innput the righht gooodsccountt(0)!n); wwhilee(CHEECK_CCOUNTT2); pptr1=headd; wwhilee(ptrr1!=NNULL) ptr22=ptrr1; ptr11=ptrr1-nnext; ptr11-prrior=ptr22; ptr2-nexxt=pttr3;ptr3-prii

20、or=pptr2; pptr3-nexxt=NUULL; pprinttf(nInssertiing ssucceess!CCotinnue tto innsertt?(yees orr no):); sscanff(%ss,juudge); cclrsccr( ); whhile(! sttrcmpp(juddge,yes); gotooxy(220,100); prinntf(Inseertinng suuccesss!nn); gotooxy(118,111); prinntf(Presss anny keey too bacck too lasst Meenunn); gotooxy(

21、116,122); prinntf(And makee surre too Savve(6) theem orr youu willl loose tthem!n); getcch( ); retuurn(hhead);/*删除模模块*/COM *deleet( ) chhar nname10; chhar jjudgee10; innt seel; innt deel_nuum; cllrscrr( ); gootoxyy(20,10); prrintff(Plleasee inpput ddeleccted gooddsfllienaame:); heead=oopenffile( );

22、cllrscrr( ); iff(heaad=NNULL) retuurn(NNULL); ellse ddo do cclrsccr( ); ggotoxxy(3,4); pprinttf(PPleasse innput deleectedd gooodsmmessaage:); ggotoxxy(1,9); pprinttf( *1.Deel deependd on gooddsnummbern); ggotoxxy(1,10); pprinttf( *2.Deel deependd on gooddsnammen); ggotoxxy(100,22); pprinttf(ppleasse

23、 chhoosee a nnumbeer beetweeen 1 and 2:); sscanff(%dd,&ssel); sswitcch(seel) casse 1:clrsscr( ); ggotoxxy(6,6); pprinttf(PPleasse innput gooddsnummber:); sscanff(%dd,&ddel_nnum); bbreakk; casse 2:clrsscr( ); ggotoxxy(6,6); pprinttf(PPleasse innput gooddsnamme:); sscanff(%ss,&nname); bbreakk; wwhilee

24、(sell!=1&sell!=2); ptr11=heaad; if(ptr11-nuum=ddel_nnum|(strrcmp(ptr11-naame,nname)=0) heead=pptr1-nexxt; prrintff(Suuccesss too dellect gooddsmesssagee!n); ellse /*判判断是否是是目标结点点*/ whille(pttr1!=NULLL&pttr1-num!=dell_numm&sttrcmpp(ptrr1-nname,namee)!=00) ptrr2=pttr1; ptrr1=pttr1-nextt;ptr1-priior=ppt

25、r2; iif(pttr1-num=dell_numm|(sstrcmmp(pttr1-namee,namme)=0) pttr2-nextt=ptrr1-nnext; pttr1-nextt-prrior=ptr11-prrior; freee(pttr1); prrintff(nnSucccess to ddelecct gooodsmmessaage!nn); ellse pprinttf(nCannt ffind thiss gooodsmeessagge!nnn); priintf(Cottinuee to deleect?(yes or nno):); scaanf(%s,judg

26、ge); whhile(!strrcmp(judgge,yyes); clrrscr( ); gottoxy(20,110); priintf(Dellectiing ssucceess!n); gottoxy(18,111); priintf(Preess aany kkey tto baack tto laast MMenun); gottoxy(16,112); priintf(Andd makke suure tto Saave(66) thhem oor yoou wiill llose themm!n); gettch( ); retturn(headd); /*查找找模块*/vo

27、id searrch( )charr namme100; charr juddge110; int sel; longg intt sell_numm; clrsscr( ); gotooxy(118,100); prinntf(Pleaase ppresss seaarcheed gooodsflieenamee:); headd=opeenfille( ); if(hhead=NULLL) retturn; elsee do do clrrscr( ); gottoxy(5,4); priintf(Pleease chooose tthe wway tto seearchh:); gott

28、oxy(1,9); priintf( *1.Searrch ddepennd onn gooodsnuumberrn); priintf( *1.Searrch ddepennd onn gooodsnaamenn); gottoxy(10,222); priintf(pleease chooose aa nummber betwween 1 annd 2:); scaanf(%d,&sell); swiitch(sel) casse 1:clrsscr( ); pprinttf(PPleasse innput gooddsnummber:); sscanff(%lld,&sel_num);

29、bbreakk; casse 2:clrsscr( ); priintf(Pleease inpuut gooodsnname:); sscanff(%ss,naame); bbreakk; whiile(ssel!=1&ssel!=2); pptr1=headd; wwhilee(ptrr1!=NNULL&ptrr1-nnum!=sel_num&strrcmp(ptr11-naame,nname)!=0) ptr11=ptrr1-nnext; iif (ptr11-nuum=ssel_nnum)|(sttrcmpp(ptrr1-nname,namee)=00) pprinttf(n Suuc

30、cesss too seaarch gooddsmesssagee!n); pprinttf(ggoodssnumbber gooddsnamme gooodsccounttnnn); pprinttf(PRRINT); eelse priintf(nCCantt finnd thhis ggoodssmesssage!nnn); priintf(Cottinuee to searrch?(yes or nno):); scaanf(%s,judgge); whille(!sstrcmmp(juudge,yess); ggotoxxy(100,24); pprinttf(PPleasse pr

31、ress any key to bback to llast Menuu:); ggetchh( ); /*输出模模块*/void prinnt( ) intt i=11; clrrscr( ); gottoxy(18,110); priintf(Pleease inpuut prrinteed gooods:); heaad=oppenfiile( ); if(headd=NUULL) retuurn; elsse clrsscr( ); prinntf( The prinnted resuult aas foollowws:nn); prinntf(gooddsnummber gooods

32、naame ggoodsscounntnn); ptr11=heaad; do pprinttf(PRRINT); pptr1=ptr11-neext; iif(i/10=1) /*超过十十行换页*/ i=00; priintf(Preess aany kkey tto chhangee pagge:); gettch( ); clrrscr( ); gottoxy(0,6); priintf(gooodsnuumberr gooodsnaame ggoodsscounntnn); i=i+1; whiile(pptr1!=NULLL); ggotoxxy(100,24); pprinttf(

33、PPleasse prress any key to bback to llast Menuu:); ggetchh( ); /*保存模模块*/void savee(COMM *heead) clrrscr(); gottoxy(8,133); priintf(Pleease inpuut saaved goodds(llimitt to lettter oor nuumberr):); scaanf(%s,); if(fp=fopeen(sttrcatt(),wb)=NNULL) /*以二二进制只写写方式打开开一个流*/ pprinttf(FFail to ccreatt FILLE!);

34、ggetchh( ); rreturrn; ptrr1=pttr2=hhead; whiile(pptr1!=NULLL) iff(fwrrite(ptr11,sizzeof(COM),1,ffp)!=1) prinntf(Faill to prinnt meessagge too FILLE!); getcch( ); retuurn; ptrr1=pttr1-nextt; fcllose(fp); gottoxy(10,224); priintf(Savving succcess!Presss anny keey too bacck too lasst Meenu:); gettch();

35、/*载入模模块*/COM * opeenfille( )int n=1; scannf(%s,); if(fp=ffopenn(strrcat(),rrb)=NUULL) gottoxy(15,113); priintf(Thiis iisntt exiist,ppleasse chheck if eexistt.nppresss anyy keyy bacck too Mennu); gettch( ); retturn(NULLL); if(ptr11=ptrr2=(CCOM*)mallloc(LLEN)=NUULL) priintf(No enouugh mmemorry,faail t

36、to crreat linkklistt!nPPleasse prress any key backk to Menuun); getcch( ); retuurn(NNULL); if(ffreadd(ptrr1,siizeoff(COMM),1,fp)!=1) /*从fpp指向的流流中读取11个字段,每每个字段为为COM的的字符长,并并把它们放放到ptrr1指向的的字符数组组中,文件件的位置指指示器随着着所读取的的字符数而而下移*/ prrintff(Faail tto prrint messsage fromm FILLE!nnPleaase ppresss anyy keyy bacc

37、k too Mennun); geetch( ); reeturnn(NULLL); if(pptr1-nexxt=NNULL) heaad=pttr1; elsee doo iff(n=1) heead=pptr1; elsse pttr2-nextt=ptrr1; n=nn+1; ptrr2=pttr1; if(ptrr1=(CCOM*)mallloc(LLEN)=NUULL) pprinttf(NNo ennoughh memmory,faill to creaat liinkliist!nPleease presss anny keey too bacck too Mennun); g

38、eetch( );rreturrn(NUULL); if(freaad(pttr1,ssizeoof(COOM),11,fp)!=1) prrintff(Faail tto prrint messsage fromm FILLE!nnPleaase ppresss anyy keyy to backk to Menuun); gettch( );reeturnn(NULLL); whhile(ptr11-neext!=NULLL); pttr2-nextt=ptrr1; returrn(heead);fclosse(fpp); /*关闭文文件函数*/void mainn( )charr mes

39、ssagee = -*Thee insstrucctionn of GOODDS SYYSTEMM*- nnn YYou ccan iinputt manny kiinds of mmessaages,and you can use n gooodnaame aas n TThis SYSTTEM ccan ddo opperattion likee inssert or ddelecct too thee n gooodsmmessaage tthat havee savved,tthen saveed aggain.whille yoou n ccan ssearcch meessagge

40、 deependd on the gooddsnubb or gooddsnamme. nnnn -*WWelcoome tto ennter the GOODDS SYYSTEMM!*- nn ;Char menuu=*MMENU* nnn *1.IInputt n *2.OOutpuut n *3.IInserrt n *4.Deeletee n *5.SSearcch n *6.SSave n *0.EExit n;int ssel;delayy(10);textbbackggrounnd(LIIGHTGGRAY);textccolorr(BLUUE); /*背景为银银灰色,字字为蓝色*

41、/clrsccr( );gotoxxy(4,8);printtf(%s,mmessaage);gotoxxy(100,22);printtf( PPleasse prress any key intoo thee Mennu!);getchh( );doclrsscr( );gotoxxy(1,7);printtf(%s,mmenu);gotoxxy(100,20);printtf(ppleasse chhoosee a nnumbeer frrom 00 to 6:);scanff(%dd,&ssel);switcch(seel)casee 1:hhead=inpuut( ); /*输入模块

42、块*/ bbreakk; casee 2:pprintt( ); /*输出模块块*/ bbreakk; casee 3:hhead=inseert( ); /*插入模块块*/ bbreakk; casee 4:hhead=deleet( ); /*删删除模块*/ bbreakk; casee 5:ssearcch( ); /*查找模块块*/ bbreakk; casee 6:ssave(headd); /*保保存模块*/ bbreakk; casee 0:bbreakk;whille(seel!=00);五、调试分分析和测试试结果各模块功能能测试:1.COMM *innput( )输入入模块功

43、能能测试用户逐一输输入的数据据不断添加加就形成了了一个列表表。前面已已经表明本本系统的数数据结构选选取动态数数据结构双向链表,因因此此列表表在内存中中是以链表表的形式存存储的。那那么输入模模块实际上上就是一个个建立链表表的操作模模块。通过过模块saave( )将内存存中的已输输入的数据据存入到指指定路径的的某*.datt文件中去去.特别指出: * 为为用户自己己规定的货货品名。输入条件: gooodsnuumb ld型,且0. 当=0时退出出 gooodsnname s 型型 gooodsccountt d型型,且00. 当0时显示示输入错误误,重输字字样。 调用用savee( )时时 goo

44、os:d:pllfu输出结果: 货品保保存在用户户指定路径径的 *.dat文文件中以免免丢失。2Priint( )输出模模块可将指定文文件中的内内容显示在在屏幕上。输出条件:调用载入入模块时,goos:d:pllfu输出结果:如输出条条件正确,则则可在屏幕幕上显示如如下:goodssnumbb gooddsnamme gooddscouunt0001 a 12250002 b 2300003 c 1803. innsertt( )插入入模块插入模块要要完成的是是链表的插插入操作,即即将一个新新结点插入入一个已有有的链表中中。输入条件:调用载入入模块。ggoos:d:pllfu按货品名的的numbber, nname, couunt 分分别输入,如如输错则有有信息提示示。输出结果:输入正确确后,则显显示插入成成功,返回回菜单后,存存盘。4.Dellet( )删除模模块删除模块要要完成的是是链表的删删除操作,即即将一个结结点从已有有的链表中中删除。输入条件:调用载入入模块。ggoos:d:pllfu有两种删除除方式按号号和名删除除,如输错错则有信息息提示。输出结果:输入正确确后,则显显示删除成成功,返回回菜单后,存存盘。5.seaarch( )查找找模块链表的查找找操作是指指在已知链链表中查找找值为某指指定值的结结点。输入条件:调用载入入模块。ggoos:d:pllfu

温馨提示

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

评论

0/150

提交评论