ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:82.54KB ,
资源ID:3990269      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3990269.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(数据结构课程设计学生成绩管理系统.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据结构课程设计学生成绩管理系统.doc

1、 辽 宁 科 技 大 学 课程设计报告 设计题目: 学生成绩管理 学院、系: 电子与信息工程学院 专业班级: 计算机 11—2 班 学生姓名: 赵月 指导教师: 龙艳彬 成 绩: 2013年 1月 8 日 目录 一、需求分析—-—————————-——-——-————-—-—-----——--—-———-—--—---3 二、概要设计—---—-—————-—-—--—--—--———--——-——----—--————————3 三、详细设计-—————-————----—————-—-——---

2、——-——-———--——--—-———5 3。1系统流程图-—-—————--————-—-——--—-——-———--—-—-—————-————-———-———5 3.2界面设计-———-——--—-————--——--——-——--——-—-—--———————-——-————————6 3。3各功能模块的设计——————--————------————-——--——--————----—---———7 四、测试与分析———————---——---———-----————————-————-——-——-—-9 五、总结-—--—-—————---—————-—-———————

3、——---————-—-—-—-——--———15 六、附录(源代码)———----——-——-——-———-—-—----——-—-——-———16 1. 需求分析 1.1问题描述 本系统实现了学生成绩管理的功能,具有学生成绩的输入、读取、查询、修改、插入、删除、排序,统计等功能。 1.2基本要求 (1) 输入的形式和输入值的范围; 首先输入学生个数,按回车键。按照提示选择,将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应的命令后,再将学生

4、信息保存到文本文档中。输入数据类型主要是char、int、float等数据类型,输入内容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,大学英语成绩总分,平均分等数据。 (2) 输出的形式; 学期、学号、姓名、高等数学成绩,数据结构成绩,大学英语成绩,总分,平均分等数据. (3) 程序所能达到的功能; 1.数据输入功能,输入的数据能最终保存在文件中; 2。数据删除功能,能最终从文件中删除; 3.排序功能,根据自己设计的数据结构,设计排序算法 4。多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能; 6。 学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)

5、 7。其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等) 2、 概要设计 1。 数据结构:数组(顺序存储结构) 2。 程序模块: (1)先编入系统所需的库函数,使程序可运行 #include 〈iostream。h〉 #include 〈stdlib。h〉 #include

6、保存到文件 ②读取文件并输出学生信息 ③按学号及学期查询 ④按姓名及学期查询 ⑤按学号及学期修改信息 ⑥插入信息 ⑦按学号及学期删除信息 ⑧按数据结构降序(冒泡)排序 ⑨按总分降序(选择)排序 ⑩统计各科成绩的总分和平均分 11退出”等全部的功能。每个函数体如下: void input(Student *r); //输入 void output(Student *r); //输出 void searchnum(Student *r); //按 学号及学期 查找 void searchname(Student *r); //按 姓名及学期 查找 vo

7、id change(Student *r); //按 学号及学期 修改信息 Student *insert(Student *r); //插入信息 void shanchu(Student *r); //按 学号及学期 删除信息 void maopao(Student *r); //按数据结构降序(冒泡)排序 void xuanze(Student *r); //按总分降序(选择)排序 void tongji(Student *r); //统计各科总分和平均分信息 (3) Main()函数的设计 在main()函数中主要运

8、用do-while循环语句和switch()—case选择判断语句来调用相关 功能模块。系统的运行是在一个循环里进行的,只有在主界面并选择“退出"时,才会跳出循环,并退出程序。 void main() { cout〈〈"输入学生的个数:”; cin>〉num; //全局变量 Student *p=(Student *)new Student[num]; //定义指针数组,存放学生个数 int m; do{ cout〈〈endl; cout〈

9、———---——〉菜单栏〈———-—-——--————-—-—-————————--*\n”〈〈endl; cout〈<"\t* <1〉 输入学生信息并保存到文件 〈2> 读取文件并输出学生信息 *”< 按学号及学期修改信息 〈6〉 插入信息 *”<〈endl; cout<〈"\t* 〈7〉 按学号及学期删除信息

10、 〈8〉 按数据结构降序(冒泡)排序 *"〈

11、 cin>〉m; switch(m) { case 1: input(p); //输入 break; case 2: output(p); break; case 3: searchnum(p); break; case 4: searchname(p); break; case 5: change(p); break; case 6: p=insert(p); break; case 7: shanchu(p);

12、 break; case 8: maopao(p); break; case 9: xuanze(p); break; case 10: tongji(p); break; case 11: //退出 break; } }while(m!=11); } 3、详细设计 1、系统流程图 输 入 学 生 个 数 主 界 面 输入学生成绩 输出学生成绩 查询学生成绩 修改学生成绩 插入学生成绩 删除学生信息 按总分排序

13、 按单科排序 统计分数 退出 退 出 2、界面设计 在此界面用户可以选择要操作的选项,回车之后即可进入相关的页面进行操作(例如:选择1,即可进入输入学生信息页面) 3、各功能模块的设计 主函数模块: 用函数void main()来实现 主要是来显示主菜单,使用户选择操作.首先定义一个指针数组(全局使用)Student *p=(Student *)new Student[num];在此处num是指学生个数,并不是学号,在这里应用了do—while和switch-case语句来进行选择。最后若选择“11"则是保存记录并退出循环。 输入学生记录模块: 用函数

14、void input(Student *r);来实现 主要功能用来对学生的成绩进行输入.首先会有个提示“输入学生的个数”,之后跳出主菜单,选择”1",进入输入模块输入所需学生个数的学生信息,比如学期,学号,姓名,成绩等。输完之后会自动跳出主菜单。期间会有一些提示语,按照提示操作.根据if和for语句来判定是否有重复学号输入,在本操作中,允许有重复学生姓名出现.t=1表示找到了与之重复的学号,t=0表示未出现重复学号。在此期间会根据语句算出总分和平均分,并默认按学号排序保存到文件中去.之后返回主菜单. 输出学生记录模块: 用函数void output(Student *r);来

15、实现 主要功能是用来输出学生的信息.在系统已经录入了学生资料的前提下,用该功能可以显示学生的信息资料。同时也会自动跳出主菜单进行后续操作.其中stew()指的是两字节之间的间隔,在括号中填入数字就会有相应的间隔。 按学号及学期来查找学生记录模块: 用函数void searchnum(Student *r);来实现 主要功能时用来查找学生记录。首先会有提示输入学号及学期,再用for循环语句和if判断语句来进行查找,if(r[m].num==n&&r[m].term==k)若找到则显示学生记录并跳出循环;if(r[m]。num!=n&&r[m]。term!=k)若

16、没有则提示“该学号不存在,或没有这个学期的成绩!". 按姓名及学期来查找学生记录模块: 用函数void searchname(Student *r)来实现 主要功能也是用来查找学生记录的。首先会有提示输入姓名及学期,再用for循环语句和if判断语句来进行查找,if((r[m].name[0] == n[0]) && (r[m]。term == k))若找到则显示学生记录并跳出循环;if(r[m]。name[0]!=n[0]&&r[m].term!=k)若没有则提示”该姓名不存在,或没有这个学期的成绩!” 按学号及学期修改信息: 用函数void change(Student

17、 *r)来实现 主要功能是用来修改学生记录.首先也要有个判断语句,判断学生是否存在,这个是通过学号及学期来判断的,这里会有提示输入学号及学期,之后是for和if语句,if(r[m].num==n && r[m]。term==k)若存在则先输出修改之前的信息,查看是否正确。若正确,则修改此学生记录,这里有个while循环语句,和switch-case选择语句,用来选择修改哪科成绩,和是否进行再修改记录(通过选择Y或y来实现)。最后将修改过后的记录保存到文件中去,并输出提示"文件已修改并写入"。 插入学生资料模块: 用函数Student *insert(Student *r);实

18、现 主要功能是用来添加学生资料,成绩.若显示没有此学生的信息,就可以使用本模块来进行添加。在此模块代码中定义了另一个指针数组:Student *y = (Student *)new Student[num+1];用来存放新添加的学生记录。再利用for循环进行输入新学生记录,for(m=0;m〈num;m++)最后会有一个提示语句cout<〈”是否继续输入?(继续,输入y,否则输入其他)"〈〈endl;若输入y则继续输入,否则将返回主菜单。 按学号及学期删除学生记录模块 用函数void shanchu(Student *r)来实现 主要功能是用来删除学生记录。首先

19、有个读文件的操作,之后会有判断语句,根据所输入的学号及学期,来显示删除前的信息记录,添加for循环语句,循环把后一位的信息提前一位,整体数量减一,来进行全局变量的修改,之后再把修改过后的信息记录保存到文件中去。 按数据结构成绩(冒泡)降序排序模块 用函数void maopao(Student *r)来实现 主要功能时是用来对学生的记录来按单科成绩(这里以数据结构成绩为例)进行排序。这样方便对某科成绩有个大致的了解。首先会有一个读文件操作,为排序做基础.本排序使用冒泡排序。它有两个优点:一是很容易写出代码;二是具有稳定性,这里的稳定性是指原序列中相同两元素的相对顺序仍然保持到排

20、序后的序列。冒泡排序时进过n—1趟子排序完成的,第i趟子排序从第1个数至第n+1个数,若第i个数比后一个数大(则升序,小则降序。本程序一律采用降序)则交换两数。排序之后,将排序之后的结果写入文件,再打开文件的时候,里面显示的就是按单科成绩排序后的结果。 按总分(选择)降序排序: 用函数void xuanze(Student *r)来实现 主要功能时是用来对学生的记录来按总分成绩进行排序。这样方便对学生总体有个大致的了解.首先会有一个读文件操作,为排序做基础。本排序使用选择排序.其基本思想是:n个记录的文件的直接选择排序可进过n—1趟直接选择排序得到有序结果:①初始状态,无序区为R[1。

21、n],有序区为空。②第一趟排序 在无序区R[1。.n]中选出关键字最小的记录R[k],将它与无序区的第一个记录R[1]交换,使R[1。.n]和R[2。。n]分别变为记录个数增加1个的新有序区记录和记录数减少1个的新无序区。 。.。。. ③第i趟排序 第i趟排序开始时,当前有序区和无序区分别为R[1..i—1]和R(1≤i≤n—1)。该趟排序从当前无序区中选出关键字最小的记录R[k],将它与无序区的第一个记录与R交换,使R[1.。i]和R分别变成为记录个数增加1个的新有序区和记录个数减少1个的新无序区。这样,n个记录的文件的直接选择排序可经过n—1趟直接选择排序得到有序结果。 统计各

22、科总分及平均分模块: 用函数void tongji(Student *r)来实现 主要功能是计算总分和各科平均分,计算完之后将总分保存到文件中. 4、 测试与分析 进入主界面选择<1〉输入学生信息 输入结束后的界面: Student。txt: 23 赵月 89.0 92。0 88。0 3 269。0 89.7 12 李丽 92。0 85.0 88.0 3 265。0 88。3 31 王虎 87。0 79.0 45。0 3 211。0 70。3 选择<2〉,输出了学生信息: 选择

23、〈3〉,按学号及学期查询学生信息: 选择<4>,按姓名及学期查询学生信息: 选择<5>,按学号及学期修改学生信息: Student。txt: 23 赵月 89。0 92。0 88.0 3 269.0 89.7 12 李丽 92。0 85.0 88.0 3 265.0 88。3 31 王虎 87.0 79。0 85。0 3 211.0 70.3 选择<6>,插入学生信息: Student.txt: 23 赵月 89。0 92。0 88。0 3 269.0 89。7

24、12 李丽 92。0 85。0 88.0 3 265。0 88。3 31 王虎 87。0 79。0 85.0 3 211.0 70.3 17 王万 78。0 79。0 86.0 3 243。0 81.0 选择〈7〉,按学号及学期删除学生信息: Student.txt: 23 赵月 89.0 88.0 88。0 3 269.0 89。7 12 李丽 92.0 88。0 88.0 3 265。0 88。3 17 王万 78.0 86。

25、0 86。0 3 243。0 81.0 选择〈8>,按数据结构降序〈冒泡〉排序: Student.txt: 23 赵月 89.0 88。0 88.0 3 269.0 89。7 12 李丽 92.0 88。0 88。0 3 265。0 88.3 17 王万 78.0 86。0 86。0 3 243。0 81。0 选择<9>,按总分降序<选择〉排序: Student。txt: 23 赵月 89。0 88.0 88。0 3 269.0 89。7 12

26、 李丽 92.0 88.0 88.0 3 265。0 88。3 17 王万 78.0 86.0 86。0 3 243。0 81。 选择〈10〉,统计各科成绩的总分和平均分: 选择<11>,退出: 5、 总结 课程设计终于结束了感觉有很多的收获,通过课程设计我又一次巩固了所学的知识,对学习到的理论知识进行了巩固,真正的理解及体会了。平时有很多知识都是似懂非懂,通过平时上机操作,自己也了解了一些,但在这次的课设上,之前的困惑也通过这次的课设解决了一些,虽然还是不能够全面的理解,但是有进步就很有成就感。在课程设计中遇到不少困难,通过查阅

27、资料,询问同学,在应用课本的前提下,拓展课外知识,完成了此次课程设计,虽然还有许多不足之处,但是从中我学到了许多东西.我懂得了我们不能拘泥于所学知识,应对其灵活运用. 通过此次课程的设计使我认识到对知识的掌握不全面,而且感觉我们在学习专业知识的同时还需要再加强其他方面知识的学习,因为编程有时候涉及到其他方面的知识,只有了解了其他方面的知识才能收集资料,然后编程。在编程的过程中,又重新复习了课本,从中学到了许多以前未学到的知识,感觉非常有成就感,特别当自己把程序一点点完善时, 让我对自己更加有信心,让我对数据结构这门课程也更感兴趣了,以前我一直感觉枯燥难学的数据结构,在编程的过程中我也愿意去

28、认真研究学习了。 这次数据结构课程设计中,多亏了同学的耐心帮助。如果没有同学的指导改错,我会花更多的时间去找错误。在以后的学习过程中,我一定会认真负责地对待课本中的每一个知识点,进一步充实自己,提高自己。争取在不断的练习中提高自己的层次.也希望可以在以后的专业课当中多增加一些实践的内容,只有多动手,我们才能不断提高. 6、附录:源程序清单 #include #include #include

29、 //文件和标准控制台的输入输出 #include 〈stdio.h> //数组、结构体 struct Student //结构体 { int term; //学期 int num; //学号 char name[12]; //姓名 float mark1; //成绩1 float mark2; //成绩2 float mark3; //成绩3 float sum; //总分 float average; //平均分 }; int num=0;

30、//声明 void input(Student *r); //输入 void output(Student *r); //输出 void searchnum(Student *r); //按 学号及学期 查找 void searchname(Student *r); //按 姓名及学期 查找 void change(Student *r); //按 学号及学期 修改信息 Student *insert(Student *r); //插入信息 void shanchu(Student *r); //按 学号及学期 删除

31、信息 void maopao(Student *r); //按数据结构降序(冒泡)排序 void xuanze(Student *r); //按总分降序(选择)排序 void tongji(Student *r); //统计各科总分和平均分信息 void main() { cout<〈"输入学生的个数:"; cin〉〉num; //全局变量 Student *p=(Student *)new Student[num]; //定义指针数组,存放学生个数 int m; do{ cout〈〈endl

32、 cout〈〈endl; cout〈〈"\t*—-—-—-——————-——--————--——————〉菜单栏〈--—-——---—--——-———---—-————-—*\n”<〈endl; cout<<”\t* 〈1〉 输入学生信息并保存到文件 <2> 读取文件并输出学生信息 *”〈〈endl; cout<〈”\t* 〈3> 按学号及学期查询 〈4〉 按姓名及学期查询 *”<〈endl; cout<〈"\t* 〈5〉 按学号及学期修改信息 〈6> 插入信息

33、 *”〈〈endl; cout<〈”\t* 〈7〉 按学号及学期删除信息 〈8> 按数据结构降序(冒泡)排序 *”< 按总分降序(选择)排序 〈10〉 统计各科成绩的总分和平均分*"<〈endl; cout〈<"\t* 〈11〉 退出 *”〈

34、——-———--—-————--—-——*\n"<

35、p=insert(p); break; case 7: shanchu(p); break; case 8: maopao(p); break; case 9: xuanze(p); break; case 10: tongji(p); break; case 11: //退出 break; } }while(m!=11); } //输入信息 void input(Student *r) { FILE *f

36、p; int n=0; int i; int t=0; //t为标志位,1为找到,0为未找到 cout〈〈endl〈〈”——-—-——-——〉 请输入学生信息 〈————————-”〈〈endl; for(i=0;i〈num;i++) { cout<<”请输入学期:”; cin〉〉r[i]。term; cout〈<"请输入第”〈=1) { for(n=0;n

37、 { cout〈〈"该学号已存在!!”〈〈endl; t=1; } } } if(t==1) //表示有重复 { i——; t=0; continue; } cout〈〈”请输入姓名:”; cin〉>r[i]。name; cout<〈"请输入 高等数学 成绩:”; cin〉〉r[i].mark1; cout〈〈”请输入 数据结构 成绩:”; cin>〉r[i]。mark2; cout<〈”请输入 大学英语 成绩:"; cin〉〉r[i]

38、mark3; r[i]。sum=r[i].mark1+r[i]。mark2+r[i]。mark3; r[i].average=(r[i].mark1+r[i].mark2+r[i]。mark3)/3; } fp=fopen(”student.txt”,"w+"); if(!fp) { cout<<”文件不能打开”〈

39、]。name,r[n].mark1,r[n]。mark2,r[n]。mark3,r[n]。term,r[n].sum,r[n]。average); fprintf(fp,"\n"); } fclose(fp); cout〈〈”文件已经写入”〈〈endl; } //输出信息 void output(Student *r) { int m; system(”cls”); //清屏 if(num〉0) { FILE *fp; if((fp=fopen(”student。txt",”r”))==NUL

40、L) //r只读 { cout<〈”文件不能打开”〈〈endl; exit(0); } for(int n=0;n〈num;n++) { fscanf(fp,”%d%s%f%f%f%d%f%f”,&r[n]。num,r[n].name,&r[n]。mark1,&r[n]。mark2,&r[n].mark3,&r[n]。term,&r[n].sum,&r[n].average); } fclose(fp); //关闭文件 cout<〈”文件已经读入”〈〈endl;

41、 cout〈<"-——————-—————-——-—--—--—--—-〉 学生信息如下 〈——--—-———--—-—---—--—--—--—-—-"<〈endl; cout〈〈”学号"〈

42、——————-—-——--”<〈endl; for(m=0;m〈num;m++) { cout〈〈r[m]。num〈

43、endl; } //按学号及学期查找 void searchnum(Student *r) { int n,k; system(”cls”); //清屏 if(num〉0) { cout<〈”请输入要查找学生的学号:”; cin>〉n; cout〈〈"请输入学期号:"; cin>>k; for(int m=0;m〈num;m++) { if(r[m].num==n&&r[m].term==k) //如果找到了输出并跳出循环 { cout<

44、

45、k1<

46、archname(Student *r) { char n[12]; int k; system("cls”); //清屏 if(num〉0) //如果没输入就查找提示 { cout〈〈"请输入要查找学生的姓名:"; cin〉>n; cout〈〈"请输入学期号:"; cin>〉k; for(int m=0;m

47、 && (r[m]。term == k)) //如果找到了输出并跳出循环 { cout<〈endl; cout〈<"————-——--———-——-——--——--—〉 要查找的信息如下 <-----——--—-—-——-—-——--—----”〈

48、 cout<〈r[m]。num〈

49、〈〈endl; } else cout〈〈”未输入任何信息!!”〈

50、的学期:”; cin>〉k; for(int m=0;m〈num;m++) { if(r[m]。num==n && r[m]。term==k) { int j; cout<

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服