个人账簿管理系统_第1页
个人账簿管理系统_第2页
个人账簿管理系统_第3页
个人账簿管理系统_第4页
个人账簿管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计说明书课程设计名称: 软件课程设计 课程设计题目: 个人账簿管理系统 学 院 名 称: 信息工程学院 专业: 电子信息科学与技术 班级: 090431 学号: 09043125 姓名: 邵林 评分: 教师: 廖远 20 12 年 6 月 29 日 软件 课程设计任务书20112012学年第二学期 分散1周 第18周 20 周集中题目个人帐簿管理系统设计功能:个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。进度安

2、排1. 分散1周:布置任务、查阅资料、选择方案 注意:学生的设计方案需经指导老师检查通过后方可进实验室进行制作。2. 第18周:软件设计3. 第19周-第20周:软件编码、调试、 验收及测试并上交报告学生姓名:邵林、刘舒林指导地点 E505任务下达2012 年 6 月 4 日任务完成2012 年6 月 29 日考核方式1.评阅 2.答辩 3.实际操作 4.其它指导教师廖远系(部)主任万在红注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、 课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档摘 要针对一些人对需要对自己的收入支出有一个详细的记录和了解,

3、个人账簿管理系统孕育而生。本系统主要是用C语言编写,运用结构体数组,子函数,同时通过函数指针数组实现函数的调用,本系统的功能包括按输入、输出、修改、查询、删除及按收入排序及按月份大小排序,通过文件操作保存数据和加载数据等。本系统设计人性化,适合于大部分家庭用户对个人收支的管理,是生活更加便捷。关键词: C语言,数据结构,个人账簿管理目 录前 言1第一章 系统功能分析21.1个人账簿管理21.2解决个人账簿管理21.2.1 概要分析21.2.2 流程图3第二章 系统总体设计42.1系统总体设计思路42.2各个功能模块简介42.2. 1结构体数组42.2. 2各种收支信息输入函数的创建42.2.

4、3收支排序函数的创建52.2. 4增删改函数的创建52.2. 5数据信息保存文件和加载文件数据函数的创建7数据信息打印函数的创建7第三章 文件函数、打印函数和主函数详细设计93.1程序代码实现9程序主界面93.2文件函数的实现103.2打印数据11第四章 测试数据与结果124.1主函数界面测试124.2输入函数测试124.3查找指定月份数据测试124.4查看所有月份数据测试134.5添加数据信息测试134.6修改原有信息测试134.7删除指定的信息测试134.8按月份大小排序测试134.9按总收入排序测试144.10将数据信息保存到文件测试144.11加载文件中的数据信息测试14结 论15结

5、束 语16参考文献17程序分工18附录19 前 言你是否还在回忆你上个月的收入是多少,支出是多少,都用到哪里去了?很多吧?是的,我们生活中有太多的收入支出,如子女消费、水电费、房租、收入等等。我们需要用东西把他们都一一记录下来。个人账簿管理系统则可以满足我们对这些方面的要求。本系统使用GCC(GNU Compiler Collection,GNU编译器套装)开发工具来开发该应用程序。采C语言为开发语言,通过一个结构体数组记录各种收入支出信息,运用一些数据结构和算法达到个人账簿管理的各种功能。本设计报告详细讨论了该系统的开发、设计环境、实现算法及其具体的实现。个人账簿管理系统是结合了文件、结构体

6、、函数等操作,运用了数据结构中最基本的一些算法,使程序简单明了,本程序也采用了函数指针数组来实现函数的调用,从而达到了不浪费内存的目的,同时也加快了程序的运行速度。同时本系统界面人性化,易操作,能够满足大部分家庭的要求。第一章 系统功能分析本程序可以实现个人账簿的按月份插入、输出、修改、查询、删除、按收入排序、按月份大小排序、将数据保存到文件和加载文件数据等功能,其中每一个功能,都分别使用了一个函数,其中程序的主界面简洁明了。可以按主界面的提示完成每一块功能。1.1个人账簿管理在程序中定义了一个结构体主要包括(月份,全部的收入,食品开支,房租,水电费,医疗费,储蓄,子女教育费和总体的支出费用)

7、其次定义了10个函数,分别是输入信息,查看指定月份信息,查看全部月份信息,插入信息,修改信息,删除指定月份信息,按月份大小排序,按总收入排序,保存数据到文件和加载文件数据。其中每一个程序都能实现相应部分的功能,并且使用了结构体数组的操作,通过对结构体数组的操作和文件的操作完成各自对应的功能。1.2解决个人账簿管理1.2.1 概要分析个人账簿管理通过以下函数实现:Input(PEL *a); /输入个人收支信息函数Myprintf(PEL *a); /打印指定月份收支信息函数Allprintf(PEL *a); /打印所以月份收支信息函数Add(PEL *a); /添加指定月份收支信息函数Mod

8、ify(PEL *a); /修改指定月份收支信息函数Delrecord(PEL *a); /删除指定月份收支信息函数Yuepaixu(PEL *a); /按月份大小排序函数Zongpaixu(PEL *a); /按总收入排序函数Save(PEL *a); /将所以收支信息保存到文件函数Load(PEL *a); /加载文件的信息到结构体数组函数 这十个函数分别完成每一部分功能 ,其中都是与主函数调用相对应的函数,完成相应的功能。1.2.2 流程图第二章 系统总体设计2.1系统总体设计思路个人账簿管理系统可以通过创建一个结构体数组,通过输入信息函数,查看指定月份信息函数,查看全部月份信函数息,插

9、入信息函数,修改信息函数,删除指定月份信息函数,按月份大小排序函数,按总收入排序函数,保存数据到文件函数和加载文件数据函数对结构体数组操作来完成系统的主要功能,其中每一个功能都为对应的一个函数,增加程序的可读性,以实现程序的整体功能。2.2各个功能模块简介2.2. 1结构体数组首先创建一个结构体数组,以便将各种收支信息存入到结构体数组。typedef struct personalint month; /月份float foodxiaofei; /食品消费float fangzu; /房租float zinvxiaofei; /子女教育消费float shuidianfei; /水电费floa

10、t yiliaofei; /医疗费float moneyin; /储蓄float yueshouru; /月收入PEL;PEL aN;2.2. 2各种收支信息输入函数的创建 输入函数的主要功能是将个人收支信息写入到结构体数组。函数通过修改结构体数组指针来完成数据的写入。函数首先选择需要写入几个月的收支信息,通过for循环按照提示一次将数据写入,for循环的结束条件是月份个数。主要代码如下:for(i=0;i<n;i+)scanf("%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&a

11、mp;ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.moneyin,&ai.yueshouru);/n为需要写入的月份个数2.2. 3收支排序函数的创建 收支排序函数的主要功能是将收支信息按照一定的顺序排列。为使设计更加人性化,排序可以分为按月份大小排序和按总收入排序。对结构体数组成员的排序可以使用冒泡排序快速实现。冒泡排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 按月份大小排序可以比较每个结构体数组成员ai.month的大小,通过for循环将整个结

12、构体数组进行交换。按总收入排序则是比较ai.yueshouru的大小.通过判断可以取得有效月份的个数k,在通过循环的两次嵌套,外层循环控制下一次比较的次数,内循环循环次数受外循环控制次数影响。冒泡排序详细设计如下:for(i=0;i<k;i+)for(j=0;j<k-i;j+)if(aj.month>=aj+1.month)tmp=aj;aj=aj+1;aj+1=tmp;2.2. 4增删改函数的创建增删改函数的功能是实现对指定收支信息修改,通过增删改函数我们可以更加灵活的处理个人收支信息。增删改函数函数可以通过修改结构体数组指针来实现。添加指定月份收支信息,我们可以在原有收支

13、信息后面添加,即在已经创建的结构体数组里面添加数据。先通过判断语句找到函数有效的月份个数k,再在结构体数组ak+1处依次添加所需要的信息。主要设计如下:for(i=0;i<N;i+)if(ai.month!=0)k+;for(i=k;i<n+k;i+)scanf("%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.moneyin,&ai.yu

14、eshouru);/n为所需要添加月份的个数 删除收支数据信息函数的创建可以对结构体数组元素进行移位来实现。通过判断语句找到指定月份的位置k,将指定月份后的数据全部往前移动一位,即ak=ak+i。依次移动直到结束。注意移动时不能超出数组的下标。主要设计代码如下:for(i=0;i<N;i+)if(ai.month=mon)k=i;for(i=k;i<N-1;i+)ai=ai+1;修改收支信息函数的创建比较简单。只需要通过一个判断语句找到指定月份的位置。重新输入数据替换原有数据即可。主要设计代码如下:for(i=0;i<N;i+)if(ai.month=mon)scanf(&q

15、uot;%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.moneyin,&ai.yueshouru);2.2. 5数据信息保存文件和加载文件数据函数的创建通过文件的操作能实现将个人收支信息保存到文件备份,以防系统出现问题后无法找到这些信息。同时也可以快速的加载文件的数据实现系统设置的各种操作。收支数据信息写入函数的创建,先创建一个文件类型指针。以“wb”方式创建

16、一个名为“mybill.txt”的文件。通过fprintf函数将结构体数组中的数据信息依次写入数据流中指定的文件中。主要设计代码如下:for(i=0;i<N;i+) /N初始化为12个月fprintf(fp,"%dt%.3ft%.3ft%.3ft%.3ft%.3ft%.3ft%.3f",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yueshouru);fprintf(fp,"rn"); 收支信息读取函数是写函数的

17、逆过程。以“rb”的方式打开名为“mybill.txt”的文件。通过fscanf函数依次将数据从数据流指向的文件中读取到结构体数组中去。主要设计代码如下:for(i=0;i<N;i+)fscanf(fp,"%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.moneyin,&ai.yueshouru);2.2.6数据信息打印函数的创建收支数据信息打印

18、函数的主要功能是将结构体中的数据按要求显示给用户。为了使设计更加人性化,显示信息分为显示指定月份的收支数据信息和全部月份的收支数据信息。 显示指定月份的收支数据信息函数可以通过一条判断语句找到指定月份所处的位置,将此处结构体数组的信息打印出来即可。主要设计代码如下: for(i=0;i<N;i+)/mon为需要打印的月份if(ai.month=mon)printf("%4dt%8.2f%8.2f%8.2f%9.2f%10.2f%9.2f%8.2fn",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidia

19、nfei,ai.yiliaofei,ai.moneyin,ai.yueshouru); 显示全部月份的收支数据信息函数只需通过for循环将数组遍历一边即可。主要设计代码如下:for(i=0;i<N;i+)/初始化函数为0,以0为标志显示有效月份的收支信息if(ai.month!=0)printf("%4dt%8.2f%8.2f%8.2f%9.2f%10.2f%9.2f%8.2fn",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yue

20、shouru);第三章 文件函数、打印函数和主函数详细设计3.1程序代码实现程序主界面各个子函数的调用可以使用函数指针数组来实现,通过指定的下标可以调用指定函数。函数指针数组的每个元素是每个子函数名。主函数的界面可以通过printf函数来显示。主要设计代码如下:printf("tttt个人帐簿管理系统n");printf("tt-n");printf("tt0:-退出系统-n");printf("tt1:-输入数据-n");printf("tt2:-查找指定月份数据-n");printf(&qu

21、ot;tt3:-查看全部数据-n");printf("tt4:-添加数据-n");printf("tt5:-修改数据-n");printf("tt6:-删除数据-n");printf("tt7:-按月份大小排序-n");printf("tt8:-按总收入排序-n");printf("tt9:-保存文件-n");printf("tt10-加载文件-n");printf("tt-n"); 按主函数的提示我们进行选择需要的操作。选择

22、我们可以定义一个int类型chose,chose是多少我们就选择了那个操作。 定义一个函数指针数组,将我们的每个函数的首地址(即函数名)存放到数组中,chose对应数组的下标,这样我们即可实现函数的调用。主要设计代码如下:void(*fun11)(PEL*a)=out,input,myprintf,allprintf,add,modify,delrecord,yuepaixu,zongpaixu,save,load;funchose(a);3.2文件函数的实现文件函数包括数据保存到文件函数和加载文件中的数据函数。保存到文件函数可以通过for循环按照一定的格式将结构体数组中的数据保存到文件。而加

23、载文件数据函数则相反,通过for循环将数据加载到结构体数组。收支数据信息保存到文件函数可以将结构体数组中的数据保存到文件。此子函数的形参为结构体类型数组,通过指针我们可以将收支数据信息依次写入到文件。文件操作必须先创建一个文件指针,我们可定义它为FILE *p,运用fopen函数以“wb”的格式创建我们需要的文件“mybill.txt”,通过fprintf函数将结构体数组中的数据依次写入到数据流指向的fp中。控制fprintf中的格式可以使数据在文件中有序的显示出来。主要设计代码如下:for(i=0;i<N;i+)fprintf(fp,"%dt%.3ft%.3ft%.3ft%.

24、3ft%.3ft%.3ft%.3f",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yueshouru);fprintf(fp,"rn");fclose(fp); 读取收支信息函数实际上是写函数的逆过程。同样定义一个FILE *fp,以“rb”的方式打开我们已经创建的文件“mybill.txt” ,运用fscanf读取数据流指向的文件fp中的数据。这样我们就可以将文件中的数据写入到结构体数组中。主要设计代码如下:for(i=0;i

25、<N;i+)fscanf(fp,"%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.moneyin,&ai.yueshouru);3.2打印数据打印函数数据可以分为打印指定月份的数据和打印所以月份的数据。打印指定月份数据函数可以通过对结构体数组的遍历,查看是否有与之对应的月份数据,如果找到这打印数据,没找到显示提示信息。主要设计代码如下:for(i

26、=0;i<N;i+)/mon为需要打印的月份if(ai.month=mon)printf("%4dt%8.2f%8.2f%8.2f%9.2f%10.2f %9.2f%8.2fn",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yueshouru);打印全部月份数据可以通过for循环遍历结构体数组知道遇到0(初始化结构体数组为0)结束,这样可以加快运行速率。具体设计代码如下:for(i=0;i<N;i+)if(ai.month!=

27、0)printf("%4dt%8.2f%8.2f%8.2f%9.2f%10.2f %9.2f%8.2fn",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yueshouru);第四章 测试数据与结果4.1主函数界面测试函数操作分为十个部分,按照提示可实现对应的功能。4.2输入函数测试依照提示数几个月的消费信息。4.3查找指定月份数据测试按操作提示可以查找指定月份的数据。4.4查看所有月份数据测试按提示可以查看所有月份的收支信息:4.5添加数

28、据信息测试按提示可以添加指定月份的收支信息。4.6修改原有信息测试按提示可以修改指定月份的收支信息。4.7删除指定的信息测试按提示操作可以删除指定月份的收支信息。4.8按月份大小排序测试按操作提示可以对所以月份收支信息按月份从小到大排序。4.9按总收入排序测试按操作提示可以对所以月份收支信息按月份从小到大排序。4.10将数据信息保存到文件测试按操作提示可以对所以月份收支信息保存到文件。4.11加载文件中的数据信息测试按操作提示可以对所以月份收支信息加载到结构体数组。结 论 个人账簿管理系统主要实现了对个人收支信息的增删改和保存,使我们的生活更加便捷。同时通过这次软件课程设计使我了解到了 :1.

29、 写一个程序首先要有算法,而算法有很多种,使用最优的算法,能节约很多时间和加快系统的速度。2. 在这个程序中,主要还是利用了C语言中数组和文件的操作,其中最主要的就是结构体数组的读写,还有查找、修改及删除数组中的数据。删除数据记得一定不能越界。文件操作还是比较复杂的,首先要创建一个文件指针,通过函数按一定的格式将数据信息读取或者写入。3. 在结构体的操作用,不能直接给结构体变量赋值。4. 这个程序的界面编的虽然不怎么好看,但基本账簿管理的功能都达到了。但是还有许多地方需要改进。结 束 语在这次课程设计中,我学习到了,不管做什么事情还是团队协作,才可以使一件事情办得最后,一个人的力量永远是有限的

30、,不管一个人的能力有多大,总会有一些地方的不足,尤其是我们编程这一行,最主要的还是要团队合作。其次就是写程序时要用到注释,因为一个程序是由几个人写出来的,假如不写注释的话,就相互都看不懂,也不能实现程序的结合,所以说写程序时注释很重要。最后,我觉得不管做什么事情必须认认真真的做,要沉得下心来,尤其是写程序,假如沉不下心来做的话,也决对写不出一个好的程序或者实用的程序来。参考文献1 谭浩强著C语言程序设计(第三版)M清华大学出版社.2008.2 Kenneth A. Reek .C与指针(第二版)M. 北京:人民邮电出版社,2008.3 郑阿奇Visual C+实用教程(第三版)M电子工业出版社

31、.2007.程序分工姓名任务分配邵林打印函数,文件函数,主函数刘舒林数据输入函数,增删改函数附录 程序代码:/*个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。*/*要求:根据以上任务说明,设计数据结构,并设计程序完成功能。*/#include<stdio.h>#include<string.h>#include<math.h>#include<malloc.h>#incl

32、ude<stdlib.h>#define N 12typedef struct personalint month; /月份float foodxiaofei; /食品消费float fangzu; /房租float zinvxiaofei; /子女教育消费float shuidianfei; /水电费float yiliaofei; /医疗费float moneyin; /储蓄float yueshouru; /月收入PEL;void input(PEL *a) /输入月消费int n,i;printf("确定要输入几个月的账单:");scanf("

33、%d",&n);if(n>0&&n<13)printf("n请依次输入数据说明:中间以空格符隔开:n");printf("本月月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 收入费用n");for(i=0;i<n;i+)scanf("%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yil

34、iaofei,&ai.moneyin,&ai.yueshouru);printf("信息录入成功!n");else printf("输入有误!n");exit(0);void yuepaixu(PEL *a)/月排序int i,j,k=0;PEL tmp;for(i=0;i<N;i+)if(ai.month!=0)k+;for(i=0;i<k;i+)for(j=0;j<k+)if(aj.month>=aj+1.month)tmp=aj;aj=aj+1;aj+1=tmp;printf("按月份排序成功!n&

35、quot;);void zongpaixu(PEL *a)/总收入排序PEL tmp;int i,j,k=0,t;for(i=0;i<N;i+)if(ai.month!=0)k+;printf("n");for(i=0;i<k;i+)for(j=0;j<k;j+)if(aj.yueshouru>=aj+1.yueshouru)tmp=aj;aj=aj+1;aj+1=tmp;printf("按每月总收入排序成功!n");void modify(PEL *a)/修改指定月份的数据int mon;printf("请输入要修改的

36、月份:");scanf("%d",&mon);int i=0;printf("本月月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 收入费用n");for(i=0;i<N;i+)if(ai.month=mon)scanf("%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.money

37、in,&ai.yueshouru);printf("修改指定月份数据成功!n");void delrecord(PEL *a)/删除指定月份数据函数int mon;printf("请输入要修改的月份:");scanf("%d",&mon);int i,k;for(i=0;i<N;i+)if(ai.month=mon)k=i;for(i=k;i<N-1;i+)ai=ai+1;printf("删除指定月份数据成功!n");void add(PEL *a)/添加数据int n,i,k=0;pr

38、intf("确定要输入增加几个个月的账单:");scanf("%d",&n);printf("n请依次输入数据说明:中间以空格符隔开:n");for(i=0;i<N;i+)if(ai.month!=0)k+;for(i=k;i<n+k;i+)printf("本月月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 收入费用)n");scanf("%d%f%f%f%f%f%f%f",&ai.month,&ai.foodxiaofei,&ai.

39、fangzu,&ai.zinvxiaofei,&ai.shuidianfei,&ai.yiliaofei,&ai.moneyin,&ai.yueshouru);printf("信息添加成功!");void myprintf(PEL *a)/打印指定月份数据函数int mon;printf("请输入要查看的月份n");scanf("%d",&mon);int i=0; printf("n*n");printf("n 本月月份 食品消费 房租费用 子女费用 水电

40、费用 医疗费用 储蓄费用 收费用入n");for(i=0;i<N;i+)if(ai.month=mon)printf("%4dt%8.2f%8.2f%8.2f%9.2f%10.2f %9.2f%8.2fn",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yueshouru);printf("*end*n");void allprintf(PEL *a)/打印所有月份数据int i=0; printf(&q

41、uot;n*all*n");printf("n 本月月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 收费用入n");for(i=0;i<N;i+)if(ai.month!=0)printf("%4dt%8.2f%8.2f%8.2f%9.2f%10.2f %9.2f%8.2fn",ai.month,ai.foodxiaofei,ai.fangzu,ai.zinvxiaofei,ai.shuidianfei,ai.yiliaofei,ai.moneyin,ai.yueshouru);printf("*end*n");void save(PEL *a)/写入文件int i;FILE *fp; if(fp=fopen("mybill.txt","wb")=NULL) printf("文件不能打开!n");ex

温馨提示

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

评论

0/150

提交评论