个人财务管理软件报告_第1页
个人财务管理软件报告_第2页
个人财务管理软件报告_第3页
个人财务管理软件报告_第4页
个人财务管理软件报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、个人财务管理软件报告目录一、需求分析 2二、概要设计2三、详细设计3四、调试分析8五、用户手册8六、测试数据9七、 附录11一、需求分析1. 首先个人的财务信息里包括收支日期,收入金额、支出金额还有收入和支 出的目的,还有账户余额。因为是包括多个信息所以考虑到用结构体数组来储存 这些信息,然后再把这些信息一起储存到文件中。2该软件需要有六个功能,首先是登录功能,必须输入正确的用户名和密码 才能使用软件。第二是收支记录的管理,该部分包括添加功能,删除功能和修改 功能。第三是查询某天或某月的收支情况。 第四是统计一段时间的信息。3. 后面的收支功能,查询功能和统计功能都是从文件中读取,读取后存到结

2、 构体数组中,然后再进行操作,操作完后关闭文件,以免信息丢失。4. 当用户名和密码输入错误,会提示你输入错误,请重新输入。5. 如果是操作过程中输入错误,会回到最菜单重新操作。6. 运行时用户可以根据提示进行操作,每进行一步操作,就会有相应的提示。二. 概要分析1. 程序中存储个人每天的财务信息用的是结构体数组,其中结构体中包括: 日期(年月日),收入金额,支出金额,收入目的。struct peopleint year;/年份int mon th;/月份int day;/日期float get;/收入金额float out;/支出金额char motive100;/支出目的char sourc

3、e100;/收入来源float leave;/余额2. 本程序各函数的结构 ma in函数将三天的账户信息存储到文件中;提示用户输入用户名和密码,输入正确;进入f7 (); /菜单选择函数switch() 1.修改信息;f2()函数2.添加信息;f3()函数3.删除信息;f4()函数4.查询信息;f5()函数5.统计信息;f6()函数3.各模块的调用关系int i,a,by第一层:main函数第二层:f7 ();第三层:f2() ,f3(),f4(),f5(),f6();调用时这些函数都可以通过f7 ()函数来互相调用。比如运行完f2 ()函数后,可以调用f7(),然后再调用f3 ()函数。4

4、.主函数:添加信息到文件中和执行登录功能。 其他调用函数分别执行其他五大功能。三. 详细设计1基本数据类型操作a) 存储每天账户信息的数组结构体struct peopleint year;int mon th; int day; float get; float out; char motive100; char source100; float leave;b )控制结构体数目的extern N刚开始运行该程序时,N的初始值为3,后来如果进行添加操作,则 N的值就会加1,反之如果进行删除操作,则N的值就会减1。2、流程图main 函数将信息存到文件中输入用户名和密码3、基本操作的算法描述a)

5、登录功能:用户只有在输入正确的用户名和密码后才能进入系统进行 操作。for(;)prin tf(”=请输入用户名和密码:=、n);printf(用户名:”);scan f(%d,& a);/a 表示用户名prin tf(n);printf(”密码:);b表示密码scan f(%d,&b);prin tf(n);if(a=10201306&b=1) /输入和条件一致的情况下进入if 语句中printf(= 恭喜输入正确,登录成功!=n“);printf(该软件中已存有 2010年1月1号到3号的信息!n);else /输入和条件不一致就进入else语句printf(”输入错误,请重新输入!n);

6、b)主菜单功能:用户可以自行选择要进行的操作prin tf(=1:修改信息=n);prin tf(=2:prin tf(=3:prin tf(=4:prin tf(=5:printf(请选择:”);scan f(%d, &flag);/删除信息= n); 添加信息=n); 查询信息=n); 统计信息=n);/在屏幕上输出,指示用户操作输入用户的选项并存在flag中while( flag != 0)switch(flag)default: printf(此选项不存在,请重新输入:n);break;case 1:f2(x,y,z);/break;进入修改函数case 2:f3(x,y,z);/进入

7、删除函数break;case 3:f4();/进入添加函数break;case 4:f5(x,y,z);/进入查询函数break;case 5:f6(x,y,z,x1,y1,z1);/进入统计函数break;c) 修改功能:用户如果觉得存储的信息有问题,可以在此进行修改fp=fope n(f:pa n. txt,w+);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.m onth&z=peoi.day)n=i;/查看是否有该天的信息存在break;if(i=N)printf(”没有该天信息!

8、n);printf(请重新选择!n);f7();fread(&peoi,sizeof(struct people),1,fp);先从文件中读出printf(”请输入新的收入来源n); scan f(%s,peo n.source);printf(”请输入新的收入金额 n”); scanf(%f,&peon.get);printf(”请输入新的支出目的 n ”); scan f(%s,peo n.motive);printf(请输入新的支出金额 n); sca nf(%f,&peo n.out); peo n .leave=peo n .get-peo n .out;输入新的信息for(i=0;

9、iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(无法打开!n);exit(0); fclose(fp);/把新的信息存储到文件当中,并关闭文件d) 删除功能:用户可以在此删除不需要的信息fp=fope n( f:pa n. txt,w+);打开文件for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.m onth&z=peoi.day)n=i;II查看是否有该天的信息存在break;if(i=N)printf(”没有该天信息!

10、n);printf(请重新选择!n);for(i=n;iN;i+)fsca nf(fp,%s,&peoi);将文件中的信息存到数组结构体里strcpy(peoi.source,peoi+1.source);peoi.year=peoi+1.year;peoi.m on th=peoi+1.m on th;peoi.day=peoi+1.day;peoi.get=peoi+1.get ;peoi.out=peoi+1.out;strcpy(peoi.motive,peoi+1.motive);peoi.leave=peoi+1.leave ; /用后面的信息覆盖前面的信息N=N-1;删除后信息减

11、少一组,所以N要减1for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(无法打开!n);exit(0);fclose(fp);/将现有信息重新存回到文件中e) 添加功能:用户可以在此添加新的账户信息fp=fope n( f:pa n. txt,rb);先打开文件fread(&peoi,sizeof(struct people),1,fp);将文件信息存到结构体数组里n=N;/添加到结构体数组的末尾printf(”请输入新的信息日期:n);scan f(%d %d %d,&peo n.year, &peo n.m

12、o nth, &peo n.day);printf(”请输入新的信息收入金额和收入来源:n);sca nf(%f %s, &peo n .get,peo n .source);prin tf(请输入新的信息支出金额和支出目的:n);scan f(%f %s, &peo n .out,peo n.motive);peo n.leave=peo n .get-peo n .out; II 输入新的信息到结构体中N=N+1;/添加了新的数据所以 N的值加1fp=fope n(f:pa n.txt,wb);for(i=0;iN;i+)fwite(&peoi,sizeof(struct people),

13、1,fp);fclose(fp);/将新的一组结构体信息写到文件里f) 查询功能:用户可以在此查询以前存有的账户信息fope n(f:pa n. txt,r);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.m onth& z=peoi.day) n=i;/在break; if(i=N)prin tf(没有该天信息!n);printf(请重新选择!n);f7();查看是否有该天的信息存将数据存到结构体数组中printf(”收入来源收入金额 支出目的支出金额余额n);prin tf(%5s ,

14、peo n .source); prin tf(%3f ,peo n .get);prin tf(%5s ,peo n.motive);prin tf(%5f ,peo n .out);prin tf(%3f ,peo n.leave);fclose(fp);/g) 统计功能:用户可以在此统计for(i=0;iN;i+)输出您要查询的该天信息关闭文件防止信息丢失段时间内的收入金额和支出金额fread(&peo n ,sizeof(struct people),1,fp);/fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi

15、.m onth&z=peoi.day) n=i;/查看是否有该天的信息存在break;if(i=N)printf(没有该天信息!n);printf(请重新选择!n);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x1=peoi.year&y1=peoi.m onth& z1=peoi.day)m=i;/查看是否有该天的信息存在break;if(i=N)printf(没有该天信息!n);printf(请重新选择!n);如果存在该段时间信息,那么统计收入金额:if(nm)for(i=n ,sum=O;i=m;i+)sum+=peo

16、i.get;prin tf(%f,sum);fclose(fp);break;elsefor(i=m,sum=0;i=n ;i+)sum+=peoi.get;prin tf(%f,sum);fclose(fp);break;如果统计支出金额,只需将 peoi.get 改为peoi.out 就行。3 、各函数的调用关系图mai n函数Jf7 ()函数JJJJf2()函数 f3()函数 f4()函数 f5()函数 f6()函数Jf7 ()函数四. 调试分析1. 开始时没有将N定义为全局变量,导致在添加函数中N+1后,其他函数中 的N却没有改变,导致最后查询的信息不完整。2. 开始时没有将主菜单单独

17、存到一个函数里面,这样就无法一次运行多个功能,最后将主菜单单独存到一个函数里以后, 就可以在运行完一个功能之后,重 新选择,这样就可以在一次调试中,运行所有的功能模块,减少了很多麻烦。3. 第一次调试运行时,文件中没有存储任何的信息,所以每次进入都必须先 要输入一定量的数据,然后才能进行下面的操作,后来加以改善,先在文件中存 储几天的账户信息,这样在运行时就可以直接进行查询,修改,删除等操作了。4. 第一次检查时,由于对文件的操作不是很熟练,发现了添加的数据并没有 存储到文件之中,最后经过修正,加入了一个fwrite将信息写到了文件里。五. 用户手册1、本程序的运行环境为 DOS操作系统,执行

18、文件为f1.dsw;2、进入演示程序后,即显示对话形式的提示操作过程,女口:请输入用户名和密码,输入正确后便进入菜单选择请输入你的选项,输入选项后,如果选项不存在,会提示你选项不存在,请重新选择输入正确选项后,便会提示你输入日期。如果进入的是修改函数,就会继 续提示你输入新的信息;如果进入的时添加函数,会让你输入新的账户信息;如 果进入的是删除函数,再删除完后会提示你删除成功;如果进入的时查询函数, 会输出你要查询的当天账户信息;如果进入的统计函数,会提示你选择将要统计 的信息。3、如果用户不小心进错了功能,可以输入0来返回主菜单,重新选择。4、进行完上面的操作之后,会提示用户是否继续运行该程

19、序来进行其他的功能操作按或N键stop或其它键继续六. 测试数据=请输入用户名和密码:=用户名:10201306密码:1恭喜输入正确,登录成功!1:修改信息2:删除信息3:添加信息4:查询信息5:统计信息a)请选择:1请输入您要修改得日期:2010 1 10.返回主菜单1. 修改该天信息请选择1旧的信息为:2010 1 1 1000.000000 收入 1 100.000000 支出 1请输入新的信息:收入金额1100收入来源aaa支出金额200支 出目的bbb。修改成功!新的信息为 2010 1 1 1100.000000 aaa 200.0000000 bbbb)请选择:2请输入您要删除的

20、日期:2010 1 10.返回主菜单1. 删除该天信息请选择:1收入1 100.000000支出1旧的信息为:2010 1 1 1000.0000002010 1 2 2000.000000收入2 200.000000支出22010 1 3 3000.000000收入3 300.000000支出3删除成功!新的信息为:2010 1 2 2000.000000收入2 200.000000支出22010 1 3 3000.000000收入3 300.000000支出3是否继续y/npress any key to con ti nuec)请选择:30.返回主菜单1.添加一天的账户信息请选择:旧的信

21、息为:2010 1 1 1000.000000收入1 100.000000支出12010 1 2 2000.000000收入2 200.000000支出22010 1 3 3000.000000收入3 300.000000支出3请输入新的信息:2010 1 4 4000 收入4 400支出4添加成功!新的信息为:2010 1 1 1000.000000 收入 1 100.000000 支出 12010 1 2 2000.000000收入2 200.000000支出22010 1 3 3000.000000收入3 300.000000支出32010 1 4 4000.000000收入4 400.

22、000000支出4是否继续y/nn press any key to con ti nued)请选择:4请输入您要查询得日期:2010 1 10.返回主菜单1.查询该天信息请选择12010 1 1 1000.000000 收入 1 100.000000 支出 1是否继续y/nn press any key to con ti nuee)请选择:5请输入你要统计的两个日期:2010 1 1 2010 1 30.返回主菜单1.统计该段时间的收入金额2. 统计该段时间的支出金额3. 统计该段时间的余额请选择 1. 6000.0000002. 600.0000003. 5400.000000是否继续y

23、/nn press any key to con ti nue七. 附录1源程序函数清单主函数:f1()修改函数f2()删除函数f3()添加函数f4()查询函数f5()统计函数f6()主菜单函数:f7()2、源程序代码f1.cpp:#in cludestdio.h#in cludestdlib.h#in cludestri ng.h#i ncludef2.h#i ncludef3.h#i ncludef4.h#i ncludef5.h#i ncludef6.h#i ncludef7.hstruct people peoSIZE;int N=3;void mai n()int i,a,b;cha

24、r d110= 收入 1,d210= 收入 2,d310= 收入 3,e110= 支出 1,e210= 支出 2,e310= 支出 3;FILE *fp;/*输入三天的账户信息*/peo0.year=2010;peo0.mo nth=1;peo0.day=1;strcpy(peo0.source,d1);peo0.get=1000;strcpy(peo0.motive,e1);peo0.out=100;peo0.leave=peo0.get-peo0.out;peo1.year=2010;peo1.mo nth=1;peo1.day=2;strcpy(peo1.source,d2);peo1.

25、get=2000;strcpy(peo1.motive,e2);peo1.out=200;peo1 .l eave=peo1.get-peo1.out;peo2.year=2010;peo2.mo nth=1;peo2.day=3;strcpy(peo2.source,d3);peo2.get=3000;strcpy(peo2.motive,e3);peo2.out=300;peo2.leave=peo2.get-peo2.out;/*把数据写入文件*/fp=fope n(f:pa n.txt,w);for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct peo

26、ple),1,fp)!=1)printf(无法打开!n);exit(0);fclose(fp);/*菜单选择功能*/prin tf(”=个人账户管理软件=n ”);prin tf(=设计人:潘君宇=n ”);prin tf(n);prin tf(n);printf(请登录:n);for(;)prin tf(=请输入用户名和密码:=n);printf(用户名:);sca nf(%d,&a);prin tf(n);printf(密码:);scan f(%d,&b);prin tf(n);if(a=10201306&b=1)printf(=恭喜输入正确,登录成功!=n);printf(=该软件中已存

27、有2010年1月1号到3号的信息!=n);f7();elseprintf(”输入错误,请重新输入!n);f2.cpp:#i ncludestdio.h#i ncludestdlib.h#i ncludestri ng.h#i ncludef2.h#i ncludef3.h#i ncludef4.h#i ncludef5.h#i ncludef6.h#i nclude亿hextern struct people peoSIZE;extern N;void f2(i nt x,i nt y,i nt z)int b,i, n, flag=1;char c;FILE *fp;/*检查信息*/if(f

28、p=fope n(f:pa n. txt,r)=NULL)printf(无法找到该文件!n);exit(0);/*检查是否有该信息*/for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.m onth&z=peoi.day)n=i;break;if(i=N)prin tf(没有该天信息!n);printf( 请重新选择!n);f7();/*进入修改程序*/for(;)prin tf(”=请选择:=n);printf(0. 返回主菜单n);printf(”1.修改该天信息n);prin tf(”=

29、n); scan f(%d,&b);switch(b)default:pri ntf(无此选项,请重新输入:n);break;case 0:f7();case 1:/修改收入来源fp=fope n(f:pa n.txt,w+);fread(&peoi,sizeof(struct people),1,fp);prin tf(旧的信息为:n);printf(收入来源收入金额 支出目的 支出金额额n);prin tf(%5s ,peo n .source);prin tf(%3f ,peo n .get);prin tf(%5s ,peo n.motive);prin tf(%5f ,peo n .

30、out);prin tf(%3f n,peo n.leave);fscan f(fp,%s,&peo n);printf( 请输入新的收入来源n);sca nf(%s,peo n .source);prin tf(n);/修改收入金额printf( 请输入新的收入金额n);scan f(%f,&peo n.get);prin tf(n);/修改支出目的printf( 请输入新的支出目的n);sca nf(%s,peo n .motive);prin tf(n);/修改支出金额printf( 请输入新的支出金额n);scan f(%f,&peo n.out);prin tf(n);peo n .

31、leave=peo n .get-peo n .out;prin tf(新的的信息为:n);printf(收入来源收入金额 支出目的 支出金额额n);prin tf(%5s”,peo n .source);prin tf(%3f,peo n .get);prin tf(%5s,peo n.motive);prin tf(%5f,peo n .out);prin tf(%3f n,peo n.leave);for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1) printf(无法打开!n);exit(0);fclose(fp);

32、break;prin tf(是否继续? y/nn);sca nf(%s,&c);if(c= n|c=N)exit(0);F3.cpp:#i ncludestdio.h#i ncludestdlib.h#i ncludestri ng.h#i ncludef2.h#i ncludef3.h#i ncludef4.h#i ncludef5.h#i ncludef6.h#i ncludef7.hextern struct people peoSIZE;void f3(i nt x,i nt y,i nt z)int b,i, n, flag=1;extern N;char c;FILE *fp;if

33、(fp=fope n( f:pa n.txt,r)=NULL)printf(”无法找到该文件!n);exit(O);/*检查是否有该信息*/for(i=0;iN;i+)if(x=peoi.year&y=peoi.m onth&z=peoi.day)n=i;break;if(i=N)prin tf(没有该天信息!n);printf(请重新选择!n);f7();/* 进入删除程序*/for(;)prin tf(”=请选择:=n ”);prin tf(=0.返回主菜单=n);prin tf(=1.删除该天信息=n);prin tf(=n); scan f(%d,&b);switch(b)defaul

34、t:pri ntf(无此选项,请重新输入:n);break;case 0:f7();case 1:fp=fope n(f:pa n.txt,w+);prin tf(旧的信息为:n);for(i=0;iN;i+)printf( 日期 收入来源收入金额支出目的 支出金额 余额n ”);prin tf(%d %d %d ,peoi.year,peoi.mo nth,peoi.day);prin tf(%5s”,peoi.source);prin tf(%3f”,peoi.get);prin tf(%5s ,peoi.motive);prin tf(%5f ,peoi.out);prin tf(%3f

35、 n ”,peoi.leave);for(i=n; iN;i+)fscan f(fp,%s,&peoi); strcpy(peoi.source,peoi+1.source);peoi.year=peoi+1.year;peoi.m on th=peoi+1.m on th; peoi.day=peoi+1.day;peoi.get=peoi+1.get;peoi.out=peoi+1.out; strcpy(peoi.motive,peoi+1.motive);peoi.leave=peoi+1 .l eave;printf( 删除成功!n);N=N-1; for(i=0;iN;i+)余额n

36、printf(日期收入来源收入金额支出目的支出金额prin tf(%2d %2d %2d ,peoi.year,peoi.mo nth,peoi.day);prin tf(%5s ,peoi.source);prin tf(%3f”,peoi.get);prin tf(%5s ,peoi.motive);prin tf(%5f ,peoi.out);prin tf(%3f n,peoi.leave);for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(无法打开!n);exit(0); fclose(fp);br

37、eak;prin tf(”是否继续? y/nn);sea nf(%s,&c);if(c= n|c=N) exit(O);f4.cpp:#i ncludestdio.h#i ncludestdlib.h#i ncludestri ng.h#i ncludef2.h#i ncludef3.h#i ncludef4.h#i ncludef5.h#i ncludef6.h#i ncludef7.hextern struct people peoSIZE;extern N;void f4()int i,b, n;char c;FILE *fp;if(fp=fope n(f:pa n.txt,a)=NUL

38、L)printf(无法找到该文件!n);exit(0);for(;)prin tf(=n);prin tf(=0.返回主菜单=n);prin tf(=1.添加信息=n);prin tf(=n);scan f(%d,&b);switch(b)default:pri ntf(无此选项,请重新输入:n); break;case 0:f7();case 1:/* 进入添加程序*/fp=fope n(f:pa n.txt,rb);prin tf( 旧的信息为:n ”);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);printf( 日期 收入来

39、源 收入金额 支出目的 支出金额 余额n);prin tf(%2d %2d %2d ”,peoi.year,peoi.mo nth,peoi.day);prin tf(%5s,peoi.source);prin tf(%3f,peoi.get);prin tf(%5s,peoi.motive);prin tf(%5f,peoi.out);prin tf(%3fn=N;n “,peoi.leave);printf(请输入新的信息日期:n);scan f(%d %d %d,&peo n .year,&peo n.mo nth,&peo n.day);printf(”请输入新的信息收入金额和收入来源

40、:n);sca nf(%f %s, &peo n .get,peo n .source);prin tf(请输入新的信息支出金额和支出目的:n);sca nf(%f %s,&peo n.out,peo n.motive);peo n .leave=peo n .get-peo n .out;N=N+1;prin tf(=现在的信息:=n);for(i=0;iN;i+)printf( 日期 收入来源 收入金额 支出目的 支出金额 余额n);prin tf(%2d %2d %2d ,peoi.year,peoi.mo nth,peoi.day);prin tf(%5s ,peoi.source);

41、prin tf(%3f ,peoi.get);prin tf(%5s ,peoi.motive);prin tf(%5f ,peoi.out);prin tf(%3f n ”,peoi.leave);fp=fope n(f:pa n. txt,wb);for(i=0;iN;i+)fwrite(&peoi,sizeof(struct people),1,fp);fclose(fp);break;printf(是否继续?y/nn);scan f(%s, &c);if(c= n|c=N)exit(0);f5.cpp:#i ncludestdlib.h#i ncludestri ng.h#i nclu

42、def2.h#i ncludef3.h#i ncludef4.h#i ncludef5.h#i ncludef6.h#i ncludef7.hextern struct people peoSIZE;extern N;void f5(i nt x,i nt y,i nt z)int b,i, n;char c;FILE *fp;if(fp=fope n( f:pa n.txt,r)=NULL)printf(无法找到该文件!n);exit(0);/*检查是否有该信息*/for(i=0;iN;i+)if(x=peoi.year&y=peoi.m onth&z=peoi.day) n=i; brea

43、k;if(i=N)prin tf(没有该天信息!n);printf(请重新选择!n);f7();/*进入查询程序*/for(;)printf(”请选择n);printf(”0.返回主菜单、n);printf(”1.查询该天信息、n);n);printf(”scan f(%d,&b); switch(b)fread(&peo n ,sizeof(struct people),1,fp);default:pri ntf(无此选项,请重新输入:n);break;case 0:f7();case 1:prin tf(%5sprin tf(%3fprin tf(%5sprintf(”收入来源 收入金额

44、支出目的 支出金额 余额n);”,peo n .source);”,peo n .get);,peo n .motive);prin tf(%5f ,peo n .out); prin tf(%3f ,peo n.leave); break;printf(”是否继续? y/nn);scan f(%s,&c);if(c= n|c=N)exit(O); fclose(fp);F6.cpp:#i ncludestdio.h#i ncludestdlib.h#i ncludestri ng.h#i ncludef2.h#i ncludef3.h#i ncludef4.h#i ncludef5.h#i ncludef6.h#i ncludef7.hextern struct people peoSIZE;extern N;void f6(i nt x,i nt y,i nt z,i nt x1,i nt y1,i nt z1)int b,i, n, m,flag=1;float sum;char c;FILE *fp;if(fp=fope n( f:pa n.

温馨提示

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

评论

0/150

提交评论