万年历设计报告.doc_第1页
万年历设计报告.doc_第2页
万年历设计报告.doc_第3页
万年历设计报告.doc_第4页
万年历设计报告.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

_C语言程序设计实训任务书题目:万年历学生姓名: 学号: 班级: _物联网工程_题目类型:软件工程(R) 指导教师: 一、设计目的1.进一步掌握和利用C语言进行程序设计的能力;2.进一步理解和运用结构化程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用流程图或N-S图表示算法;6.掌握书写实训开发文档的能力(书写实训报告)。二、设计任务及内容用C语言编写万年历1.功能选择可以用菜单实现。例如可以选择 1按年查询 2按月查询 3按日查询 0退出 用户通过不同的数字进入不同的菜单2.万年历显示公元后任何年份的日历,类似于一般挂历上的格式3.输入年份,判断是否为闰年 4.输入年月日,判断改日为星期几 5.输入年份,打出12个月历,输入月份,打出该月的日历 6.要求用多个函数实现 三、设计要求1.用C语言实现系统;2.利用结构体、数组等实现数据结构设计;3.系统的各个功能模块要求用函数的形式实现;4.文档:实训说明书每个学生一份,并装在统一的资料盒中。 5.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。四、提交的成果1. 设计任务书一份(学校统一格式)2. 设计说明书一份,内容包括:1) 中文摘要100字,关键词3-5个。2) C语言课程实训题目、内容、要求。3)总体设计(包含几大功能模块)。4)详细设计(各功能模块的具体实现算法流程图)5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。6)调试分析(包含各模块的测试用例,及测试结果。)7)总结(实训完成了哪些功能,还有哪些地方需要改进,及通过实训有何收获,调试程序的体会等)8) 参考文献、致谢等。五、主要参考资料1. 王连相.C/C+程序设计 武汉大学出版社2. 谭浩强C语言程序设计(第2版)学习指导清华大学出版社 3. 杨莉,龚义建C语言程序设计实训指导教程华中科技大学出版社 4. 张小东,郑宏珍C语言程序设计与应用人民邮电出版社5. 郭翠英C语言C语言课程实训案例精编中国水利水电出版社6郭有强C语言程序设计清华大学出版社7李丹程,刘莹,那俊C语言程序设计案例实践清华大学出版社 8李丽娟C语言程序设计教程人民邮电出版社9武雅丽,王永玲,解亚利C语言程序设计清华大学出版社六、各阶段时间安排(共1周)日期内容地点星期一教师讲解设计要求,准备参考资料1B203星期二分析系统,方案设计1B203星期三方案设计,编程1B203星期四调试程序,书写实训说明书1B203星期五完成实训说明书,答辩1B203摘要C语言在近年来国内外得到了很广泛的推广,而电子万年历也是人们在日常的生活需求中必不缺少的一部分。我们通过这学期对C语言的学习,做出了一个万年历程序。该程序实现了简易的万年历的功能,实现了万年历的四个基本功能。 当进入此程序,通过界面的提示可以很容易的进入万年历功能选择所实现的功能。此万年历有以下四个常能用的功能:按年查询、按月查询、按日查询、打印整年日历。这四个常用功能基本满足了人们在生活中的对万年的需求,本万年历跨度较其他万年历稍大一些,可以查询到更广的年历。关键词: C语言;电子万年历;数组 目录1绪论11.1设计目的11.2设计背景11.3需求背景11.4小组分工72总体设计32.1总模块设计32.2使用头文件说明32.3使用变量声明42.4运用到C语言的函数42.5函数调用关系53详细设计63.1函数运行流程图63.2闰年判断模块73.3年历打印模块83.4星期计算模块93.5打印月历模块113.6日期合法性检查模块134 调试分析144.1错误分析144.2错误修改144.3运行程序154.4闰年的判断154.5 星期计算的功能164.6月历查询功能174.7打印整年年历功能185 源程序清单19总结26致谢27参考文献281绪论本课题主要是针对简易电子万年历的功能,以及子模块的设计展开探究。课题主要包括了使用C语言来调用各个模块的函数,使这些函数相互之间联系起来,解决用户需要的简易问题,同时考察组员对C语言中的函数、顺序、循环、if语句的嵌套、for语句的嵌套的操作能力。并且在探究的过程中培养组员分析问题和解决问题的能力,提高组员之间团结合作的能力。1.1设计目的1.通过实训可以综合运用所学有关相应知识的能力,能更好的巩固C语言程序设计课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关。更加了解了C语言的好处和其可用性。同时增加了同学之间的团队合作精神,更加也体会到以后在工作中团队合作的重要性和必要性。2.通过实训,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。1.2设计背景C语言是近年在国内外得到迅速推广应用的一种机器语言。C语言功能丰富,表达能力强,应用灵活方便,应用范围广,目标成序效率高,可移植,极有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。在这次的实训中我将把日常生活中最经常接触的日历的查询,利用C语言的程序编成一个简单的万年历查询系统。通过这个小小的系统可以实现部分功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。1.3需求背景目前比较流行电子万年历程序,比较典型的是windows中各版本的日历程序。但是这些程序总是有一定的限制,需要一个跨度很大的日历来方便人们的生活,而C语言程序与设计充分发挥了这个优点,用很短的文本填补了这一个空白。同时也用强有力的证据告诉人们C语言这个新生事物的应用范围是极其广阔的。1.4小组分工组内成员是一个整体,小组是一个团队,强调集体行动,不搞个人主义,组内对于各种任务要有明确分工,并且要明确落实到人。组长:白博康在以身作则的基础上,对组员的学习、行为、思想等进行监督、督促和指导。包括随时与指导老师联系,分派组员任务。同时负责实训内容的收尾、排版、制图、检查错误、部分程序的调试等工作。组员:蔡家豪在报告书中做了很大的贡献,在我们的报告书中担任了流程图制作,资料搜集的工作,为我们的工作顺利进行起到了很大的作用。同时为组内同学做好了后勤保障工作。组员:程虞华在我们组中寻找源代码以及对源代码进行改进,为我们提供了程序设计的基础,并和其他组员一起查询错误。在报告书中为我们编辑了详细程序这一部分。同时协助其他组员进行实训中表格的制作,流程图的制作。2总体设计2.1总模块设计用户通过不同的数字进入不同的菜单,万年历显示公元后任何年份的日历,类似于一般挂历上的格式,输入年份,判断是否为闰年;输入年月日,判断为星期几;输入年份,打印出查询月历;输入年份,打出该月的日历。万年历闰年判断星期查询月历查询打印整年日历图2.1 功能模块图2.2使用头文件说明本程序应用到的头文件:#includestdio.h在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明),#include的作用就是用来提供这些信息的,stdio.h是C编译系统提供的一个文件名,stdio是“standard input & output”的缩写,即有关标准输入输出的信息。在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上一行:#includestdio.h或者是#include,这样才能调用库函数。二者主要在于查找效率上有差别,#include一般用包含系统文件,它是查找先从系统目录查找开始查找;#include stdio.h一般用包含项目文件,它是查找先从项目目录查找开始查找。在编写C语言中,常用到printf()和scanf()函数,他们就是stdio.h中的两个标准输入输出函数,所以编程语句中如果要用到此两个函数就一定要在头文件中加入#include。#includewindows.h头文件封装了库函数以及一些类,将一些复杂的工作由库函数处理,而用户不必把精力放在这些地方。比如说cout,为标准输出流,其实说到底还是函数调用,不过这个函数有些特殊,用的是运算符重载,确切地说是重载了“表示菜单选择的变量x表示月份的变量y表示一个月中的某一天的变量sum判断某天是一年中的第几天的变量number判断某天离公元1年1月1日还有几天的变量a表示每月天数的数组变量2.4运用到C语言的函数 在程序中应用了大量的自定义函数,都为了使程序更简洁明了。其中:intIsLeapYear ()/*判断是否为闰年*/char *NameOfMonth ()/*判断某天是一年中的几月*/char *WeekDay ()/*对天数进行判断确定是星期几*/int jiri()/*判断这一月的总天数*/int X=(int)(year/100);/*世纪数*/int Y=X-(int)(X/4);/*如果按4年一闰来算,Y指的是比实际上多算的天数,在下面需要减去*/int GetDayOfMonth()/*输出某一年中的月历*/int tmp_days=GetDays(year,month,1);/*本月积日*/int ShowCalendar()/*输出某一年的某一月的详细日历*/int DateCheck /*判断合法性*/jiri=GetDays(year,month,1);/*获取特定日期的总天数*/ShowCalendar(year,month,1); /*输出年历*/intcounterdays()/*判断今天距特定日期的天数*/int dayofweek()/*判断是星期几*/int GetDays/*判断今天的日期*/ 2.5函数调用关系上述函数调用关系如下图所示:否是主函数main()IsLeapYearShowCalendarGetDaysGetDayOfMonthDateCheck(是否合法)结束图2.5 函数调用关系3详细设计3.1函数运行流程图通过外部菜单的功能和相应的提示进行输入即进入所要运行的功能。定义了一个主函数int main()这个函数就是我们整个程序运行的主要框架。通过while这个主循环让用户输入相应的功能前的代码来实现想要的功能。通过在Choise之后输入所需运行的程序的代码进行执行相应的程序。调用闰年判断判断该年是否闰年输入年月3调用打印月历打印该月月历调用年历打印打印该年年历判断该日为星期几数字判断输入年份输入年月日1或4214调用星期判断开始输入选项图3.1函数运行流程图3.2闰年判断模块用户通过输入1进入闰年判断的程序,进入闰年判断后,通过对函数intIsLeapYear ()的循环进行判断,最后输出结果,输出结果后返回主菜单。开始输入yearyear%4=0year%100!=0year%400=0是闰年非闰年返回否是是否是图3.2闰年判断模块进入菜单选择闰年判断功能,输入进行查询,查询后将显示查询的年份是否为闰年。若是,则显示此年为闰年,若不是闰年则显示此年不是闰年。首先第一步定义了IsLeap year这个函数,这个函数主要是为实现闰年判断这个功能的。通过year%4=0&year%100!=0|year%400=0判断输入的该年是否为闰年,从而通过接下的步骤return返回相应的数据。相关代码如下:int IsLeapYear (int year) if(year%4=0&year%100!=0|year%400=0) return 1;/*闰年返回1*/ else return 0;/*平年返回0*/3.3年历打印模块通过输入4,选择打印整年日历功能,输入正确即可执行,输入不正确返回主界面。打印该年月份返回年份判断输入年份调用大小月判断函数调用闰年判断函数图3.3年历打印模块进入主界面后,用户通过选择打印整年日历的功能。进入打印整年日历的程序中后,用户只需输入想要打印当年的年份,接下来就是对月份的判断,此时年份的判断已经通过了,这时先对大月小月进行判断,if中列出的都是小月,通过判断大小月和之前石否为闰年的判断接下来进一步对二月的天数进行确定。当return 0之后,这些月份都为小月,每都有30天,之前判断的闰年此时调用判断闰年的函数,用是否闰年对二月的天数进行判断,系统即可进行打印,该程序在循环中截止于break,打印部分的程序如下:if (uMonth=4|uMonth=6|uMonth=9|uMonth=11) if (uDay30) return 0; else if (uMonth=2) if (IsLeapYear(uYear) if (uDay29)return 0; else if (uDay28) return 0; return 1; printf(请输入要判断的年份:Year);scanf(%d,&year); for (month=1;month);scanf(%d %d %d,&year,&month,&day); totaldays=GetDays(year,month,day); printf(%d年%d月%d日是%srnrn,year,month,day,WeekDay(totaldays+1)%7); break;3.5打印月历模块通过之前对年的判断,现在可通过输入某一年的某一个月来打印该月的日历。在打印月历的时候,需要调用之前的年历的函数。开始输入一个年月调用年历的函数打印出输入的该年的月份的日历返回图3.5年历打印模块代码如下:if (month0 year-;/*把1月、2月视为上一年的13月、14月(纯粹为了计算需要)*/ month+=12; sum=(int)(365.25*(year-1900)+(int)(30.6*(month+1)+day-Y-49;/*以365.25(本来实际太阳年是365.2425天)来计算是为了计算按4年一闰的整数年总天数,加上月份天数再加上余下天数,减掉多闰天数,再减掉一个偏差值(多加的)*/ /*月份以30.6天的平均值计算。最后减去的49,是多加的一个月以及其余相差天数的和,可得到1900年1月1日的积日为0*/ return sum;/*返回距离1900年1月1日的总天数(积日)*/ int GetDayOfMonth(int month,int year) int tmp_days=GetDays(year,month,1);/*本月积日*/ int DayOfMonth=0; month+;/*下个月*/ if (month12) month=1;/*遇到月份为12月的情况,月份为1,年份加1*/ year+; DayOfMonth=GetDays(year,month,1);/*下个月的积日*/ DayOfMonth-=tmp_days;/*下月1日的总天数(距离1900年1月1日的积日)减去当前月1日的总天数*/ return DayOfMonth;/*返回当前月总天数*/ 进入主界面菜单之后,通过用户选择月历查询的功能即可进入阅历查询的功能。进入月历查询的功能之后,用户需输入具体的年月进行查询。输入的格式为:“年 月 ”,输入后,系统将进入年和月的循环结构中进行计算,计算完成之后,此循环中止于break。case 3: printf(请输入要显示的月份(空格隔开):Year Month);scanf(%d %d,&year,&month); ShowCalendar(year,month,1); break;3.6日期合法性检查模块在使用输入时,总会有输入错误的情况,根据不同情况下输入错误的情况,程序也做出了相应的判断。详细情况如下:在闰年判断的过程中,通过之前的判断,在最后进行合法性的判断,判断输入的年份是否合法。int IsLeapYear (int year) if(year%4=0&year%100!=0|year%400=0) return 1;/*闰年返回1*/ else return 0;/*平年返回0*/ int DateCheck(int uYear,int uMonth,int uDay)/*合法返回true,非法或超出范围返回false*/在年份的判断中if(uYear9999|uMonth12|uDay31)是对年份合法性的判断,年份判断成功之后即可执行if之后的语句,进行下一步月份的判断。 if (uYear9999|uMonth12|uDay31) return 0; 在之前的天数判断后,此时就有对输入有误日期判断的语句,通过这几句调用了之前的int year和int day进行求和,之后若有错误,即返回输出日期有误。int GetDays (int year,int month,int day) int sum=0; if (DateCheck(year,month,day)=0) return -1;/*日期有误*/ 4 调试分析4.1错误分析在我们调试程序的过程中,同时出现了很多的问题。我们将程序输入C-Free中提示了以下的错误:1、系统提示了:error: main must return int.经过我们对问题的分析,我们发现在C-Free编译器中main函数的前缀不能够是void,必须是int才可以运行,这是编译器不同造成的错误2、系统提示了:error: printrudose not name a type.经过我们的分析和资料的查询,我们发现是头文件的名字和自定义函数的名字有了冲突,此时,通过我们对自定义函数名称的改变,程序此处错误被解决3、系统提示了:waring:no newline at end of file.经过我们查询相关资料发现,这句话的英文意思是说文末没有换行符。在代码中我们添加了n,此时此处的错误被解决 4、系统提示了:error:expected unqualified-id before “int”error:expected )before“int”error:leapwas not declared in this scope通过我们又一次对程序的检查,发现是在声明的时候少定义了一个变量,int后缺少了底下所要的变量,我们根据下方的程序,添加了相应的变量,程序可以运行出来了。4.2错误修改1、在程序运行后,我们发现在主循环的程序中主界面里出现了很多的问号,我们又一次打开程序的源代码,发现程序中的printf中不小心误打了很多的问号,此时显示出了很多的问号。我们删除了这些问号,程序运行之后变为正常2、程序运行之后,我们在调试的过程中发现,显示出想要的结果之后,但是无法返回到主页面中。我们认为是少定义了这样的一个功能,通过返回源代码查看之后,在if的循环之后添加了return,以及相应的返回值,问题得以解决。4.3运行程序进入主界面菜单,输入数字进行选择图4.主界面菜单4.4闰年判断功能按1,进入闰年判断的步骤,之后输入年份,进行闰年的判断,测试运行结果如下图4.3 闰年判断的运行结果4.5 星期计算功能星期计算功能如下图所示:图4.4-1进入星期计算的功能在这一步继续输入年月日,程序进行判断图4.4-2 星期判断的运行结果4.6月历查询功能月历查询功能如图所示:图4.5-1 进入月历查询的功能在进入月历查询的程序后,输入年月查询该月的详细日历图4.5-2 月历查询的详细运行结果4.7打印整年年历功能选择打印整年日历图4.6-1 选择打印整年日历功能进入打印整年日历功能图4.6-2 整年年历运行结果5 源程序清单#include #include char *NameOfMonth12=January,February,March,April,May,June,July,August,September,October,November,December;char *WeekDay7=星期日,星期一,星期二,星期三,星期四,星期五,星期六;int IsLeapYear (int year) if(year%4=0&year%100!=0|year%400=0) return 1;/*闰年返回1*/ else return 0;/*平年返回0*/ int DateCheck(int uYear,int uMonth,int uDay)/*合法返回true,非法或超出范围返回false*/ if (uYear9999|uMonth12|uDay31) return 0; if (uMonth=4|uMonth=6|uMonth=9|uMonth=11) if (uDay30) return 0; else if (uMonth=2) if (IsLeapYear(uYear) if (uDay29) return 0; else if (uDay28) return 0; return 1;int GetDays (int year,int month,int day) int sum=0; if (DateCheck(year,month,day)=0) return -1;/*日期有误*/ if(year=1901) int X=(int)(year/100);/*世纪数*/ int Y=X-(int)(X/4);/*如果按4年一闰来算,Y指的是比实际上多算的天数,在下面需要减去*/ if (month0) year-;/*把1月、2月视为上一年的13月、14月(纯粹为了计算需要)*/ month+=12; sum=(int)(365.25*(year-1900)+(int)(30.6*(month+1)+day-Y-49;/*以365.25(本来实际太阳年是365.2425天)来计算是为了计算按4年一闰的整数年总天数,加上月份天数再加上余下天数,减掉多闰天数,再减掉一个偏差值(多加的)*/ /*月份以30.6天的平均值计算。最后减去的49,是多加的一个月以及其余相差天数的和,可得到1900年1月1日的积日为0*/ return sum;/*返回距离1900年1月1日的总天数(积日)*/ int GetDayOfMonth(int month,int year) int tmp_days=GetDays(year,month,1);/*本月积日*/ int DayOfMonth=0; month+;/*下个月*/ if (month12) month=1;/*遇到月份为12月的情况,月份为1,年份加1*/ year+; DayOfMonth=GetDays(year,month,1);/*下个月的积日*/ DayOfMonth-=tmp_days;/*下月1日的总天数(距离1900年1月1日的积日)减去当前月1日的总天数*/ return DayOfMonth;/*返回当前月总天数*/ int (int year,int month,int day) int i,j,count; int jiri=0;/*积日*/ int dayofweek=0;/*星期*/ if (DateCheck(year,month,day)=0) printf(输入日期有误!rn);/*日期不合法或超出范围,年历从1901年开始*/ return 0; printf(t %d %srn,year,NameOfMonthmonth-1); printf(-rn); printf( Sun Mon Tue Wed Thu Fri Satrn); printf(-rn); jiri=GetDays(year,month,1);/*获取距离1900年1月1日的总天数*/ dayofweek=(1+jiri)%7;/月首星期,因为1900年1月1日星期一 count=GetDayOfMonth(month,year); for(i=0;idayofweek;i+) printf( );/填充前面空格 for(i=1,j=dayofweek;i=count;i+,j+) if (i); scanf(%d,&nChoise); switch (nChoise) case 1: printf(请输入要判断的年份:Year); scanf(%d,&year); if (year9999) printf(输入年份超出范围!); break; if (IsLeapYear(year)=1) printf(%d年是闰年!rnrn,year); else printf(%d年不是闰年!rnrn,year); break; case 2: printf(请输入要判断的日期(空格隔开):Year Month Day); scanf(%d %d %d,&year,&month,&day); totaldays=GetDays(year,month,day); printf(%d年%d月%d日是%srnrn,year,month,day,WeekDay(totaldays+1)%7); break; case 3: printf(请输入要显示的月份(空格隔开):Year Month); scanf(%d %d,&year,&month); ShowCalendar(year,month,1); break; case 4: printf(请输入要判断的年份:Year);scanf(%d,&year); for (month=1;month=12;month+) ShowCalendar(year,month,1); break; default: printf(无效的菜单项!rn); break; system(pause); system(cls);return 0;总结整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获应该说是相当大的。一开始我们从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让

温馨提示

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

评论

0/150

提交评论