c语言饭卡管理系统课程设计报告(总36页_第1页
c语言饭卡管理系统课程设计报告(总36页_第2页
c语言饭卡管理系统课程设计报告(总36页_第3页
c语言饭卡管理系统课程设计报告(总36页_第4页
c语言饭卡管理系统课程设计报告(总36页_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告课程名称: C语言程序设计课设 项目名称: 饭卡管理系统 学 院: 专 业: 姓 名: 学 号: 指导教师: 成 绩: 目 录第1部分 课程设计题目与要求21问题描述22功能要求23任务分工2第2部分 饭卡管理系统的设计与功能实现31总体设计32数据结构33.算法设计44程序代码设计125测试与调试22第3部分 课程设计总结24个人总结24个人总结26结束语27附录 程序清单28附录 用户使用说明书39参考文献39第1部分 课程设计题目与要求1 问题描述请输入选项编号(07):1 建立饭卡文件2 买饭3 续钱4 添加新饭卡5 注销旧饭卡6 设置与解除挂失7 创新功能0退出系统 学校

2、等大单位集体食堂买饭时间非常集中,这时如果食堂使用饭票卖饭,大家就得排长队等候,而且还要经过先去买饭票等麻烦的经历。因此食堂提出使用计算机进行管理,食堂用饭卡卖饭,不仅提高卖饭速度,还易于管理,减少不必要的麻烦,同时减轻管理人员的工作负担。2 功能要求重复显示如图所示的主菜单,在主菜单中选择任意一项,均实现相应功能。在主菜单中选择1,建立名为card.dat的文件,并在其中添加若干人的饭卡号、姓名、金额、挂失信息,要求饭卡号是唯一的。 在主菜单中选择2,要求用户输入饭卡号、饭费,然后系统自动从该人的饭卡中减去饭钱,并分别显示买饭前后的金额,如果原来饭卡中的金额不足5元,则不能买饭,而且显示“金

3、额不足够,请续钱!”,如果挂失信息为真,则显示“本卡已冻结!”。 在主菜单中选择4,添加新饭卡,这时要求新饭卡号和已有的饭卡号不能重号。 在主菜单中选择5,注销旧饭卡。 在主菜单中选择6,要求用户输入饭卡号和挂失信息,然后更新该饭卡的挂失信息。 在主菜单中选择7, 在主菜单中选择0,显示“感谢使用本软件!已正常退出,按任意键结束。”按任意键退出本系统。第2部分 饭卡管理系统的设计与功能实现1总体设计 图1初始的主模块图2细分后的主模块图2数据结构例如:struct card char name10,num10; float yu,sum; int guashi; ; num10表示学号放在一维

4、数组中,name10表示姓名放在一维数组中,yu表示余额,sum表示消费金额的累积,guashi表示挂失的情况。3. 算法设计图3主函数流程图图4 建立饭卡模块流程图图5 买饭模块流程图图6 续钱模块流程图图7 添加新饭卡模块流程图图8 注销旧饭卡模块流程图图9 设置与解除挂失模块流程图图10 创新功能模块流程图4程序代码设计采用模块化的思想,按照“自顶向下,逐步细化”的原则设计算法。(1) 菜单的设计1, 本例需要输出主菜单选择界面,简单菜单的制作可利用printf函数实现。用printf函数将菜单项逐一打印到屏幕上,界面中的边框可以通过多个printf函数输出的“|”和“-”拼接起来。2,

5、 菜单应根据用户的选择做出不同的反应,因此需要使用分支结构实现选择选项的功能。根据题意,主菜单含有8个菜单选项,属于多分支条件判断,使用带break和switch语句最为合适。3, 因为本例具有重复选择主菜单选项的功能,因此需要使用循环结构。在本例中菜单至少要显示一次,随后才判断是否继续选择主菜单,所以使用do-while循坏比较好,因为do-while循坏是先执行循环体,然后再判断表达式。4,作为菜单,应该给用户一个正常的出口,即满足一定条件时退出程序。为了给用户提供方便,我们采用人机对话形式,当用户选择某一菜单项后,系统立即完成相应的功能,然后询问用户是否需要继续选择,只要用户继续选择(输

6、入y或Y),主菜单就会在屏幕上反复出现,只有当用户不再选择(输入N或n),才可退出主菜单。除此之外,为了使用方便,在主菜单中还特设0选项,选择它也能正常退出程序。为了实现上述功能,有关语句都应放在do-while循环体中。选择选项的程序段可设计成如下形式:choose=getchar(); switch(choose) case 1:mycreat();break; case 2:mybuy();break; case 3:myaddyu();break; case 4:myaddcard();break; case 5:myzhuxiao();break; case 6:mysetguash

7、i();break; case 7:mynew();break; case 0:printf(n 非常感谢使用本软件!n 已正常退出,按任意键结束.);exit(0);break; default :printf(n 该选项非法!);break; ( 2 ) 设计各模块的算法,这是逐步细化的过程。1,建立饭卡模块,函数名 mycreat。在该模块中输入学生的卡号,姓名,充值钱数,并将它们存放在文件中;每输入一组数据,记录数增1。建立饭卡的程序设计如下:void mycreat() int i=1;struct card temp=0;FILE *fp=NULL;char yes_no=0;te

8、mp.guashi=0; temp.sum=0;system(cls); fp=fopen(D:饭卡管理系统filescard.dat,a); if(fp=NULL) printf(nn 饭卡文件丢失!按任意键继续.);getchar();exit(0); else fclose(fp); do printf(n 请输入第%d个记录:nn,i); printf( 卡号:);scanf(%s,&temp.num); if(myexist(temp.num)!=1) fp=fopen(D:饭卡管理系统filescard.dat,a); printf( 姓名:); scanf(%s,&temp.na

9、me);printf( 充值钱数:); scanf(%f,&temp.yu);fprintf(fp,%10s%10s%20.2f%4d%20.2fn,temp.num,,temp.yu,temp.guashi,temp.sum); fclose(fp); i+; else printf( 卡号重复!n);printf(n 请问您要继续吗?);do yes_no=getchar(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y); 在文件夹中寻找已输入的卡号用函数 myexist

10、 系统自动用循环将文件中读入的学号一一做比较。用fp=fopen(D:饭卡管理系统);追加打开文件,输入学生的姓名,充值钱数,并将它们存放在文件中;每输入一组数据,记录数增1。用do-while语句实现人机对话的功能,机器问用户是否继续,如果继续就接着建立新饭卡,否则返回主菜单。2,买饭设计模块,函数名mybuy.void mybuy() system(cls); fp=fopen(D:饭卡管理系统filescard.dat,r); while(feof(fp)=0) fscanf(fp,%s%s%f%d%f,tempi.num,,&tempi.yu,&tempi.guas

11、hi,&tempi.sum); i+; fclose(fp); printf(n 请输入卡号:);scanf(%s,num_temp); if(myexist(num_temp)=-1) printf(n 卡号不存在!); else if(myguashi(num_temp)=1) printf(n 本卡已冻结!); else if(myyu(num_temp)=0) printf(n 余额不够,请续费!); else for(j=0;ji;j+) if(strcmp(num_temp,tempj.num)=0) break; printf(n 请输入消费金额:);scanf(%f,&mone

12、y); printf(n 卡号 姓名 余额n); printf(n 消费前: %-10s %-10s %-10.2fn,tempj.num,,tempj.yu); printf(n 消费后: %-10s %-10s %-10.2fn,tempj.num,,tempj.yu-money); tempj.yu=tempj.yu-money; tempj.sum=tempj.sum+money; fp=fopen(D:饭卡管理系统filescard.dat,w); for(j=0;ji-1;j+) fprintf(fp,%10s%10s%20.2f%4d%20

13、.2fn,tempj.num,,tempj.yu,tempj.guashi,tempj.sum); fclose(fp); printf(nn 此次消费成功!按任意键返回主菜单.);getch();return; printf(nn 此次消费失败!按任意键返回主菜单.);getch(); 判断卡号存在模块:函数名myexist。系统自动用循环将文件中读入的学号一一做比较。判断卡号挂失情况模块:函数名myguashi。系统自动用if-else语句判断挂失情况。判断卡号余额情况模块:函数名myyu。系统自动用if-else语句分别判断卡号余额是否充足。3,续钱设计模块,函数名m

14、yaddyu。void myaddyu() system(cls); fp=fopen(D:饭卡管理系统filescard.dat,r); while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempi.num,,&tempi.yu,&tempi.guashi,&tempi.sum); i+; fclose(fp); printf(nn 请输入卡号:);scanf(%s,&num_temp); if(myexist(num_temp)=1&myguashi(num_temp)=0) for(j=0;ji;j+) if(strcmp(num_tem

15、p,tempj.num)=0) printf(n 请输入续费金额:);scanf(%f,&money); printf(n 卡号 姓名 余额n); printf( 续费前:%-10s %-10s %-10.2fnn,tempj.num,,tempj.yu); printf( 续费后:%-10s %-10s %-10.2fn,tempj.num,,tempj.yu+money); tempj.yu=tempj.yu+money; fp=fopen(D:饭卡管理系统filescard.dat,w); for(k=0;ki;k+) fprintf(fp,%10

16、s%10s%20.2f%4d%20.2fn,tempk.num,,tempk.yu,tempk.guashi,tempk.sum); fclose(fp); printf(nn 续费成功!按任意键返回主菜单.); else printf(nn 卡号不存在或已挂失!按任意键返回主菜单.); getchar(); 判断卡号存在情况:函数名myexist。系统自动用循环将文件中读入的学号一一做比较。判断挂失情况:函数名myguashi。系统自动用if-else语句判断挂失情况。用for循环结构找寻对应的学号,并输入续费金额,使续费成功。备注:以下函数为续钱设计模块的子函数:fp=

17、fopen(D:饭卡管理系统filescard.dat,r); while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempk.num,,&tempk.yu,&tempk.guashi,&tempk.sum); k+; fclose(fp); for(i=0;ik;i+) if(strcmp(num,tempi.num)=0) flag=1; break; return flag; 4,添加新饭卡模块,函数名myaddcard。在该模块中输入学生的卡号,姓名,充值钱数,并将它们存放在文件中;每输入一组数据,记录数增1。添加饭卡模块设计程序如下:v

18、oid myaddcard int i=0; struct card temp=0; FILE *fp=NULL; char yes_no=0; temp.guashi=0; temp.sum=0; system(cls); fp=fopen(D:饭卡管理系统filescard.dat,r); if(fp=NULL) printf(n 饭卡文件丢失!);getch();exit(0); fclose(fp); do printf(n 请输入第%d个记录:nn,i+1); printf( 卡号:);scanf(%s,&temp.num); if(myexist(temp.num)!=1) pri

19、ntf( 姓名:); scanf(%s,&); printf( 充值钱数:); scanf(%f,&temp.yu); fp=fopen(D:饭卡管理系统filescard.dat,a); fprintf(fp,%10s%10s%20.2f%4d%20.2fn,temp.num,,temp.yu,temp.guashi,temp.sum); fclose(fp); i+; else printf(n 卡号重复!n); printf(nn 要继续吗?); doyes_no=getch(); while(yes_no!=Y&yes_no!=y&yes_no!=N

20、&yes_no!=n); while(yes_no=Y|yes_no=y); 在文件夹中寻找已输入的卡号用函数 myexist 系统自动用循环将文件中读入的学号一一做比较。没有找到,符合条件并输入学生的姓名,充值钱数,并将它们存放在文件中;每输入一组数据,记录数增1。5,注销旧饭卡模块,函数名myzhuxiao。system(cls); fp=fopen(D:饭卡管理系统filescard.dat,r); if(fp=NULL) printf(n 饭卡文件丢失!);exit(0); while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempi.num,tempi.

21、name,&tempi.yu,&tempi.guashi,&tempi.sum); i+; fclose(fp); printf(nn 请输入卡号:);scanf(%s,num_temp); if(myexist(num_temp)=1) for(j=0;ji;j+) if(strcmp(num_temp,tempj.num)=0) break; for(k=j;ki;k+) tempk=tempk+1; fp=fopen(D:饭卡管理系统filescard.dat,w); for(k=0;ki-1;k+) fprintf(fp,%10s%10s%20.2f%4d%20.2fn,tempk.n

22、um,,tempk.yu,tempk.guashi,tempk.sum); fclose(fp); printf(n 注销成功!按任意键返回主菜单.); else printf(n %s不存在!按任意键返回主菜单.,num_temp); getch(); 查找学生饭卡卡号用比较函数 strcmp(num_temp,tempj.num)=0。用for循环语句利用数组的替换使学生饭卡被注销。6,设置与解除挂失模块,函数名mysetguashi。system(cls); printf(n); printf( |*|n); printf( | 请输入选项编号(02) |n); pr

23、intf( |*|n); printf( | 1-设置挂失 |n); printf( | |n); printf( | 2-解除挂失 |n); printf( | |n); printf( | 0-返回 |n); printf( |*|n); printf(n 请输入操作编号); fp=fopen(D:饭卡管理系统filescard.dat,r); if(fp=NULL) printf(n 饭卡文件丢失!);exit(0); while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempi.num,,&tempi.yu,&tempi.guashi,

24、&tempi.sum); i+; fclose(fp); choose=getchar(); if(choose=1) printf(nn 请输入卡号:);scanf(%s,&num_temp); if(myexist(num_temp)=1) for(j=0;ji;j+) if(strcmp(num_temp,tempj.num)=0) break; tempj.guashi=1; fp=fopen(D:饭卡管理系统filescard.dat,w); for(k=0;ki;k+) fprintf(fp,%10s%10s%20.2f%4d%20.2fn,tempk.num,

25、,tempk.yu,tempk.guashi,tempk.sum); fclose(fp); printf(n 设置成功!按任意键返回主菜单.);getch();return; else printf(n 此卡不存在!按任意键返回主菜单.);getch();return; else if(choose=2) printf(nn 请输入卡号:);scanf(%s,&num_temp);printf(n); if(myexist(num_temp)=1) for(j=0;ji;j+) if(strcmp(num_temp,tempj.num)=0) break; tempj.guashi=0; f

26、p=fopen(D:饭卡管理系统filescard.dat,w); for(k=0;ki;k+) fprintf(fp,%10s%10s%20.2f%4d%20.2f%n,tempk.num,,tempk.yu,tempk.guashi,tempk.sum); fclose(fp); else printf( 此卡不存在!按任意键返回主菜单.);getch(); 用if-else语句分别选择设置和解除挂失功能。备注:以下函数为设置与解除挂失的子函数:int myguashi(char num10) FILE *fp=NULL; struct card tempN=0; in

27、t i=0,j; fp=fopen(D:饭卡管理系统filescard.dat,r); while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempi.num,,&tempi.yu,&tempi.guashi,&tempi.sum); i+; fclose(fp); for(j=0;ji;j+) if(strcmp(num,tempj.num)=0) break; if(tempj.guashi=1) return 1; else return 0; 7,创新功能模块,函数名mynew。dofp=fopen(D:饭卡管理系统filescard.d

28、at,r);if(fp=NULL) printf(n 打开文件失败!n);return; while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempk.num,,&tempk.yu,&tempk.guashi,&tempk.sum); k+; fclose(fp); system(cls);printf(请输入卡号:);scanf(%s,num_temp);for(i=0;i=50) tempi.yu=tempi.sum/50+tempi.yu;tempi.sum=(int)tempi.sum%50;printf(余额为%f,tempi.yu)

29、;else printf(您的消费金额不足50);fp=fopen(D:饭卡管理系统filescard.dat,w); for(j=0;jk;j+) fprintf(fp,%10s%10s%20.2f%4d%20.2f%n,tempj.num,,tempj.yu,tempj.guashi,tempj.sum);fclose(fp);printf(n 请问您要继续吗?); do yes_no=getchar(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y);用if-else语

30、句判断消费金额是否大于50元。如果大于五十元用到tempi.yu,tempi.sum计算出返回金钱。8,界面设计模块,函数名myprint。void myprint() system(cls); printf(nn); printf( |*|n); printf( | 请输入选项编号(07) |n); printf( |*|n); printf( | 1-建立饭卡文件 |n); printf( | 2-买饭 |n); printf( | 3-续钱 |n); printf( | 4-添加新饭卡 |n); printf( | 5-注销旧饭卡 |n); printf( | 6-设置与解除挂失 |n)

31、; printf( | 7-创新功能 |n); printf( | 0-退出系统 |n); printf( |*|n); 利用myprint函数实现主菜单的显示功能。 备注以下为查找学生饭卡卡号的子函数:int myexist(char num10) FILE *fp=NULL; struct card tempN=0; int i=0,flag=-1,k=0;fp=fopen(D:饭卡管理系统filescard.dat,r); while(feof(fp)=0) fscanf(fp,%s%s%f%d%fn,tempk.num,,&tempk.yu,&tempk.guash

32、i,&tempk.sum);k+;fclose(fp); for(i=0;ik;i+) if(strcmp(num,tempi.num)=0) flag=1;break; return flag; 5测试与调试测试数据类型测试数据预期结果实例结果合法数据1建立1-10个学生饭卡,1-5输入金额50元以下,6-10输入金额50以上。查看档案,存在与刚才对应的十条记录。查看档案,存在与刚才对应的十条记录。2对卡号1-10卡号中任选一个进行买饭,输入消费金额20元。显示饭卡余额的信息,并且相应的扣除金额20元。显示饭卡余额的信息,并且相应的扣除金额20元。3从1-10个卡号中任选一个进行续钱,续钱金

33、额为100元。该学号对应的余额增加100元。该学号对应的余额增加100元。4添加新饭卡,卡号为11,续费金额为200元。查看档案,多了一个卡号为11的记录,且信息与对应的输入信息相等。查看档案,多了一个卡号为11的记录,且信息与对应的输入信息相等。5改变卡号为5的档案,使其消费累计金额为200元,之后进行返值操作该用户消费后的余额增加2元。该用户消费后的余额增加2元。6输入用户须知对应的选项号。屏幕上出现用户须知的内容。屏幕上出现用户须知的内容。7选择卡号为6进行挂失操作,选择设置挂失查看档案,卡号为6的用户饭卡已挂失。查看档案,卡号为6的用户饭卡已挂失。8把学号为11的用户进行注销操作。查看

34、档案,卡号为11的用户的相关记录消失。查看档案,卡号为11的用户的相关记录消失。9选择卡号为6进行挂失操作,选择解除挂失查看档案,卡号为6的用户饭卡已解除挂失。查看档案,卡号为6的用户饭卡已解除挂失。10用户输入0屏幕显示退出的相关提示信息,之后再按任何键时,能够退出。屏幕显示退出的相关提示信息,之后再按任何键时,能够退出。非法数据1对卡号为1的用户进行添加饭卡。显示学号重复相关的错误信息。显示学号重复相关的错误信息。2对学号为2的用户进行买饭操作。显示消费金额不足相关的错误信息。显示消费金额不足相关的错误信息。3对卡号为3的用户进行两次注销。在第二次注销时,显示卡号不存在。在第二次注销时,显

35、示卡号不存在。4对卡号为1的用户进行饭卡建立操作。显示卡号重复相关的错误信息。显示卡号重复相关的错误信息。5对卡号为4的用户进行续钱操作显示学号不存在相关信息。显示学号不存在相关信息。6把卡号为5的用户进行返值的操作显示消费金额不足的错误信息。显示消费金额不足的错误信息。7用户在主界面输入任何0-7以外的信息屏幕上显示选项非法错误。屏幕上显示选项非法错误。 附录 程序清单#include #include #include #include #define N 100 struct card char name10,num10; float yu,sum; int guashi; ; void

36、 myprint(); void mycreat(); void mybuy(); int myexist(char num10); int myguashi(char num10); int myyu(char num10); void myaddyu(); void myaddcard(); void myzhuxiao(); void mysetguashi(); void mynew(); main() char choose=0; char yes_no=0; do myprint();printf(n 请选择操作编号:);choose=getch();switch(choose)

37、case 1:mycreat();break; case 2:mybuy();break; case 3:myaddyu();break; case 4:myaddcard();break; case 5:myzhuxiao();break; case 6:mysetguashi();break; case 7:mynew();break; case 0:printf(n 非常感谢使用本软件!n 已正常退出,按任意键结束.);exit(0);break; default :printf(n 该选项非法!);break; printf(n 请问您要继续吗?); do yes_no=getchar

38、();while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y); void myprint() system(cls);printf(nn); printf( |*|n); printf( | 请输入选项编号(07) |n);printf( |*|n);printf( | 1-建立饭卡文件 |n);printf( | 2-买饭 |n);printf( | 3-续钱 |n);printf( | 4-添加新饭卡 |n); printf( | 5-注销旧饭卡 |n);printf( | 6-设置与解除挂失 |n)

39、; printf( | 7-创新功能 |n); printf( | 0-退出系统 |n); printf( |*|n); void mycreat() int i=1;struct card temp=0;FILE *fp=NULL;char yes_no=0;temp.guashi=0; temp.sum=0;system(cls); fp=fopen(D:card.dat,w); if(fp=NULL) printf(nn 饭卡文件丢失!按任意键继续.);getchar();exit(0); else fclose(fp); do printf(n 请输入第%d个记录:nn,i); pri

40、ntf( 卡号:);scanf(%s,&temp.num); if(myexist(temp.num)!=1) fp=fopen(D:card.dat,w); printf( 姓名:); scanf(%s,&);printf( 充值钱数:); scanf(%f,&temp.yu);fprintf(fp,%10s%10s%20.2f%4d%20.2fn,temp.num,,temp.yu,temp.guashi,temp.sum); fclose(fp); i+; else printf( 卡号重复!n);printf(n 请问您要继续吗?);do yes_n

41、o=getchar(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y); void mybuy() FILE *fp=NULL;struct card tempN=0;int i=0,j;char num_temp10=0;float money;system(cls);fp=fopen(D:饭卡管理系统filescard.dat,r); while(feof(fp)=0)fscanf(fp,%s%s%f%d%f,tempi.num,,&tempi.yu,&tempi.gua

42、shi,&tempi.sum); i+; fclose(fp); printf(n 请输入卡号:);scanf(%s,num_temp); if(myexist(num_temp)=-1) printf(n 卡号不存在!);else if(myguashi(num_temp)=1) printf(n 本卡已冻结!); else if(myyu(num_temp)=0) printf(n 余额不够,请续费!); else for(j=0;ji;j+) if(strcmp(num_temp,tempj.num)=0) break;printf(n 请输入消费金额:);scanf(%f,&money

43、); printf(n 卡号 姓名 余额n);printf(n 消费前:%-10s %-10s %-10.2fn,tempj.num,,tempj.yu); printf(n 消费后:%-10s %-10s %-10.2fn,tempj.num,,tempj.yu-money);tempj.yu=tempj.yu-money;tempj.sum=tempj.sum+money;fp=fopen(D:饭卡管理系统filescard.dat,w);for(j=0;ji-1;j+) fprintf(fp,%10s%10s%20.2f%4d%20.2fn,tempj.num,,tempj.yu,tempj.guashi,tempj.sum);fclose(fp); printf(nn 此次消费成功!按任意键返回主菜单.);getchar();return; printf(nn 此次消费失败!按任意键返回主菜单.);getchar(); return; int myexist(char num10) FILE *fp=NULL; struct card tempN=0; int i=0,flag=

温馨提示

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

评论

0/150

提交评论