五子棋c++课程设计.doc
《五子棋c++课程设计.doc》由会员分享,可在线阅读,更多相关《五子棋c++课程设计.doc(25页珍藏版)》请在咨信网上搜索。
数据结构课程设计 目录 第一章 :课程设计目的和要求·······················2 1.1 数据结构课程设计的目的 ··························2 1.2 数据结构课程设计实现的要求······················2 第二章 :课程设计任务内容·························3 2.1 五子棋对弈系统···································3 第三章 :详细设计说明·····························4 3.1 功能设计········································4 3.2五子棋对弈系统流程图······························4 3.3 软件中实现各项功能的函数与程序代码········5 第四章 :程序运行环境说明··························10 4.1 程序运行环境说明及出现的问题·····················10 4.2 运行结果·········································10 第五章:课程设计心得与体会····················14 附录········································15 源程序:·····································16 五子棋 第一章 课程设计目的和要求 1.1 数据结构课程设计的目的 进一步培养结构化程序设计的思想,加深对高级系统语言基本语言要素和控制结构的理解,针对数据结构中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 此课程设计着眼于知识的运用,把平常学的知识运用到课程实践中来,本身就是考察我们知识运用能力。要求熟悉运用一些编程软件,对我们所学的理论知识进一步的深化。 1.2 数据结构课程设计实现的要求 使用C++语言编写一个基于控制台的简单程序,使学生掌握简单的程序设计技巧。同时设计一个简单的五子棋对弈系统,可以实现五子棋的基本功能,是一款娱乐用的小型程序。 第二章 课程设计任务内容 2.1五子棋对弈系统 设计一个五子棋系统程序,实现对五子棋进行运行。 基本要求:五子棋是有两个人在一盘棋上进行对抗的竞技活动。在对局开始时,先由用户选择哪方开局,先开局一方将一枚棋子落在一点上,然后由另一方在对方棋周围交叉点上落子,如此轮流落子,知道某一方首先在棋盘的直线、横线或斜线上形成连续的五子则该方程就算获胜。 此时算法结束,当有任何一方退时出,都可在算法中实现。 第三章 详细设计说明 3.1 功能设计 (1)由两个玩家分别下棋,当某一玩家五子相连,则赢。 (2)界面要求:初始状态——显示棋盘,并显示两个玩家的操作键及初始玩家名称;游戏进行状态——动态显示棋盘,不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家名称。 开始 3.2五子棋对弈系统流程图 白放下子 判断该位置是否有棋 找另一位 是 白方下子 否 判断是否重现开局 跳出白棋获胜 判断白方是否胜出 是 否 黑方下子 否 判断该位置是否有棋棋 否 游戏结束 找另一位 是 否 黑方下子 跳出黑棋获胜 判断黑方是否胜出 是 判断该位是否 图 3-1程序总体图 白(黑)方下子 是 白(黑)子在水平方向是否大于4 白(黑)方获胜 否 白(黑)子在垂直方向是否大于4 是 进入选择是否重新开局框 白(黑)方获胜 否 是 白(黑)子在正对角线方向是否大于4 白(黑)方获胜 否 是 白(黑)子在反对角线方向是否大于4 白(黑)方获胜 否 黑(白)方下子 图3-2算法流程图 3.3 软件中实现各项功能的函数与程序代码 主要函数、结构体和链表 Int a; //纪录坐标位置 Int b; //纪录坐标位置 Char achBoard[i][j],//用于在【a】【b】处落子 chSort;; //棋子的类别 Int nWin ////赢棋的次数 类的使用: class CGobang {private: char chSort; //棋子的类别 int nWin; //赢棋的次数 int nLose; //输棋的次数 static int nDraw; //平局次数 public: static char achBoard[19][19]; //棋盘 static int nSize; //棋盘的尺寸nSize*nSize CGobang(char chsort) //构造函数,决定一方棋子的类别 { chSort=chsort; nWin=nLose=nDraw=0; } friend void huiqi(); //悔棋 static void savefile(); //将棋盘保存至文件 static void readBoard(); //从文件中读入棋盘 void continute(); //接着上次的游戏玩 void PlayTurn(void); //走一步棋 int Judge(); //判断是否连成五子,是则返回1 void Win(void); //赢棋 void Lose(void); //输棋 static void Draw(void); //平局 void PrintInfo(void); //打印总体情况 static void PrintBoard(void); //输出棋盘 static int GetFull(void); //判断棋盘是否一满 static void InitialBoard(void); //初始化棋盘 };} 本次程序设计主要设计了五个模块 1.绘制棋盘模块 当游戏初始化时,和每当落子消息触发时,都需要对棋盘进行重绘。这里用特殊符号“o”“@”分别来描绘白子、黑子。这个函数主要完成了以下工作: ●装载棋盘二位数组并进行绘制。 ●根据棋盘数据绘制棋子。 ●绘制最后落子指示规矩。 绘制棋牌;定义变量i,j i=0;i++ j>nSize退出循环 i>nSize退出循环 i<nSize j=0;j++ 判断:a=i&&=j 判断:achBoard[i][j]=0 No Yes 输出“ ” No Yes “ + ” 判断:achBoard[i][j]=0 输出 No Yes “ 输出 ” “ 输出 ” 完成扫描1行;输出换行符 棋盘绘制结束 图3-3 2.键盘操作控制模块 此模块主要用于处理与用户的交互过程。即完成落子判断过程。 此模块主要完成以下工作: ● 判断是否在棋盘内按落子键,和移动是否超出棋盘范围。 ● 判断落子点是否已有棋子。 3.判断胜负模块 这是游戏中一个极其重要的算法,用来判断当前棋盘的形势是哪一方获胜。五子棋的胜负,在于判断棋盘上是否有一个点,从这个点开始的右、下、右下、左下四个方向是否有连续的五个同色棋子出现,如图: 图 3-5判断胜负方向 这个算法是本系统里的nWin成员函数。需要它接受一个棋子颜色的参数,然后返回一个布尔值,这个值指示是否胜利。 1).横向判断流程图“——” 定义变量:lint i,j,k//控制循环变量 int k=0, 循环控制列:j=0,j++ j>=nSize J, j<nSize 循环控制列:i=0,j++ IiIIi i>=nSize 输出结果;nWin=output(k,nWin) i<nSize 循环控制 5:k=0,k++ k>=5 k<5 achBoard[1][1+k] =1 achBoard[1] [i+k] =2 k++ k++ 图3-6 循环控制 5:k=0;k++ K>5 k>=5 Name[1+k][j]=1 Name[i+k][1]=2 k++ k++ 2).竖向判断流程图“|” 3).从左到右斜方向“\” 循环控制 5:k=0;k++ K>5 k>=5 Name[1+k][j-k]=1 Name[i+k][j-k]=2 k++ k ++ 图3-8 4) .从右到左斜方向“/” 循环控制 5:k=0;k++ k>5 k>=5 Name[1+k][j-k]=1 Name[i+k][j-k]=2 k++ k++ 图3-9 图3-9 4.重置棋盘模块 在每局游戏开始的时候都需要调用这个函数InitialBoard(void)将棋盘初始化,也就是棋盘的初始化工作。在这个函数中,主要发生了这么几件事情: ●将achBoard[N][N]中每一个落子位都置为无子状态(0)。 ●默认的先手顺序是黑子先手,置player=1。 5.游戏结束模块 这一模块主要用于释放内存,用输出流语句输出结束信息,并控制循环退出程序。 第四章 程序运行环境说明 4.1 程序运行环境说明及出现的问题 该程序可以实现对学生信息的录入和显示,可以采用Dev-c或者Visual C++ 运行,可以实现简单的界面化,使程序方便使用和修改。 4.2 运行结果 软件使用结果 1.进入游戏→主界面 图4-1 2.点击1→开始游戏 图4-2 3.继续点击1或2→游戏过程中 图4-3 4.判断胜负 图4-4 5.在主界面中点击0→退出游戏 图4-6 第五章 课程设计心得与体会 课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C++语言又是最常见,功能最强大的一种高级语言,因此做好C++语言课程设计是十分必要的。 通过几周的课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做这么长的程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。 我做的是五子棋设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。更加是第一次做课程设计,所以做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。 开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多功能上的欠缺和漏洞,可我还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C++语言的一次实践作业,自己进步的证明。 在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前! 附录1:参考文献 1、谭浩强 著.C++程序设计教程.清华大学出版社 2、陈维兴 林小茶 编著.C++面向对象程序设计.中国铁道出版社 3、田淑清, C语言程序设计,北京:高等教育出版社,2006年1月 4、David J.Kruglinski,Scot Wingo,George Shepherd,Visual C++6.0技术内幕(第五版),希望图书室译,北京:北京希望电子出版社,2001 年1月 源程序: #include <iostream> #include <string> #include <fstream> #include <iomanip> int a[90],b[90]; //定义全局数组 int k=0; using namespace std; class CGobang //棋子类 { private: char chSort; //棋子的类别 int nWin; //赢棋的次数 int nLose; //输棋的次数 static int nDraw; //平局次数 public: static char achBoard[19][19]; //棋盘 static int nSize; //棋盘的尺寸nSize*nSize CGobang(char chsort) //构造函数,决定一方棋子的类别 { chSort=chsort; nWin=nLose=nDraw=0; } friend void huiqi(); //悔棋 static void savefile(); //将棋盘保存至文件 static void readBoard(); //从文件中读入棋盘 void continute(); //接着上次的游戏玩 void PlayTurn(void); //走一步棋 int Judge(); //判断是否连成五子,是则返回1 void Win(void); //赢棋 void Lose(void); //输棋 static void Draw(void); //平局 void PrintInfo(void); //打印总体情况 static void PrintBoard(void); //输出棋盘 static int GetFull(void); //判断棋盘是否一满 static void InitialBoard(void); //初始化棋盘 }; char CGobang::achBoard[19][19]; int CGobang::nSize=0; int CGobang::nDraw=0; void CGobang::Draw() { cout<<"\n\n\t\t平局!\n\n"; nDraw++; } void CGobang::InitialBoard() //初始化棋盘 { for(int i=0;i<nSize;i++) for(int j=0;j<nSize;j++) achBoard[i][j]=' '; } void CGobang::PrintBoard() //输出棋盘 { int i,j; cout<<endl; cout<<setw(5)<<endl; for(i=1;i<=nSize;i++) { cout<<setw(4)<<i; } cout<<endl; for(i=0;i<nSize;i++) { cout<<setw(3)<<endl; cout<<i+1; for(j=0;j<nSize;j++) cout<<achBoard[i][j]<<" | "; cout<<endl; } } int CGobang::GetFull() //判断棋盘是否一满,若是返回1 { for(int i=0;i<nSize;i++) for(int j=0;j<nSize;j++) if(achBoard[i][j]==' ') return 0; return 1; } void CGobang::Win() //赢棋 { cout<<"\n\n\t\t"<<chSort<<"方获胜!\n\n"; nWin++; } void CGobang::savefile() //将棋盘保存至文件 { ofstream outfile("C++.txt",ios::out); if(!outfile) {cerr<<"open file error!"<<endl; exit(1); } for(int i=0;i<nSize;i++) for(int j=0;j<nSize;j++) outfile.write((char *) &achBoard[i][j],sizeof(achBoard[i][j])); outfile.close(); } void CGobang::Lose() //输棋 { nLose++; } void CGobang::PlayTurn(void) //走一步棋 { int nRow,nCol; char choice1,choice2; do { cout<<"\t现在该"<<chSort<<"方下棋,请输入棋盘坐标(x,y):"; cin>>nRow>>nCol; if(nRow>nSize||nCol>nSize) cout<<"\t输入的坐标越界,x与y的范围应小于等于"<<nSize<<",请重新输入\n"; else if(nRow>0&&nCol>0&&achBoard[nRow-1][nCol-1]!=' ') cout<<"\t棋盘("<<nRow<<","<<nCol<<")处已有棋子,请重新输入\n"; else if(nRow==-1) huiqi(); else if(nRow==0&&nCol==0) { cout<<"\t确认你想结束游戏吗(y,n)?"; cin.get(); cin>>choice1; if(choice1=='y'||choice1=='Y') { cout<<"\t是否保存(y,n)?:"; cin.get(); cin>>choice2; if(choice2=='y'||choice2=='Y') { CGobang::savefile(); cout<<"\t保存成功,欢迎下次再玩!\n"; exit(1); } else { cout<<"\t游戏结束,欢迎再次使用五子棋游戏!"; cout<<endl; exit(0); } } } else { achBoard[nRow-1][nCol-1]=chSort; a[k]=nRow-1; b[k]=nCol-1; k++; break; } }while(1); } int CGobang::Judge() //判断是否连成五子,是则返回1 { int i,j; for(i=0;i<nSize;i++) for(j=0;j<nSize;j++) { if(achBoard[i][j]==chSort) { if(j+4<nSize) { if(achBoard[i][j+1]==chSort&&achBoard[i][j+2]==chSort&&achBoard[i][j+3]==chSort&&achBoard[i][j+4]==chSort) return 1; } if(i+4<nSize) { if(achBoard[i+1][j]==chSort&&achBoard[i+2][j]==chSort&&achBoard[i+3][j]==chSort&&achBoard[i+4][j]==chSort) return 1; } if(i+4<nSize&&j+4<nSize) { if(achBoard[i+1][j+1]==chSort&&achBoard[i+2][j+2]==chSort&&achBoard[i+3][j+3]==chSort&&achBoard[i+4][j+4]==chSort) return 1; } if(i-4>0&&j+4<nSize) { if(achBoard[i-1][j+1]==chSort&&achBoard[i-2][j+2]==chSort&&achBoard[i-3][j+3]==chSort&&achBoard[i-4][j+4]==chSort) return 1; } } } return 0; } void CGobang::PrintInfo(void) //打印总体情况 { cout<<"Size"<<chSort<<"方共计赢"<<nWin<<"局,输"<<nLose<<"局,平"<<nDraw<<"局。"<<endl; } void CGobang::readBoard() //以二进制形式从文件中读出棋盘 { ifstream infile("C++.txt",ios::in); if(!infile) { cerr<<"open file eror!"<<endl; exit(1); } else { for(int i=0;i<nSize;i++) for(int j=0;j<nSize;j++) infile.read((char *) &achBoard[i][j],sizeof(achBoard[i][j])); infile.close(); } } void huiqi() //悔棋 { k--; CGobang::achBoard[a[k]][b[k]]=' '; k--; CGobang::achBoard[a[k]][b[k]]=' '; CGobang::PrintBoard(); } void PrintRule(void) //打印游戏规则 { cout<<"\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n"; cout<<"\t\t欢迎使用五子连珠游戏!"<<endl<<endl; cout<<"\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n"; cout<<"\t游戏规则:"<<endl; cout<<"\t1.每1步输入要下棋子的格子的x,y坐标,按Enter键\n"; cout<<"\t2.有1方首先5个棋子连成一线即判获胜\n"; cout<<"\t3.当旗子布满棋盘但仍无获胜方即为平局\n"; cout<<"\t4.一局结束后,若想继续按Y键,若退出则按其他键\n"; cout<<"\t5.若想中途退出游戏,请输入(0,0),再按照提示保存游戏\n"; cout<<"\t6.悔棋请输入(-1,0)\n"; cout<<"\t6.X方先行\n"; cout<<"\n\n\t\t请按任意键开始下棋!\n\n"; } int JudgePlay(CGobang &SideX,CGobang &SideO) //每下一步要进行输赢的判断,有赢的则返回1 { if(SideX.Judge()) //X方获胜 { SideX.Win(); SideO.Lose(); return 1; } else if(SideO.Judge()) //O方获胜 { SideO.Win(); SideX.Lose(); return 1; } else return 0; } void Play(CGobang &SideX,CGobang &SideO) //开始一局游戏 { while(1) { system("cls"); cout<<"\t*************************************************\n"; cout<<"\t\t※.悔棋请输入(-1,0)\n"; cout<<"\t\t※.中途退出请输出(0,0),并根据提示保存\n"; cout<<"\t*************************************************\n"; CGobang::PrintBoard(); //输出棋盘 SideX.PlayTurn(); //X方下棋 if(JudgePlay(SideX,SideO)) //判断输赢 break; if(CGobang::GetFull()) //判断是否平局 { CGobang::Draw(); break; } system("cls"); //清屏 cout<<"\t*************************************************\n"; cout<<"\t\t※.悔棋请输入(-1,0)\n"; cout<<"\t\t※.中途退出请输出(0,0),并根据提示保存\n"; cout<<"\t*************************************************\n"; CGobang::PrintBoard(); //输出棋盘 SideO.PlayTurn(); //O方下棋 if(JudgePlay(SideX,SideO)) //判断输赢 break; if(CGobang::GetFull()) //判断是否平局 { CGobang::Draw(); break; } } } void continute() //接着上次的游戏玩 { char str; cin.get(); cout<<"\t你是否接着玩上一次的游戏(y/n)?:"; cin>>str; if(str=='Y'||str=='y') CGobang::readBoard(); else cout<<"\t请玩新游戏~~~~~\n"; } int main(void) { CGobang SideX('@'),SideO('O'); //定义两个旗子类对象,分别代表X方与O方 system("cls"); PrintRule(); cin.get(); string strChoice; do { cout<<"请选择棋盘大小(10~19):"; cin>>CGobang::nSize; cout<<endl; if(CGobang::nSize>19||CGobang::nSize<10) { cout<<"请重新输入:"; cin>>CGobang::nSize; cout<<endl; } else { system("PAUSE"); system(- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 五子棋 c+ 课程设计
咨信网温馨提示:
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。
关于本文