程序设计基础专业课程设计方案报告.doc
《程序设计基础专业课程设计方案报告.doc》由会员分享,可在线阅读,更多相关《程序设计基础专业课程设计方案报告.doc(29页珍藏版)》请在咨信网上搜索。
课程设计(大作业)汇报 课程名称:程序设计基础 设计题目:学生成绩统计薄设计 院 系:信息技术学院 班 级: 设 计 者: 学 号: 指导老师: 设计时间:.7 8.-.7.13 信息技术学院 昆明学院课程设计(大作业)任务书 姓 名: 院(系):信息技术学院 专 业:计算机科学和技术 学 号: 任务起止日期:.7 .8-.7.13 课程设计题目: 学生成绩统计薄设计 课程设计要求: (1) 经过课程设计,深入掌握C语言语法结构,基础步骤,愈加深入和全方面了解所学基础概念、基础原理和基础方法。 (2) 独立实践机会,将书本上理论知识和实际有机结合起来,锻炼学生分析处理实际问题能力。提升程序编制、程序调试及综合应用能力 (3)明确课程设计目标,经过部署含有一定难度,能综合利用所学知识程序设计题目。 (4)程序设计经过需求分析,明确程序设计题目要求,进行合理设计,编码阶段编出程序易读、易懂并含有良好交互性,界面清楚。测试阶段应指导学生编写测试用例,尽可能多地找出程序中错误,进行调试。 工作计划及安排: 第一天,两个人合作选定题目,建立起程序构思图形,了解题目意思,确立程序方向,而且查阅部分资料开始构建程序。 第二天,两人商议分工合作,确定谁写那段函数,而且在总体思绪框架下,逐步写程序,并确确保程序无误。 第三天,将小程序合并,进行调试,对里面出现问题协商合作共同处理。 第四天,开始写试验汇报,对每次失败原因进行总结,而且整合两人思想纂写汇报。 第五天,实训课也靠近尾声,和班上同学交流心得体会。 指导老师签字 7 月 8日 课程设计(大作业)成绩 学号: 姓名: 指导老师: 课程设计题目: 学生成绩统计薄设计 总结: 经过一周C语言课程设计,不仅增加了我对C语言学习爱好,还让我对C语言有了更深了解。在这次实训中,我们经过自己动手查找资料,并自己设计程序,还上机运行验证我们程序。即使在上机调试过程中,我碰到了很多困难,(比如:极难了解部分逻辑思维上东西)但经过自己不停重新了解和修正,最终还是成功完成了程序设计。那种喜悦感难以用言语来表示,这让我感觉到学习也能够是愉快。在这次设计我不单单学习到了C语言知识,也学到了很多计算机应用基础知识,对计算机机体也有了一个大致了解。有很多知识,光靠老师上课所讲和自己看书得到,还远远不够,C语言关键是经过上机来熟悉而且利用,这次实训课让我深刻明白了这一点。所以在以后学习生活中,我要常常写程序并上机进行调试,不停从中学习新知识。还有一点就是:不懂就问。碰到难题实在处理不了,问老师同学,和同学共同讨论,有合作精神也是很关键。期望以后还有更多实训机会,让我得到锻炼。 指导老师评语: 成绩: 填表时间: 指导老师署名 学生成绩统计薄设计 一、课程设计目标和要求 1.课程设计目标 (1)综合利用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单信息管理程序设计。 (2)充足表现和体会函数在程序设计中必需性和实用性,并反应主函数main()在程序设计中实现思绪和方法。 2. 课程设计要求 设计一个简易学生成绩统计簿设计,其中包含:姓名,学号,C语言成绩; 具体功效: 1.系统以菜单方法工作 2. 创建学生成绩信息并以磁盘文件保留; 3. 读取磁盘文件并显示输出全部学生成绩; 4. 查询学生成绩 (1)按学号查询成绩 (2)学号姓名查询成绩 5.添加成绩统计; 6.修改指定姓名或学号学生成绩并可存盘; 7.显示输出60分以下、60~79、80~89、90分以上各分数段学生信息。 二、 总体设计 依据系统要求,系统总体设计图1所表示。 读取并显示全部成绩 学号查询成绩成绩 姓名查询成绩 添加成绩统计 修改学生成绩 结束程序 学生信息输入 学生成绩统计薄 图1 系统总体结构 三、具体设计 1、数据结构设计 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<windows.h> int n=4; struct student { int num; /*学号*/ char name[10]; /*姓名*/ float score[3]; /*成绩*/ } 2.函数说明 1.主函数 main()许可用户经过菜单进行功效选择,使用对应功效代码来调用对应函数功效。 2.其它部分功效函数包含 (1) 将学生成绩信息保留为文件void save(); 算法思想: ①定义指向文件指针变量; ②输入保留路径及文件名,打开文件,若不能打开文件给出提醒信息; ③将存有学生成绩信息结构体数组信息依次保留到文件中。 (2) 学生成绩信息录入函数void input() 算法思想: ①依次录入结构体数组中所包含各个组员; ②直到输入结构体组员中信息为4,数据输入结束; ③返回实际录入学生成绩信息数。 (3)从文件中读出学生成绩信息void output(); 算法思想: ①定义指向结构体变量指针和指向文件指针; ②输入文件路径,打开文件,若不能打开文件给出提醒信息; ③将文件中信息依次读出,最终结构体指针为NULL。 3.函数设计 (1)主菜单函数main() 功效:函数返回值为整数,代表所选菜单项 int main () { printf(" ********************************************************* \n"); printf(" § §\n"); printf("§<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>> §\n"); printf(" § >>欢迎进入学生成绩统计系统<< §\n"); printf(" §>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<< §\n"); printf(" § §\n"); printf("§【1】-------------------------- 创建学生成绩信息 §\n"); printf(" § §\n"); printf("§【2】-------------------------- 显示全部学生成绩信息 §\n"); printf("§ §\n"); printf("§【3】-------------------------- 添加学生成绩信息 §\n"); printf(" § §\n"); printf("§【4】-------------------------- 查询学生成绩信息 §\n"); printf(" § §\n"); printf("§【5】-------------------------- 修改学生信息 §\n"); printf(" § §\n"); printf("§【6】-------------------------- 按分数段显示学生信息 §\n"); printf(" § §\n"); printf("§【0】-------------------------- 退出 §\n"); printf(" § §\n"); printf(" ********************************************************* \n"); printf(" 请输入对应菜单编号: "); } (2) 我负责编写程序 A.添加学生信息 void Addstudent() { FILE *fp; struct student s; fp=fopen("stu.dat","ab"); if((fp=fopen("stu.dat","ab"))==NULL) printf("File open error!\n"); else { printf("请输入所增加学生 学号 姓名 c语言成绩:\n"); scanf("%d",&s.num ); scanf("%s",s.name); scanf("%f",&s.score[0]); fwrite (&s,sizeof(struct student),1,fp); fclose(fp);/*关闭文件*/ } printf("写入成功!\n"); }//end function Addstudent; B.修改学生成绩 void modify() { int number,i; printf("请输入要修改信息学生学号:"); scanf("%d",&number); for(i=0;i<n;i++) if(number==stud[i].num) break;/*查找判定*/ if(i<n)/*查找判定*/ { printf("请输入修改后学生信息:"); printf("\n请输入学生c语言成绩:"); scanf("%f",&stud[i].score[0]); save(); } else printf("没找到该学生信息\n"); system("paues");system("cls"); } C.查询学生成绩 void namecheck(void); void scorecheck(void); void searchmenu() { printf(" ***** 欢迎进入学生成绩查询系统 ****** \n"); printf("* 1------------------按姓名查询成绩 * \n"); printf("* 2-----------------按学号查询成绩 * \n"); printf("* 3-----------------返回上一层 * \n"); printf("* 4------------------退出 * \n"); printf(" ************************************* \n"); printf(" 请输入对应菜单编号: "); int m; scanf("%d",&m); switch(m) { case 1: namecheck(); printf("\n"); system("PAUSE"); system("CLS"); break; case 2: scorecheck(); printf("\n"); system("PAUSE"); system("CLS"); break; case 3: main();break; case 4: exit(0); break; } } void namecheck() { char name[10]; printf("根据姓名查询请按\n"); printf("\n请输入姓名:"); scanf("%s",&name); printf("查询结果\n"); printf("学号 姓名 c语言成绩\n"); if(strcpy(stud[i].name,name)) { printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } } void scorecheck() { int b; printf("根据学号查询请按\n"); { printf("\n请输入学号:"); scanf("%d",&b); printf("查询结果\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) if(stud[i].num ==b) { printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } } } 四、程序清单和实施结果 1.头文件 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<windows.h> int n=4; struct student { int num; /*学号*/ char name[10]; /*姓名*/ float score[3]; /*成绩*/ /******以下是函数原型*******/ void save(void); void input(void); void output(void); void modify(); /*修改信息*/ void searchmenu(void); /*查询信息*/ void namecheck(void); /*按姓名查询*/ void scorecheck(void); /*按学号查询*/ void Addstudent(); /*添加信息*/ void sclsearch(); /*成绩按分数段显示*/ 2. 函数源程序代码和运行结果 [1]函数源程序代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<windows.h> int n=4; struct student { int num; char name[10]; float score[3]; }stud[100]; int i,choose,a,t=0; long int num; int main () { void save(void); void input(void); void output(void); void modify(); void searchmenu(void); void Addstudent(); void sclsearch(); while(1) { printf(" ********************************************************* \n"); printf(" § §\n"); printf(" §<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§\n"); printf(" § >>欢迎进入学生成绩统计系统<< §\n"); printf(" §>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<< §\n"); printf(" § §\n"); printf(" §【1】-------------------------- 创建学生成绩信息 §\n"); printf(" § §\n"); printf(" §【2】-------------------------- 显示全部学生成绩信息 §\n"); printf(" § §\n"); printf(" §【3】-------------------------- 添加学生成绩信息 §\n"); printf(" § §\n"); printf(" §【4】-------------------------- 查询学生成绩信息 §\n"); printf(" § §\n"); printf(" §【5】-------------------------- 修改学生信息 §\n"); printf(" § §\n"); printf(" §【6】-------------------------- 按分数段显示学生信息 §\n"); printf(" § §\n"); printf(" §【0】-------------------------- 退出 §\n"); printf(" § §\n"); printf(" ********************************************************* \n"); printf(" 请输入对应菜单编号: "); scanf("%d",&a); switch(a) { case 1: input(); save(); break; case 2: output(); printf("\n"); system("PAUSE"); system("CLS"); break; case 3: Addstudent(); printf("\n"); system("PAUSE"); system("CLS"); break; case 4: searchmenu(); printf("\n"); system("PAUSE"); system("CLS"); break; case 5: modify(); printf("\n"); system("PAUSE"); system("CLS"); break; case 6: sclsearch(); printf("\n"); system("PAUSE"); system("CLS"); break; case 0:exit(0); default: ; } } return 0; } void save() { FILE *fp; if ((fp=fopen("stu.dat","wb"))==NULL)/*以只写方法打开文件*/ { printf("无法打开文件!\n"); return ; } for(i=0;i<n;i++) if (fwrite (&stud[i],sizeof(struct student),1,fp)!=1)/*写入字节为1信息在文件中*/ printf("文件写入错误!\n"); fclose(fp);/*关闭文件*/ } void input()//录入学生成绩 { int i; char a; for(i=0;i<n;i++) { printf("\n 请输入学生成绩信息:\n"); printf("\n请依次输入 学号、姓名、c语言成绩:\n"); scanf("%d%s%f",&stud[i].num,stud[i].name,&stud[i].score[0]); printf("输入:y(继续),n(终止)!\n"); fflush(stdin); scanf("%c",&a); if(a=='n' || a=='N') break; } n=i+1; } void Addstudent() { FILE *fp; struct student s; fp=fopen("stu.dat","ab"); if((fp=fopen("stu.dat","ab"))==NULL) printf("File open error!\n"); else { printf("请输入所增加学生 学号 姓名 c语言成绩:\n"); scanf("%d",&s.num ); scanf("%s",s.name); scanf("%f",&s.score[0]); fwrite (&s,sizeof(struct student),1,fp); fclose(fp);/*关闭文件*/ } printf("写入成功!\n"); }//end function Addstudent; void output() { int i; //float s; FILE *fp; if((fp=fopen("stu.dat","rb"))==NULL) { printf("cannot open file\n"); exit(0); } printf("\n学号 姓名 c语言成绩\n"); for(i=0;fread(&stud[i],sizeof(struct student),1,fp)==1;i++) { printf("%d %10s % 10.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } fclose(fp); n=i; } void modify() { int number,i; printf("请输入要修改信息学生学号:"); scanf("%d",&number); for(i=0;i<n;i++) if(number==stud[i].num) break;/*查找判定*/ if(i<n)/*查找判定*/ { printf("请输入修改后学生信息:"); printf("\n请输入学生c语言成绩:"); scanf("%f",&stud[i].score[0]); save(); } else printf("没找到该学生信息\n"); system("paues");system("cls"); } void namecheck(void); void scorecheck(void); void searchmenu() { printf(" ***** 欢迎进入学生成绩查询系统 ****** \n"); printf("* 1------------------按姓名查询成绩 * \n"); printf("* 2-----------------按学号查询成绩 * \n"); printf("* 3-----------------返回上一层 * \n"); printf("* 4------------------退出 * \n"); printf(" ************************************* \n"); printf(" 请输入对应菜单编号: "); int m; scanf("%d",&m); switch(m) { case 1: namecheck(); printf("\n"); system("PAUSE"); system("CLS"); break; case 2: scorecheck(); printf("\n"); system("PAUSE"); system("CLS"); break; case 3: main();break; case 4: exit(0); break; } } void namecheck() { char name[10]; printf("根据姓名查询请按\n"); printf("\n请输入姓名:"); scanf("%s",&name); printf("查询结果\n"); printf("学号 姓名 c语言成绩\n"); if(strcpy(stud[i].name,name)) { printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } } void scorecheck() { int b; printf("根据学号查询请按\n"); { printf("\n请输入学号:"); scanf("%d",&b); printf("查询结果\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) if(stud[i].num ==b) { printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } } } void sclsearch() { int i; printf("90分以上:\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) { if(stud[i].score[0]>=90) printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } printf("80~89:\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) { if(stud[i].score[0]>=80&&stud[i].score[0]<90) printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } printf("70~79:\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) { if(stud[i].score[0]>=70&&stud[i].score[0]<80) printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } printf("60~69:\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) { if(stud[i].score[0]>=60&&stud[i].score[0]<70) printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } printf("60分以下:\n"); printf("学号 姓名 c语言成绩\n"); for(i=0;i<n;i++) { if(stud[i].score[0]<60) printf("%d %s %.2f\n",stud[i].num,stud[i].name,stud[i].score[0]); } } (1)系统以菜单方法工作 (2)学生成绩录入 (3)显示全部学生成绩 (4)查询学生成绩 按姓名查询 按学号查询 (5)修改学生成绩 (6)按分数段显示学生成绩 五、调试和测试 我在调试我编写程序当中出现了很多问题,比如,按姓名查询学生成绩中if(strcpy(stud[i].name,name)),开始我写成了stud[i].name=name,怎么改全部有错误,无奈之下请教了同学,最终在同学帮助下改对了,原来这需要使用strcpy函数才能实现。能够说出问题还是蛮多。好不轻易改对了一个,有出现了新错误,就是输入姓名后,全部学生成绩全部显示了,还把其它学生姓名改成了我输入那个,最终人真检验了一遍才发觉多谢了一条语句for(i=0;i<n;i++)。这些问题还是给我留下了很深映象,也提醒了我基础知识不扎实警钟,所以期末考试之前我一定要好好复习了! 六、 结语 经过一周C语言课程设计,不仅使我们愈加牢靠地掌握了程序设计知识,也让自己深刻认识到自己不足和缺点,有很多知识全部存在不是完全了解及掌握,这一系列问题经过自己上机操作已经降低了很多。这我明白光靠书本上学习和老师讲是不够,有很多知识是需要我们去实践才能学到(比如:在调试过程中我发觉自己在编程这方面缺点和不足)这不停完善了自己,也不停丰富了自己对于C语言了解和掌握。而且这让自己明白和体会到了C语言其实含有语句简练,使用灵活,实施效率高等特点。和此同时,还让我明白了不懂就问关键性。现在我们总是太过于要面子,羞于问她人,总认为这个问题会不会太白痴了,她人会不会嘲笑我。其实这些只是我们自己想太多了而已,老师和同学全部很热情,她们全部很愿意教我们。有团体合作精神也很关键,有些问题光靠自己力量做太过于单薄,团体合作显得尤为关键。在这次合作中,我从同伴身上学到了很多自己身上缺乏优点,比如细心,我做事有些太过于粗心,总是在部分小地方不够认真,使程序出现了很多小错误,幸好在同伴帮助顺利处理了这些问题。 总而言之,上机实训能够让我们经过实际操作,愈加深刻学会 C语言程序编程基础步骤、基础方法。也增强了自己动手和实践能力。期望以后多部分这么实训,让我不停地提升。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 专业课程 设计方案 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文