欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构课程设计学生成绩管理系统计算机数据结构与算法_计算机-数据结构与算法.pdf

    • 资源ID:95393042       资源大小:1.46MB        全文页数:53页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计学生成绩管理系统计算机数据结构与算法_计算机-数据结构与算法.pdf

    数据结构课程设计学生成绩管理系统 课 程 设 计 报 告 课程名称 数据结构 课题名称 学生成绩管理系统 专 业 通信工程 班 级 1301 学 号 030 2 姓 名 momom 指导教师 张鏖烽 彭帧 黄哲 7月 2 日 湖南工程学院 课 程 设 计 任 务 书 课程名称 数据结构 课 题 学生成绩管理系统 专业班级 通信工程 1301 学生姓名 momom 学 号 030 2 指导老师 张鏖烽 彭帧 黄哲 审 批 张鏖烽 任务书下达日期 6月 29 日 任 务 完成日期 7月 5 日 目 录 一、课程设计的分析.错误!未定义书签。1.课程设计目的:.错误!未定义书签。2.课程设计题目.错误!未定义书签。3.需求分析.错误!未定义书签。二、概要设计.错误!未定义书签。三、详细设计.错误!未定义书签。四、调试分析.错误!未定义书签。(1)调试过程中遇到的问题.错误!未定义书签。(2)经验和体会.错误!未定义书签。五、用户使用说明.错误!未定义书签。六、测试结果.错误!未定义书签。七、附录.错误!未定义书签。八、课程设计评分表.37 一、课程设计的分析 1.课程设计目的:课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。一般,实习题中的问题比平时的习题复杂得多,也更接近实际。实习着眼于原理与应用的结合点,使读者学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。2.课程设计题目【课题】学生成绩管理系统【问题描述】根据自己这个学期的课程表,设计一个成绩管理系统管理自己班的成绩;每个学生记录包含学号、姓名、每门课程成绩、总分以及加权平均分。【基本要求】一个完整的成绩管理系统应具有以下功能:(1)输入:成绩录入;(2)输出:输出成绩表;(3)插入:在成绩表中适当位置插入某个学生成绩;(4)删除:在成绩表中删除某个学生成绩;(5)查找:根据某个关键字查找某个学生成绩;(6)排序:根据某一个或某几个关键字进行排序;(7)筛选:根据某个关键字筛选出符合某些条件的数据;【测试数据】用本班的成绩总表作为测试数据。3.需求分析 本次课程设计的题目是学生成绩管理系统,要求能够存入学生,学生信息包括学生学号、姓名、每科成绩和平均成绩以及加权平均成绩等。该系统主要有以下七个功能,即对学生信息进行:输入、输出、插入、删除、查找、排序、筛选等功能。对学生进行操作能够有很多思路,而我选用的是单链表村学生信息那一条思路,即设置一个单链表,其中节点数据域保存学生基本信息。由于我们学号比较长,用整型数据无法保存,因此我定义 char 型的字符串来保存学号和姓名。用一个数组来保存学生每一科的成绩,另外在定义一个总分和平均分变量。定义学生如下:typedef struct Student char mun12;/学号 char name20;/姓名 float score8;/成绩 float all_score;/总分 float ave_score;/加权平均分 struct Student*next;LinkList;二、概要设计 本程序采用链表的方法将每一个学生设置成为一个链表中的数据节点,节点中有字符型 mun12(学号)、name20(姓名)、浮点型数据 score8(放置每一科成绩的数组)、all_score(总分)和 ave_score(加权平均分)。主函数中在执行成绩管理系统之前会先创立一个链表,并调用void InitList(LinkList*&L)函数来初始化链表;而后进入菜单选择项选择功能进行操作,主程序流程图如下:开始输入功能选项c1、添加2、输出3、插入4、删除5、查找6、排序7、筛选0、退出Creat_Studentoutput_StudentInsert_StudentLocate_Student、Delete_StudentSeek_StudentQueue_StudentFilter_Studentexit结束 三、详细设计 1、添加学生:2、输出学生:创立节点 s LinkList*p=L-next;输入学生信息,计算总分与加权分 for(m=1;mnext=s;r=s;(尾插法插入链表)输 出 学 生 信息,p=p-next count=count+1;学生总数加 1 开始结束LinkList*p=L-next;mnextm+m+1NY 3、插入学生 4、删除学生 输入要插入的位置 数字选择删除方式 开始输入jIf(j=1)创建节点s并输入学生信息将节点s用尾插法插入学生链表结束YNscanf(%d,&w);按编号删除和学号删除 调用插入函数 1编号 调用Delete_Student Insert_Student(h,w);2学号 调用Locate_Student找到 学生位置,在用Delete_Student 的流程图如下:Insert_Student 函数 Delete_Student的函数流程图:开始结束LinkList*p=L,*s;j=0;jnext;输出该学生信息YN 开始结束LinkList*p=L,*s;j=0;jnext;删除该学生信息YN Locate_Student函数的流程图与如下:Locate_Student1的流程图类似,不再重复了 开始结束LinkList*p=L;i=1;p!=NULL&strcmp(p-mun,mun)!=0?i+;p=p-next;return(i)YN 5 查找学生:调用 Seek_Student函数,分为按学号查找和按姓名查找 1 按编号 调用 Locate_Student函数返回 i 在调用Out_one_Student输出第 i 个学生 2 按姓名调用 Locate_Student1函数返回 i 在调用Out_one_Student输出第 i 个学生 6 排序函数 调用 Queue_Student 函数:其中有按学号,总分,各科成绩排序 我这里采用的是冒泡排序法进行排序,分别定义了两个节点指针q 指向头指针 p 指向 q 的下一个节点,在进入双重循环进行比较排序 流程图如下:开始结束LinkList*q,*p,*t1,*t2;q=L,p=L-nextq-next!=NULL?Yq=q-nextp-next!=NULL?q的数据p的数据?交换位置YNNNY 排序的方法都类似,知识比较数据不同,因此就没有一一画出来了 7 筛选 创 立 另 一 个 链 表 r用 于 存 筛 选 出 来 的 学 生,并 调 用output_Student函数输出 筛选程序流程图如下:开始结束输入筛选的数据L里的数据输入的数据?将该学生存入新的学生节点s将节点s用尾插法插入到链表r中调用output_Student输出链表rYN 筛选程序又分为 1 按总分选 2 全部及格的人 3 按各科成绩 1 而总分筛选主要是输入一个数值,判断数据是否大于输入数据,大于的都输出 2 去不几个的人经过比较每一科成绩是否都大于 60 分,大于的就选出插入新链表并输出 3 各科成绩的话是只比较其中一科来创立链表并输出 其比较流程图都如上图所示,这里便不再一一画出来了。四、调试分析(1)调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析 在调试过程中遇到的第一个问题是输出学生的问题,因为输出的问题,其中总是发现输出乱码,找了好久,后来终于发现是输入时出了问题,因为姓名我定义了字符串型,而字符串长度我定义了 20,在创立节点的时候我却把 name20 给了学生节点,导致输出时地址错误而输出乱码。第二个问题是查找,我开始一直想不到怎么把查找到的学生输出,后来想了很久,找到了方法,我先经过查找关键字去找到该学生是在链表的那个位置,在经过返回的位置的值来输出想要输 出 的 那 个 学 生,因 此 就 定 义 了Locate_Student和Out_one_Student来完成查找功能。第三个问题是筛选功能的实现,我原来想经过比较,将符合关键字的学生筛选出来在输出,结果发现输出函数是已经定义成一次性全部输出的形式。导致我一直想不到好的方法来进行这个功能的代码编写。后来经过老师的指导,我知道了一种新的方法来编写,就是经过创立一个新的学生链表来存已经筛选出来的学生。然后在经过输出函数来将新链表进行输出,这样就能够达到筛选的目的。改进方法:现在想了一下,其实能够将输出函数进行改进,改成一个一个学生输出的形式,在经过一个判断语句进行选择性输出,用这个输出的方法能够减少代码的的量,而达到同样的效果。第四个问题是主函数的问题,因为我想让主函数看起来简洁一点,就把主函数分成两部分,一部分用于选择操作,另一部分用于进行选择好的操作,可是这样一来却出现了问题,就是输出数据之后无法暂停在输出界面,而是闪了一下就退出来进入主界面了,这个问题我开始以为是输出函数的问题,结果我去改了输出函数,结果还是无法停留。后来知道原因了,主函数退出switch 循环之后会立即回到主菜单界面,到时无法停在输出界面。我在主函数最后加一个 system(“pause”)之后才打到能够观察到的地方。改进方法:能够将主函数定义成一个,不用分开,去掉 for(;)这个循环会好点。(2)经验和体会 本次课程设计的题目我一开始看到的时候以为很容易就能做出来,因此只是大概想了一下思路,就直接开始了,其实这个实验能够用顺序表做会思路更清晰一些,我没有选择顺序表来做,因为我在单链表这一部分有点模糊,因此想挑战一下用单链表来做。这个程序的每一个代码都是我经过一步一步分析写出来的,在编写的过程中遇到了很多的阻碍,很多自己无法预知的错误,在不断的找错过程中,我感觉到自己在 c 语言这一方面的不足,对算法的精髓还不是很了解,对于单链表的操作也不是很熟练,特别是在节点指针多起来的时候会有点乱,甚至搞不清指针到底指向哪里了。然而,在编程过程中,一次次的测试失败,再一次次修改正确却让我慢慢的熟悉了数据结构一些用法,渐渐的知道要编写一个系统,需要各种功能协调才能算一个系统,而每一个功能有需要很多函数之间的相互联系来调用与支撑。同时要想将课程设计完成的好,就需要积极提问,遇到不懂的地方能够找老师或同学相互交流经验,这样才会更加有效率的完成课设。经过这一段时间的课设,我学到的不但仅是数据结构的想关知识,也懂得了团队协作的重要性,知道学习需要真正扎实去学习,这样才能真正学到知识,并灵活运用这些所学知识。五、用户使用说明 1、添加学生功能:进入系统后先选择 1 回车即可进入输入界面,然后按照提示输入学生学号、姓名和数据结构、数字信号处理、数字电子技术基础的分数在按回车,如果还想再继续添加就按 1 继续,否则能够按任何键退出。2、输出学生:用户在输入完学生数据后既能够按 2 输出所输入的全部学生 3、插入学生:用户需在主界面按 3 即能够进入插入界面,此时能够按数字键在选择要插入的位置,如输入 1 即能够将要插入的学生插入到第一个位置,能够在主界面输入 2 进行查看是否插入到指定位置。4、删除学生:用户能够在主界面输入 4 进入删除,在经过选择编号来删除要删除的学生。5、查找:查找查找功能有按学号和姓名查找,如按一进入学号查找,能够输入要查找的学号,回车即能够输出要查找的学生。6、排序:排序能够经过学号,总分,和各科成绩,输入 1 能够按学号从小到大排序,输入 2 能够按总分从小到大进行排序,输入 3 能够进入科目选择,再按 1 进行数据结构排序,2 进行数字型号处理排序,3 进行数电的排序。7、筛选:能够按 1 进入总分筛选,进入之后输入筛选多少分以上的人,输入分数,如:200,即可输出所有大于 200 分的学生;在筛选界面输入 2 能够输出全部及格的学生;按 3 能够进入各科成绩的筛选,再按 1 选出所有数据结构及格的学生、再按 2选出所有数字信号处理及格的学生、再按 3 选出所有数字电子技术基础及格的学生。8、退出:退出程序只需要在主界面按 0 再回车即能够退出程序。六、测试结果 1、添加学生:2、输出学生:3、插入学生:4、删除学生:5、查找学生:6、排序 7、筛选 0、退出程序:七、附录#include#include#include#include int count=0;/记录学生人数 typedef struct Student char mun12;/学号 char name20;/姓名 float score8;/成绩 float all_score;/总分 float ave_score;/加权平均分 struct Student*next;LinkList;void InitList(LinkList*&L)/初始化链表 L=(LinkList*)malloc(sizeof(LinkList);L-next=NULL;void Creat_Student(LinkList*&L)/输入学生并添加到链表里面 LinkList*r=L,*s;int i=0,j=1;float all=0,ave,a8;while(j=1)while(r-next!=NULL)r=r-next;s=(LinkList*)malloc(sizeof(LinkList);s-next=NULL;printf(输入学生学号、姓名、每科成绩n);printf(学号:);scanf(%s,&s-mun);printf(姓名:);scanf(%s,&s-name);/*数据结构 3.0、数字信号处理 4.0、数字电子技术基础 2.5 这里只输入三门成绩作为示范*/for(i=0;iscorei=ai;if(i=1)printf(输入数字信号处理分数n);scanf(%f,&ai);s-scorei=ai;if(i=2)printf(输入数字电子技术基础分数n);scanf(%f,&ai);s-scorei=ai;all=a0+a1+a2;s-all_score=all;ave=(a0*3.0+a1*4.0+a2*2.5)/9.5;s-ave_score=ave;r-next=s;r=s;count=count+1;printf(是否继续?(按 1 继续,其它退出。));scanf(%d,&j);void output_Student(LinkList*&L,int n)/输出全部学生 LinkList*p=L-next;if(p=NULL)printf(没有学生成绩!请添加学生。n);return;printf(tt 学生成绩表 n);printf(编号 学号 姓名 数据结构 数字信号 数字电路 总分 加权平均分n);int m;for(m=1;mmun,p-name,p-score0,p-score1,p-score2,p-all_score,p-ave_score);p=p-next;void Delete_Student(LinkList*&L,int i)/删除第 i个学生 int j=0;LinkList*p=L,*q;if(i=0)printf(没有找到该学生);return;while(jnext;if(p=NULL)printf(没有找到该学生);return;else q=p-next;if(q=NULL)return;p-next=q-next;free(q);count=count-1;printf(删除成功!n);return;int Locate_Student(LinkList*L,char*mun)/按学号定位,返回第i 个学生 int i=1;LinkList*p=L-next;while(p!=NULL&strcmp(p-mun,mun)!=0)i+;p=p-next;if(p=NULL)return(0);else return(i);int Locate_Student1(LinkList*L,char*name)/按姓名定位,返回第i 个学生 int i=1;LinkList*p=L-next;while(p!=NULL&strcmp(p-name,name)!=0)i+;p=p-next;if(p=NULL)return(0);else return(i);void Queue_Subject(LinkList*&L)/不同科目排序 int i;LinkList*q,*p,*t1,*t2;printf(请输入科目的代号:1 数据结构 2 数字信号处理 3 数电n 请输入:);scanf(%d,&i);if(i=1|inext!=NULL;q=q-next)for(p=q-next;p-next!=NULL;p=p-next)if(q-next-scorei-1p-next-scorei-1)if(q-next=p)t1=p-next;p-next=p-next-next;t1-next=q-next;q-next=t1;p=t1;else t1=p-next;t2=q-next;p-next=p-next-next;q-next=q-next-next;t1-next=q-next;q-next=t1;t2-next=p-next;p-next=t2;else printf(没有找到该科目!n);return;void Queue_Student(LinkList*&L)/排序函数 int i,j=1;printf(1、按照学号 2、总分 3、按各科分排序n 请输入:);scanf(%d,&i);LinkList*q,*p,*t1,*t2;switch(i)case 1:/学号排序 for(q=L;q-next!=NULL;q=q-next)for(p=q-next;p-next!=NULL;p=p-next)if(strcmp(q-next-mun,p-next-mun)=1)if(q-next=p)t1=p-next;p-next=p-next-next;t1-next=q-next;q-next=t1;p=t1;else t1=p-next;t2=q-next;p-next=p-next-next;q-next=q-next-next;t1-next=q-next;q-next=t1;t2-next=p-next;p-next=t2;break;case 2:/总分排序 for(q=L;q-next!=NULL;q=q-next)for(p=q-next;p-next!=NULL;p=p-next)if(q-next-all_scorep-next-all_score)if(q-next=p)t1=p-next;p-next=p-next-next;t1-next=q-next;q-next=t1;p=t1;else t1=p-next;t2=q-next;p-next=p-next-next;q-next=q-next-next;t1-next=q-next;q-next=t1;t2-next=p-next;p-next=t2;break;case 3:Queue_Subject(L);/科目排序 break;void Out_one_Student(LinkList*L,int i)/输出第 i个学生 int j=0;LinkList*p=L;while(jnext;printf(%-9s%-9s%-10.1f%-10.1f%-10.1f%-8.1f%-10.1fn,p-mun,p-name,p-score0,p-score1,p-score2,p-all_score,p-ave_score);int Seek_Student(LinkList*L)/查找学生 1 按学号查找 2 按姓名查找 int m;printf(1 按学号查找 2 按姓名查找 3 退出n 请输入:);scanf(%d,&m);switch(m)case 1:char a12;printf(输入学号:);scanf(%s,&a);return(Locate_Student(L,a);/返回学号查找到的值 break;case 2:char b20;printf(输入姓名:);scanf(%s,&b);return(Locate_Student1(L,b);break;case 3:break;void Filter_Student(LinkList*&L)/筛选 LinkList*s,*p=L-next,*r,*q;int y,count2=0;printf(1 按总分选 2 全部及格的人 3 按各科成绩 4 退出n 请输入:);scanf(%d,&y);switch(y)case 1:s=(LinkList*)malloc(sizeof(LinkList);q=s;int i;float all;printf(您要总分多少分以上的人,请输入:);scanf(%f,&all);for(i=0;inext)if(p=NULL)printf(没有);return;if(p-all_scoreall)r=(LinkList*)malloc(sizeof(LinkList);strcpy(r-mun,p-mun);strcpy(r-name,p-name);r-score1=p-score1;r-score2=p-score2;r-score0=p-score0;r-all_score=p-all_score;r-ave_score=p-ave_score;q-next=r;q=q-next;q-next=NULL;count2+;output_Student(s,count2);free(s);break;case 2:s=(LinkList*)malloc(sizeof(LinkList);q=s;int j;for(j=0;jnext)if(p=NULL)printf(没有);return;if(p-score059&p-score159&p-score259)r=(LinkList*)malloc(sizeof(LinkList);strcpy(r-mun,p-mun);strcpy(r-name,p-name);r-score1=p-score1;r-score2=p-score2;r-score0=p-score0;r-all_score=p-all_score;r-ave_score=p-ave_score;q-next=r;q=q-next;q-next=NULL;count2+;output_Student(s,count2);free(s);break;case 3:s=(LinkList*)malloc(sizeof(LinkList);q=s;int k,x;printf(选择 1 数据结构及格的 2 数字信号处理及格的 3 数电及格的n);printf(请输入:);scanf(%d,&x);for(k=0;knext)if(p=NULL)printf(没有);return;if(p-scorex-159)r=(LinkList*)malloc(sizeof(LinkList);strcpy(r-mun,p-mun);strcpy(r-name,p-name);r-score1=p-score1;r-score2=p-score2;r-score0=p-score0;r-all_score=p-all_score;r-ave_score=p-ave_score;q-next=r;q=q-next;q-next=NULL;count2+;output_Student(s,count2);free(s);break;case 4:break;bool Insert_Student(LinkList*&L,int i)/插入学生 int j=0;LinkList*p=L,*s;if(i=0)printf(对不起,没有该位置!n);return false;while(jnext;if(p=NULL)printf(对不起,没有该位置!n);return false;else s=(LinkList*)malloc(sizeof(LinkList);s-next=NULL;float all,ave,score;printf(输入学生学号、姓名、每科成绩n);printf(学号:);scanf(%s,&s-mun);printf(姓名:);scanf(%s,&s-name);for(i=0;iscorei=score;if(i=1)printf(输入数字信号处理分数n);scanf(%f,&score);s-scorei=score;if(i=2)printf(输入数字电子技术基础分数n);scanf(%f,&score);s-scorei=score;all=s-score1+s-score2+s-score0;s-all_score=all;ave=(s-score0*3.0+s-score1*4.0+s-score2*2.5)/9.5;s-ave_score=ave;s-next=p-next;p-next=s;count+;printf(插入成功n);return true;int menu_select()/*菜单选择程序*/int c;do system(cls);printf(nt 欢迎使用学生成绩管理系统 n);printf(t 1.添加学生 n);printf(t 2.输出学生 n);printf(t 3.插入学生 n);printf(t 4.删除学生 n);printf(t 5.查找学生 n);printf(t 6.排序 n);printf(t 7.筛选 n);printf(t 0.退出程序 n);printf(t*n);printf(t 请您选择(0-7):);scanf(%d,&c);while(c7);return(c);void main()LinkList*h;InitList(h);/初始化 for(;)switch(menu_select()case 1:/添加学生 Creat_Student(h);/添加学生 break;case 2:output_Student(h,count);/输出全部学生 break;case 3:/插入 int w;printf(输入插入的位置,位置为大于或等于 1的数,(如 1、2.)n);printf(请输入:);scanf(%d,&w);Insert_Student(h,w);break;case 4:/删除 printf(选择删除方式:1 按编号 2 按学号 3 退出n);printf(请输入:);int i;scanf(%d,&i);if(i=1)int j;printf(输入编号:);scanf(%d,&j);Delete_Student(h,j);break;if(i=2)int j;char s12;printf(输入学号:);scanf(%s,&s);j=Locate_Student(h,s);Delete_Student(h,j);break;if(i=3)break;case 5:/查找 int z;z=Seek_Student(h);if(z)printf(学号 姓名 数据结构 数字信号 数字电路 总分 加权平均分n);Out_one_Student(h,z);break;case 6:/排序 Queue_Student(h);output_Student(h,count);break;case 7:/筛选 Filter_Student(h);break;case 0:printf(nt谢 谢 使 用,再 见!n);/*退出*/printf(nt);system(pause);exit(0);system(pause);课程设计评分表 课程名称:项 目 评 价 设计方案的合理性与创造性 设计与调试结果 设计说明书的质量 答辩陈述与回答问题情况 课程设计周表现情况 综合成绩 教 师签名:日 期:

    注意事项

    本文(数据结构课程设计学生成绩管理系统计算机数据结构与算法_计算机-数据结构与算法.pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开