中国矿业大学软件课程设计报告
软件课程设计 第四阶段实验报告
软件课程设计第四阶段实验报告编号:()字号《软件课程设计》报告中国矿业大学计算机科学与技术学院年月1软件课程设计任务书专业年级:学生姓名:任务下达日期: 200 年月日课程设计日期: 200 年月日至 200年月日课程设计题目:数据结构类别数据结构题目序号 1顺序栈和链表栈的基本操作5 统计选票问题成绩2软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月3日目录七、数据结构1----- 顺序栈和链表栈的基本操作(第四阶段第一题顺序栈和链表栈.cpp)7.1 需求分析 (4)7.2 概要设计....................................................................................5 7.3 详细设计与编码...........................................................................6 7.4 调试分析....................................................................................14 7.5 用户使用说明............................................................................16 7.6 设计心得 (16)八、数据结构4----统计选票问题(第四阶段第四题统计选票问题.cpp)8.1 需求分析 (17)8.2 概要设计....................................................................................17 8.3 详细设计与编码...........................................................................17 8.4 调试分析....................................................................................20 8.5 用户使用说明...........................................................................21 8.6 设计心得 (21)7.1需求分析本程序是通过类的构造方法编写两种栈:顺序表栈和链表栈,以这顺序表和单向链表为基本构架,实现栈的基本操作:判空、.取栈顶元素、查找、.入栈、出栈、输出栈、求栈中元素个数。
龙纯鹏组《软件工程导轮》实验报告系统设计
中国矿业大学(北京)软件工程导论实验报告课程名称:软件工程导论实验名称:银行计算机储蓄系统设计说明书班级:信息与计算科学(1)班组长:龙纯鹏组员:代喜白鑫刘永鸿侯佳意实验日期: 2014年4月9日指导老师姓名:王颖组内任务分配:龙纯鹏11107200110组长、主要负责可行性分析报告和需求分析报告代喜 11107200103 主要负责系统设计白鑫 11107200101 刘永鸿11107200210 主要负责编写代码侯佳意11107200106主要负责用户手册目录1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2总体设计 (2)2.1需求规定 (2)2.2运行环境 (2)2.3基本设计概念和处理流程 (3)2.4结构 (3)2.5功能器求与程序的关系 (3)2.6人工处理过程 (3)2.7尚未问决的问题 (3)3接口设计 (3)3.1用户接口 (3)3.2外部接口 (3)3.3内部接口 (4)4运行设计 (4)4.1运行模块组合 (4)4.2运行控制 (4)4.3运行时间 (4)5系统数据结构设计 (4)5.1逻辑结构设计要点 (4)5.2物理结构设计要点 (4)5.3数据结构与程序的关系 (4)6系统出错处理设计 (5)6.1出错信息 (5)6.2补救措施 (5)6.3系统维护设计 (5)系统设计说明书1引言1.1编写目的在现代化社会中随着银行业的激烈竞争,如何更好的提高办事效率,降低成本,提高银行系统的电算化及现代化程度,充分满足客户的需求,提供更优质高效的服务,成为各银行正向追逐的目标。
因此,开发一套方便快捷,高效实用,安全稳定的银行储蓄系统软件,便成了银行的当务之急。
它的意义也就显得尤为重要了。
过去落后的银行操作系统已经不适应现代社会的需求了,伴随着银行业激烈的竞争,急需出现一套更符合银行需要的新一代银行储蓄系统。
1.2背景项目名称:银行计算机储蓄系统开发者:计041软件工程第一小组用户:××银行背景:为了以更高的服务质量让储户满意,提高业务效率,强调资金安全,完善风险防范意识,特此开发一套新的银行计算机存储系统。
中国矿业大学测绘软件实习报告材料
中国矿业大学测绘软件设计与实现实验报告学号:姓名:班级:指导教师:王永波实验一二叉树的构建及其遍历算法的实现实验目的:完成二叉树的构建以及二叉树的遍历等,加深对树以及二叉树的遍历相关知识的理解。
实验内容:1.二叉树类的定义及建立。
2.二叉树的前序、中序、后序遍历。
主要代码:template <class T>class C_LJH_BinTree{public:C_LJH_BinTree();//构造函数,根据输入前序序列由键盘输入~C_LJH_BinTree();//析构函数void PreOrder();//前序遍历void InOrder();//中序遍历void PostOrder();//后序遍历private:T data;C_LJH_BinTree<T>*lchild,*rchild;bool NO_Die;};template <class T>C_LJH_BinTree<T>::C_LJH_BinTree(){NO_Die = false;lchild = NULL;rchild = NULL;char ch;cin>>ch;if (ch == '#'){NO_Die = true;//若为#,代表空节点}else{this->data = ch;//保存输入的节点//左子树C_LJH_BinTree *newChild0 = new C_LJH_BinTree<T>();if (newChild0->NO_Die)delete newChild0;elsethis->lchild= newChild0;//右子树C_LJH_BinTree *newChild1 = new C_LJH_BinTree<T>();//直接创建子节点,if (newChild1->NO_Die)delete newChild1;elsethis->rchild= newChild1;}}//析构函数template <class T>C_LJH_BinTree<T>::~C_LJH_BinTree(){if (lchild) delete lchild; //删除父节点之前,先删除子节点if (rchild) delete rchild;}//前序遍历template <class T>void C_LJH_BinTree<T>::PreOrder(){cout<<this->data<<"\t";//先输出父节点,然后子节点按照父节点做if (lchild!=NULL)this->lchild->PreOrder();if (rchild!=NULL)this->rchild->PreOrder();}//中序遍历template <class T>void C_LJH_BinTree<T>::InOrder(){if (lchild) lchild->InOrder();cout<<this->data<<"\t";if (rchild) rchild->InOrder();}//后序遍历template <class T>void C_LJH_BinTree<T>::PostOrder(){if (lchild) lchild->PostOrder();if (rchild) rchild->PostOrder();cout<<this->data<<"\t";}int main(){cout<<"请输入二叉树的前序遍历:"<<endl;cout<<"(以#作为分支结尾,例如:A B # # C # #)"<<endl;C_LJH_BinTree<char> m_tree;cout<<endl;cout<<"前序遍历为:"<<endl;m_tree.PreOrder();cout<<endl;cout<<"中序遍历为:"<<endl;m_tree.InOrder();cout<<endl;cout<<"后序遍历为:"<<endl;m_tree.PostOrder();cout<<endl;return 0;}实验结果:实验体会:通过本次试验,理解了二叉树类的构建、二叉树的建立及其遍历。
软件课程设计报告
软件课程设计报告目的通过本课程设计实习,使学生在下列方面有所了解和提高:1、掌握Visual Basic进行程序设计的基本思路和方法2、能利用Visual Basic编程实现简单的任务3、结合控制系统理论用VB进行计算机控制仿真1.设计内容1、对一阶系统实现PID算法控制并进行仿真,具体功能如下:1)基本要求:实现PID算法和一阶系统差分方程仿真,PID算法中的四个参数和一阶系统的参数都可以通过菜单进行设定,系统对阶越函数的响应以图形方式实时显示在窗口中。
2)附加功能:将系统的时间响应数据保存到数据库中,具体应包括下列属性:时间,输出值。
将系统的历史响应重现。
使用Teechart控件作为显示输出。
2.要求1、上机实习期间严格教学次序,不迟到,不早退,不无故缺席。
2、严格遵守机房规章制度。
3、上机前做好预习,提高上机效率。
4、完成实习报告。
实习报告书写整洁,条理清楚。
4. 计划进度整个课程设计总共一周,时间分配如下:1、熟悉了解Visual Basic,主要包括VB语言、界面设计、绘图功能、数据库访问技术、ActiveX控件的注册和使用。
2、回顾控制系统原理中的PID算法及PID算法的数字化。
3、实现PID算法对一阶系统的控制并显示系统的时间响应。
4、将系统的时间响应数据存储到数据库中,然后重现整个响应。
五.实验基本思想与数学实现1、数字PID 及其算法在模拟系统中,PID 算法的表达式为])()(1)([)(⎰++=dtt de T dt t e T t e K t P D I P (1) 式中 P(t):调节器的输出信号e(t):调节器的偏差信号,等于测量值与给定值之差P K :调节器的比例系数I T :调节器的积分时间D T :调节器的微分时间由于计算机控制是一种采样控制,只能根据采样时刻的偏差来计算控制量。
因此,在计算机控制系统中,必须对式(1)进行离散化处理,用数字形式的差分方程代替连续系统的微分方程,此时积分项和微分项可用求和及增量式表示:∑⎰∑===∆=nj nn j j E T t j E dt t e 000)()()( (2) Tk E k E t k E k E dt t de )1()()1()()(--=∆--≈ (3) 将式(2)、(3)代入式(1),则可得到离散的PID 表达式:})]1()([)()({)(0∑=--++=k j D I P k E k E TT j E T T k E K k P (4) 式中T t =∆:采样周期,必须使T 足够小,才能保证系统有一定的精度;)(k E :第k 次采样时的偏差值;)1(-k E :第(k -1)次采样时的偏差值;k :采样序号,,...2,1,0=k )(k P :第k 次采样时调节器的输出由于(4)的输出值与阀门开度的位置一一对应,因此,通常把(4)称为位置型PID 的位置控制算式。
软件工程课程设计报告.doc
软件工程课程设计报告.doc一、课程目标知识目标:1. 让学生掌握软件工程的基本概念、原理和方法,理解软件生命周期各阶段的目标和任务。
2. 使学生了解软件需求分析、设计、编码、测试和维护等环节的相关知识。
3. 帮助学生掌握软件项目管理的方法和技巧,了解软件质量保证与评价标准。
技能目标:1. 培养学生运用软件工程方法进行问题分析、设计和实现的能力。
2. 提高学生团队协作和沟通能力,能够撰写规范的技术文档。
3. 培养学生运用软件工具进行项目管理和开发的能力。
情感态度价值观目标:1. 培养学生严谨、认真、负责的工作态度,养成良好的编程习惯。
2. 激发学生对软件工程的兴趣,鼓励学生积极参与课堂讨论和实践操作。
3. 培养学生的创新意识和解决问题的能力,使其具备持续学习和适应发展的素质。
课程性质:本课程为专业必修课,旨在让学生全面了解软件工程的理论体系,培养实际软件开发能力。
学生特点:学生已具备一定的编程基础,具有较强的逻辑思维能力,但缺乏实际项目经验。
教学要求:结合学生特点,注重理论与实践相结合,强调动手能力和团队协作能力的培养。
通过本课程的学习,使学生能够独立完成中小型软件项目的开发。
二、教学内容1. 软件工程基本概念:软件、软件工程、软件生命周期、软件过程模型等。
2. 需求分析:需求获取、需求分析、需求规格说明书编写。
3. 软件设计:总体设计、详细设计、设计模式、UML建模。
4. 编码与实现:编程规范、编码技巧、版本控制、调试方法。
5. 软件测试:测试基础、测试策略、测试级别、自动化测试。
6. 软件维护:维护类型、维护策略、软件演化。
7. 软件项目管理:项目管理概念、进度控制、风险管理、团队协作。
8. 软件质量保证:质量标准、质量保证方法、评审与审计。
9. 实践环节:以小组为单位,完成一个中小型软件项目的开发。
教学大纲安排:第1周:软件工程基本概念第2周:需求分析第3周:软件设计第4周:编码与实现第5周:软件测试第6周:软件维护第7周:软件项目管理第8周:软件质量保证第9-16周:实践环节教学内容关联教材章节:第1章:软件工程概述第2章:需求分析第3章:软件设计第4章:编码与实现第5章:软件测试第6章:软件维护与演化第7章:软件项目管理第8章:软件质量保证与评价实践环节:结合全书内容,进行实际项目操作。
【免费下载】中国矿业大学java 实验报告
第 1 页 共 33 页
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
矿大课程设计实习报告
矿大课程设计实习报告一、课程目标知识目标:1. 让学生掌握本年级矿物相关知识,包括矿物的分类、性质和用途;2. 帮助学生了解我国矿产资源的特点及分布情况;3. 使学生了解矿物开采与环境保护的相互关系。
技能目标:1. 培养学生运用所学知识分析、解决实际问题的能力;2. 提高学生在团队协作中沟通、交流、协作的能力;3. 培养学生独立思考、创新思维的能力。
情感态度价值观目标:1. 培养学生热爱自然、珍惜资源的态度;2. 增强学生的环保意识,使其认识到合理利用资源的重要性;3. 激发学生对地质科学的兴趣,树立科学探究的精神。
课程性质:本课程为实践性较强的课程,注重理论联系实际,通过实习报告的形式,使学生将所学知识应用于实际工作中。
学生特点:本年级学生具备一定的矿物知识基础,好奇心强,喜欢探索未知领域,具备一定的团队合作能力。
教学要求:结合学生特点,注重启发式教学,引导学生主动参与课堂讨论,提高学生的实践能力。
将课程目标分解为具体的学习成果,以便在教学过程中进行有效评估。
二、教学内容本课程教学内容主要包括以下几部分:1. 矿物基础知识:介绍矿物的定义、分类、性质及用途,涉及课本第二章内容;- 矿物的物理性质与化学成分;- 矿物的形成与分布规律;- 常见矿物的识别与应用。
2. 我国矿产资源:分析我国矿产资源的特点、分布及开发状况,涉及课本第三章内容;- 我国主要矿产地的分布;- 矿产资源的开发与利用;- 矿产资源的保护与合理利用。
3. 矿物开采与环境保护:探讨矿物开采对环境的影响及环境保护措施,涉及课本第四章内容;- 矿山开采对生态环境的影响;- 环保型矿物开采技术;- 矿山环境治理与生态修复。
4. 实践教学:组织学生进行实地考察,撰写实习报告,提高学生的实践能力;- 实地考察矿物产地,了解开采过程;- 分析矿产资源开发对当地经济和环境的影响;- 撰写实习报告,总结学习成果。
教学内容安排与进度:共8课时,第1-2课时学习矿物基础知识,第3-4课时了解我国矿产资源,第5-6课时探讨矿物开采与环境保护,最后2课时进行实践教学。
软件课程设计实验报告(3篇)
软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。
是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。
【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。
二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。
详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。
三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。
软件课程设计报告
编号:()字号《软件课程设计》报告班级:姓名:学号:指导老师:中国矿业大学计算机科学与技术学院2012年10月软件课程设计任务书专业年级:学生姓名:任务下达日期:2012 年10 月12 日课程设计日期:2012 年10 月12 日至2012年10 月19 日课程设计题目:面向过程类别题目序号成绩面向过程 1.编程序用迭代法求a的立方根2. 求正整数n与其反序数之和并输出3. 求Fibonacci数列第n项4.最少张数的人民币纸币,凑成钱数m5.编程序计算出指定某一年的某一天是星期几。
软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日目录一、面向过程设计题1 ------编程序用迭代法求a的立方根1. 1.1 需求分析 (5)2. 1.2 概要设计 (5)3. 1.3 设计流程图 (5)4. 1.4 调试分析 (5)5. 1.5 用户使用说明 (6)6. 1.6 设计心得 (6)二、面向过程设计题2------求正整数n与其反序数之和并输出2.1 需求分析 (6)2.2 概要设计 (6)2.4 设计流程图 (7)2.5 调试分析 (8)2.6 用户使用说明 (8)2.7 设计心得 (8)三、面向过程设计题3------最少张数的人民币纸币,凑成钱数m2.1 需求分析 (6)2.2 概要设计 (6)2.4 设计流程图 (7)2.5 调试分析 (8)2.6 用户使用说明 (8)2.7 设计心得 (8)四、面向过程设计题4------编程序计算出指定某一年的某一天是星期几3.1 需求分析 (7)3.2 概要设计 (7)3.3 调试分析 (7)3.4 用户使用说明 (8)3.5 设计心得 (8)三、面向对象设计题3------求Fibonacci数列第n项3.1 需求分析 (7)3.2 概要设计 (7)3.3 调试分析 (7)3.4 用户使用说明 (8)3.5 设计心得 (8)四、4.1 需求分析 (8)4.2 概要设计 (9)4.3 调试分析 (9)4.4 用户使用说明 (10)4.5 设计心得 (10)一、面向过程设计题1 ------编程序用迭代法求a的立方根1.1需求分析:编程序用迭代法求a的立方根,假定X的初值为a,迭代到|Xi+1-Xi|<10的-5次方为止. 显示a=3,27的值,并通过调用pow(a,1.0/3)函数加以验证.。
软件课程设计总结报告
编号:()字号《软件课程设计》报告班级:信科07-3班姓名:郑志安学号:08073625讲师:葛欣中国矿业大学计算机科学与技术学院2008年11 月软件课程设计任务书专业年级:电子信息科学与技术2007级学生姓名:郑志安任务下达日期:2008年11月14日课程设计日期:2008年11月14日至2009年1月4日课程设计题目:类别题目序号面向过程1,2,3,4,5,7,面向对象1,2,3,4,5,6,图形界面 1数据结构1,2,3,4软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日目录==============================第一部分基础题1面向过程第3题:使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项显示在屏幕上 (7)1.1 需求分析 (1)1.2 概要设计 (1)1.3 详细设计与编码 (1)1.4 调试分析 (2)1.5 用户使用说明 (3)1.6 设计心得 (3)第7题 (3)2.1需求分析 (3)2.2 概要设计 (3)2.3 详细设计与编码 (4)2.4 调试分析 (4)2.5 用户使用说明 (5)2.6 设计心得 (5)2面向对象第3题利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。
(5)3.1需求分析 (5)3.2 概要设计 (5)3.3 详细设计与编码 (6)3.4 调试分析 (6)3.5 用户使用说明 (7)3.6 设计心得 (7)第8题编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:姓名,单位,家庭电话,移动电话,并包含保存、输出、查询、修改等功能 (7)4.1需求分析 (7)4.3 详细设计与编码 (8)4.4 调试分析 (8)4.5 用户使用说明 (9)4.6 设计心得 (10)3可视化编程第1题实现计算器编程。
中国矿大2013 测绘软件设计与实现实习报告
测绘软件设计与实现实习报告班级:测绘11-3班姓名:王名亿学号:07113023实验名称:线性表类的设计与实现一、实验目的通过上机实践,强化课堂有关线性表的教学内容,通过动手编程实现线性表类的设计,并通过实例验证类的实例化效果及其相关应用,达到对课堂所学内容的深刻掌握。
二、实验内容利用C++语言编程分别实现线性表的顺序存储与链式存储三、关键问题描述及其实现代码关键问题描述:使用建立C++程序的方法应用模版类来描述线性表抽象数据类型;顺序表是一个有限的数据集合;实现对顺序表的排序、插入、删除和复制操作;实现顺序表的动态存储和动态记录扩充后的顺序,可以提高结构的灵活性。
实现代码:头文件部分:// MySeqList.h: interface for the CMySeqList class.//////////////////////////////////////////////// //////////////////////#if !defined(AFX_MYSEQLIST_H__22AFE5A1_ 96F2_480A_B8EA_351E1DF49CF7__INCLUDE D_)#defineAFX_MYSEQLIST_H__22AFE5A1_96F2_480A_ B8EA_351E1DF49CF7__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000class CMySeqList{public://构造函数、析构函数CMySeqList();virtual ~CMySeqList();explicit CMySeqList(int size);public: // 复制构造函数、赋值运算CMySeqList(const CMySeqList& sl);CMySeqList& operator=(const CMySeqList& sl);public: // 成员函数int Length( ) const;int Find(int& x) const; //查找int Locate(int i) const; //定位int Insert(int& x, int i ); //插入int Remove(int& x ); //删除int Next(int& x ) ; //后继int Prior(int& x ); //前驱bool IsEmpty( );bool IsFull ( );int Get(int i); //提取private: // 成员变量int * _data;int _curSize;int _maxSize;};#endif// !defined(AFX_MYSEQLIST_H__22AFE5A1_9 6F2_480A_B8EA_351E1DF49CF7__INCLUDED _)顺序表类的部分:// MySeqList.cpp: implementation of the CMySeqList class.////////////////////////////////////////////////// //////////////////////#include "stdafx.h"#include "MySeqList.h"#include<iostream>using namespace std;//////////////////////////////////////////////// //////////////////////// Construction/Destruction//////////////////////////////////////////////// //////////////////////CMySeqList::CMySeqList(): _data(NULL), _curSize(0), _maxSize(0){}CMySeqList::CMySeqList(int size): _curSize(0) , _maxSize(size){_data = new int[size];}//析构函数CMySeqList::~CMySeqList(){if (NULL != _data)delete [] _data;}//复制构造函数CMySeqList::CMySeqList(const CMySeqList& sl){_data = new int[sl._maxSize];for (int i = 0; i < sl._curSize; i++){int x = sl._data[i];_data[i] = x;}//_data = sl._data;_curSize = sl._curSize;_maxSize = sl._maxSize;}// 赋值运算符CMySeqList& CMySeqList::operator=(const CMySeqList& sl){if (&sl == this)return *this;_data = sl._data;_curSize = sl._curSize;_maxSize = sl._maxSize;return *this;}int CMySeqList::Length() const{return _curSize;}int CMySeqList::Find(int& x) const //查找{for (int i = 0; i < _maxSize; ++i)if (_data[i] == x)return i;return -1;}int CMySeqList::Locate(int i) const //定位{return _data[i];}int CMySeqList::Insert(int& x, int i ) //插入{if (_curSize == _maxSize)return -1;if ((i < 0) || (i > _maxSize - 1))return -1;for (int j = _curSize; j >= i + 1; --j)_data[j] = _data[j-1];_data[i] = x;_curSize++;return 1;}int CMySeqList::Remove(int& x ) //删除{int isDel = 0; // 标志删除是否成功for (int i = 0; i < _curSize; ++i){if (_data[i] == x){for (int j = i + 1; j < _curSize; j++){_data[j - 1] = _data[j];}_curSize--;isDel = 1;}}return isDel;}int CMySeqList::Next(int& x ) //后继{for (int i = 0; i < _curSize; ++i){if (_data[i] == x){return ((i+1) >= _curSize) ? -1: i+1;}}return -1;}int CMySeqList::Prior(int& x ) //前驱{for (int i = 0; i < _curSize; ++i){if (_data[i] == x){return ((i-1) <= 0) ? -1: i-1;}}return -1;}bool CMySeqList::IsEmpty( ){return (_curSize == 0);}bool CMySeqList::IsFull ( ){return (_curSize == _maxSize);}int CMySeqList::Get (int i) //提取{return (i < 0 || i >= _curSize) ? -10000: _data[i];}函数实现部分:// WMY_MySeqList.cpp : Defines the entry point for the console application.#include "stdafx.h"#include"MySeqList.h"#include <iostream>using namespace std;int main(int argc, char* argv[]){CMySeqList sl(100);for (int i = 0; i < 10; i++){int x = i-4;sl.Insert(x, i);}cout<<"输出线性表:"<<endl;cout << "MySeqList:\n";for (int j = 0; j < sl.Length(); ++j)cout << sl.Get(j) << " ";cout << endl;cout<<"输出插入一个数的线性表:"<<endl;int x = 5;sl.Insert(x, 2);cout << "MySeqList:\n";for (j = 0; j < sl.Length(); ++j)cout << sl.Get(j) << " ";cout << endl;cout<<"输出删除一个数的线性表:"<<endl;sl.Remove(x);cout << "MySeqList:\n";for (j = 0; j < sl.Length(); ++j)cout << sl.Get(j) << " ";cout << endl;CMySeqList sl2(sl);cout<<"输出线性表的copy:"<<endl;cout << "MySeqList2:\n";for (j = 0; j < sl2.Length(); ++j)cout << sl2.Get(j) << " ";cout << endl;return 0;}四、算法测试数据及其运行结果五、实验小结(问题及心得)说实话,以前的C++学的很烂,基本上就是个小白。
软件课程设计报告
编号:()字号《软件课程设计》报告班级:姓名学号:指导老师:中国矿业大学计算机科学与技术学院年月软件课程设计任务书专业年级:计算机科学与技术计科10-2班学生姓名:王宏武任务下达日期:200 年月日课程设计日期:200 年月日至200年月日课程设计题目:面向过程软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日目录一、面向过程设计题5-------判断日期与星期(sy5.cpp)1.1 需求分析 (9)1.2 概要设计 (10)1.3 详细设计与编码 (11)1.4 调试分析 (13)1.5 用户使用说明 (13)1.6 设计心得 (13)二、面向过程设计题8------8:加减乘除(sy8.cpp)2.1 需求分析 (13)2.2 概要设计 (14)2.3 详细设计与编码 (16)2.4 调试分析 (17)2.5 用户使用说明 (17)2.6 设计心得 (17)三、面向对象设计题3------用三种方法通过虚函数求Fibonacci数列(mianxiangduixiang3.cpp)3.1 需求分析 (17)3.2 概要设计 (19)3.3 详细设计与编码 (21)3.4 调试分析 (22)3.5 用户使用说明 (22)3.6 设计心得 (22)四、面向过程设计题7---------关于磁盘文档的输入输出(miangxiangduixiang7.cpp)4.1 需求分析 (22)4.2 概要设计 (23)4.3 详细设计与编码 (25)4.4 调试分析 (25)4.5 用户使用说明 (25)4.6 设计心得 (25)五、图形界面1---------计算器(计算器.rar)5.1 需求分析……………………………………………………………………… .265.2 概要设计 (26)5.3 详细设计与编码 (28)5.4调试分析 (28)5.5 用户使用说明 (29)5.6 设计心得 (29)六、数据结构2------删除结点p 的前趋结点(数据结构2.cpp)6.1 需求分析 (30)6.2 概要设计 (30)6.3 详细设计与编码 (34)6.4 调试分析 (35)6.5 用户使用说明 (35)6.6 设计心得 (35)七、数据结构4--------统计选票(数据结构3.cpp)7.需求分析 (36)7.概要设计 (37)7.详细设计与编码 (39)7.调试分析 (41)7.用户使用说明 (41)7.设计心得 (41)八、课程设计总结 (42)一面向过程程序设计面向过程程序设计题3—Fibonacci数列1.1 需求分析 (9)该程序是用“数据平移”的方法来求出Fibonacci数列的第n项(的具体项值)并显示在屏幕上(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是"距它最近"的前两项(old1与old2)的累加和。
中国矿业大学软件课程设计报告
编号:()字号《软件课程设计》报告班级:计科09-1姓名:禹勇学号: 08093343指导老师:张振环 ____中国矿业大学计算机科学与技术学院2010 年12 月软件课程设计任务书专业年级:计科09-1学生姓名:禹勇任务下达日期:2010 年10 月11 日课程设计日期:2010 年10月11 日至2010年12 月16 日课程设计题目:类别题目序号成绩面向过程2、7、面向对象2、5、图形界面1、数据结构1、2软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日目录一、面向过程设计题2-------编程序,从键盘输入正整数n,求出n与其反序数之和并输出(第一阶段第二题.cpp)1.1 需求分析 (9)1.2 概要设计 (10)1.3 详细设计与编码 (11)1.4 调试分析 (13)1.5 用户使用说明 (13)1.6 设计心得 (13)二、面向过程设计题7------将输入的罗马数据化为10进制数(第一阶段第七题.cpp)2.1 需求分析 (13)2.2 概要设计 (14)2.3 详细设计与编码 (16)2.4 调试分析 (17)2.5 用户使用说明 (17)2.6 设计心得 (17)三、面向对象设计题2------自定义一个简单的日期类DateType(第二阶段第二题.cpp)3.1 需求分析 (17)3.2 概要设计 (19)3.3 详细设计与编码 (21)3.4 调试分析 (22)3.5 用户使用说明 (22)3.6 设计心得 (22)四、面向过程设计题5---------设计一个类CStudent(第二阶段第五题.cpp)4.1 需求分析 (22)4.2 概要设计 (23)4.3 详细设计与编码 (25)4.4 调试分析 (25)4.5 用户使用说明 (25)4.6 设计心得 (25)五、图形界面1---------计算器(禹勇的计算器.exe)5.1 需求分析 (26)5.2 概要设计 (26)5.3 详细设计与编码 (27)5.4 调试分析 (27)5.5 用户使用说明 (28)5.6 设计心得 (29)六、数据结构1------用链表和数组两种方式分别实现栈的出栈、入栈、取栈顶元素、判空、查找等操作(第四阶段第一题.cpp)6.1 需求分析 (30)6.2 概要设计 (30)6.3 详细设计与编码 (34)6.4 调试分析 (35)6.5 用户使用说明 (35)6.6 设计心得 (35)七、数据结构2--------假设有一个循环链表的长度大于1,且表中既无头结点也无头指针(第四阶段第二题.cpp)7.需求分析 (36)7.概要设计 (37)7.详细设计与编码 (39)7.调试分析 (41)7.用户使用说明 (41)7.设计心得 (41)八、课程设计总结 (42)一、面向过程设计题21.1 需求分析:编程序,从键盘输入正整数n,求出n与其反序数之和并输出根据题目要求,规定如下:测试数据:【输入数据】:2038【输出数据】:10340【输入数据】:1234【输出数据】:55551.2 概要设计:(1)定义整形变量n为用户输入值;(2)输出反序数;(3)定义整形变量sum求和;(4)输出sum的值。
软件课程设计报告
软件课程设计报告一、课程目标知识目标:1. 让学生掌握软件设计的基本原理和方法,理解软件工程的概念和流程。
2. 使学生能够运用所学知识,结合实际需求,设计出结构合理、功能完善的软件方案。
3. 帮助学生了解软件行业的发展趋势,拓宽知识视野。
技能目标:1. 培养学生运用软件工具进行需求分析、系统设计、编码实现和测试的能力。
2. 提高学生团队协作和沟通能力,能在项目中进行有效的分工与协作。
3. 培养学生独立思考和解决问题的能力,能够针对实际问题提出创新性的解决方案。
情感态度价值观目标:1. 培养学生对软件工程的兴趣和热情,激发学生主动学习和探索的精神。
2. 培养学生具备良好的职业道德和敬业精神,关注软件行业的社会责任。
3. 增强学生的团队合作意识,学会尊重他人、倾听意见,形成积极向上的学习氛围。
课程性质分析:本课程为实践性较强的软件课程,旨在培养学生运用理论知识解决实际问题的能力。
结合学生年级特点,课程内容应以实际案例为主线,注重理论与实践相结合。
学生特点分析:学生具备一定的编程基础和软件知识,但缺乏实际项目经验。
因此,课程设计应注重培养学生的动手能力和实际操作技能。
教学要求:1. 教学过程中,教师应注重启发式教学,引导学生主动参与,提高学生的主体地位。
2. 教学内容应结合实际案例,让学生在实践中掌握理论知识,提高实际操作能力。
3. 教学评价应以学生的实际操作成果和项目完成情况为主要依据,关注学生的综合素质。
二、教学内容1. 软件需求分析:讲解需求分析的基本概念、方法和工具,结合案例进行分析,使学生掌握需求获取、需求分析、需求规格说明书编写等技能。
教材章节:第一章 软件需求分析2. 软件设计:介绍软件设计的基本原理、设计模式和方法,以实际案例为例,让学生学会软件架构设计、模块划分、接口设计等。
教材章节:第二章 软件设计3. 编码实现:讲解编程规范和技巧,指导学生运用编程工具进行代码编写,提高编程能力和代码质量。
矿大徐海软件开发基础实践报告--
for(j=0;j<3;j++)
9欢迎。下载Leabharlann 精品文档if(i==j) sum1+=a[i][j]; } printf("sum1=%d\n",sum1); printf("\n");
printf("程序八:计算 a 矩阵的副对角线元素之和\n"); /*计算 a 矩阵的副 对角线元素之和 sum2 并输出*/
6欢迎。下载
精品文档
printf("%6d",c[i][j]);} printf("\n"); } printf("\n");
printf("程序二:计算 a-b 矩阵\n"); /*计算 a-b 矩阵并输出*/ for(i=0;i<3;i++) {
for(j=0;j<3;j++) {c[i][j]=a[i][j]-b[i][j]; printf("%6d",c[i][j]);} printf("\n"); } printf("\n");
2欢迎。下载
精品文档
五、程序内容(输入输出): 运行结果如图所示:
3欢迎。下载
精品文档
4欢迎。下载
精品文档
六、数据流分析(定义的变量,类型,数组,类型,结构体):
七、程序代码分析(每个函数和代码模块的功能作用分析): #include"stdio.h" void main() {
int a[3][3],b[3][3],c[3][3], int i,j,k,s,max,min,sum1=0,sum2=0,sum3=0,sum4=0;
中国矿业大学计算机学院实验报告3-1
设置字符格式。
添加项目符号。
设置段落缩进方式。
设置行间距和段间距。
设置段落对齐方式。
设置首字下沉。
设置边框和底纹。
设置分拦。
设置页眉和页脚和页码。
页面设置。
3实验步骤
1创建一个新的文档,要求输入个自然段的文字(内容自定,可从教材中选择)。
①将全文正文的字体设为宋体、五号字。
②第一自然段的内容要短小,能反映全文主旨,并将第一自然段设为标题,也可给输入的文字添加一行标题;字体为楷体、加粗、三号字;字的颜色设为蓝色;并给标题的文字加上边底蚊。
③将第二自然段设为两端对齐,行间距设为固定值20磅。
④将第三自然段设为右缩进,并将第一个字设为“首字下沉”。
⑤将其余的段落设为首行缩进段落进行分拦设置,分为不对称的两栏。
2用word创建一个小报
4实验体会、
我掌握了文档的基本使用
中国矿业大学计算机学院实验报告
课程名称__大学计算机基础实验教程_实验名称_文档编辑和排版____
班级____环境类15-02班_____姓名_____李雪______学号____07152912_______仪器组号_12-8______实验日期____2015.10.26__
实验报告要求:1.实验目的2.实验内容3.实验步骤
4.运行结果5.流程图6.实验体会
1实验目的
掌握字符的格式化,包括字体、字形、字号、字体颜色和特殊效果的设置。
掌握段落格式的排版,包括段落缩进、段落对齐、段间距、项目符号和编号的使用以及首字下沉等的设置。
掌握分拦的排版方法。
掌握页眉、页脚的设置方法。
掌握分页和分节的设置。
2实验内容
新建文档。
保存文档。
中国矿业大学软件课程设计实验报告
编号:()字号《软件课程设计》报告班级: 12级信息安全二班*名:***学号: ********指导老师:**中国矿业大学计算机科学与技术学院2013年 6 月软件课程设计任务书专业年级:信息安全二班学生姓名:李江涛任务下达日期:2013 年 4 月日课程设计日期:2013 年 4 月5日至200年7月 3 日课程设计题目:面向过程目录一第一阶段-----------面向过程 (4)1 --------------------人民币凑数问题 (4)1.1 需求分析 (4)1.2 概要设计 (5)1.3 详细设计与编码 (5)1.5 用户使用说明 (6)1.6 设计体会 (6)2-------------------- 日期星期转换 (7)2.1.需求分析: (7)2.2 概要设计 (7)2.4.调试分析 (10)2.5.用户使用说明 (10)2.6.测试分析 (10)2.7.设计体会: (10)二第二阶段------------面向对象 (11)1--------------------学生管理系统 (11)1.1----需求分析 (11)1.2.概要设计 (11)1.3.详细设计与编码 (11)1.4 运行结果: (17)1.5调试分析 (18)1.6用户使用说明 (18)1.7测试分析: (18)1.8 实验体会 (18)2 面向对象函数模板反向输出 (19)1--------------------函数模板反向输出 (19)1.1 需求分析: (19)1.2函数模板反向输出源代码: (19)1.4 运行结果: (21)三第三部分----------可视化 (21)1--------------------计算器: (21)用你熟悉的一种可视化编程语言实现如下图所示的计算器。
该计算器需要实现基础的数学运算,如加,减,乘,除。
(21)1.1重要程序 (21)1.3运行结果图: (22)四第四部分----------数据结构 (23)1--------------------求矩阵的转置 (23)1.1 需求分析: (23)1.2 概要设计: (24)1.3 详细设计与编码: (24)1.4 运行结果: (27)1.5 用户使用: (27)1.6 设计体会: (27)2--------------------数据结构统计选票 (27)2.1 需求分析: (28)2.2 概要设计: (28)2.3 详细设计与编码: (28)2.4 运行结果: (30)2.6 用户使用: (31)2.7 设计体会: (31)五第五部分课程总结----学与做 (31)一第一阶段-----------面向过程1 --------------------人民币凑数问题1.1 需求分析程序要求:输入正整数m,它代表一个人民币钱数(元数)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:()字号《软件课程设计》报告班级:网络11-3班姓名: * * *学号: ********指导老师:闫秋艳 ____中国矿业大学计算机科学与技术学院2013 年1 月软件课程设计任务书专业年级:网络11-3班学生姓名:姜国栋任务下达日期:2012 年10 月15 日课程设计日期:2012年10月15 日至2013年01 月8 日课程设计题目:类别题目序号成绩面向过程2、4、面向对象5、图形界面1、数据结构1、2软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日目录一、面向过程设计题2-------编程序,从键盘输入正整数n,求出n与其反序数之和并输出(第一阶段2.cpp)1.1 需求分析 (6)1.2 概要设计 (6)1.3 详细设计与编码 (6)1.4 调试分析 (7)1.5 用户使用说明 (7)1.6 设计心得 (7)二、面向过程设计题4------编程序,输入正整数m,它代表一个人民币钱数(元数)。
(第一阶段4.cpp)2.1 需求分析 (7)2.2 概要设计 (8)2.3 详细设计与编码 (8)2.4 调试分析 (9)2.5 用户使用说明 (9)2.6 设计心得 (9)三、面向对象设计题5-----设计一个Cstudent类,类中包含学生的基本信息,而且要采用binary文件形式,使用随机读写处理方式对类的对象数据进行存储与读写处理。
而且要有输入函数、输出函数,而且还可以计算总成绩!(第二阶段5.cp p)3.1 需求分析 (9)3.2 概要设计 (9)3.3 详细设计与编码 (10)3.4 调试分析 (13)3.5 用户使用说明 (14)3.6 设计心得 (14)四、图形界面---------可视化编程倒序相加(第三阶段(倒序相加).cpp)4.1 需求分析 (14)4.2 概要设计 (14)4.3 详细设计与编码 (14)4.4 调试分析 (15)4.5 用户使用说明 (15)4.6 设计心得 (15)五、数据结构1-----用链表和数组两种方式分别实现栈的出栈、入栈、取栈顶元素、(第四阶段1 .cpp)5.1 需求分析 (15)5.2 概要设计 (16)5.3 详细设计与编码 (16)5.4 调试分析 (19)5.5 用户使用说明 (20)5.6 设计心得 (20)六、数据结构2--------假设有一个循环链表的长度大于1,且表中既无头结点也无头指针(第四阶段 2.cpp)6.1.需求分析 (21)6.2.概要设计 (21)6.3.详细设计与编码 (21)6.4.调试分析 (23)6.5用户使用说明 (24)6.6.设计心得………………………………………………………………………..七、课程设计总结 (24)一、面向过程设计题21.1 需求分析:编程序,从键盘输入正整数n,求出n与其反序数之和并输出根据题目要求,规定如下:测试数据:【输入数据】:2038【输出数据】:10340【输入数据】:1234【输出数据】:55551.2 概要设计:(1)定义整形变量a为用户输入值;(2)定义整形变量i求和;(3)输出i的值。
(4)主程序流程:step1:让用户输入一个整数n;step3:求和并输出。
1.3详细设计与编码:(1)流程图:用户输入a计算输出结果(2)源程序#include<iostream>using namespace std;int main(){int a,b,c,d,e,f,g,h,i;cout<<"请输入一个四位数:";cin>>a;b=a%10;c=a/10;d=c%10;e=c/10;f=e%10;g=e/10;h=b*1000+d*100+f*10+g;i=a+h;cout<<a<<"+"<<h<<"="<<i<<endl;return 0;}1.4调试分析:step1:输入2038step2:输入1234分析:经过输入多次实验后,都取得了预期值,这说明了程序的正确性。
1.5用户使用说明:step1:打开程序;step2:输入要求的数;step3:得出结果;1.6 设计心得:通过此次实验加深了对%与/的使用方法!从小程序开始逐渐把以前遗忘的内容捡起。
二、面向过程设计题42.1 需求分析:编程序,输入正整数m,它代表一个人民币钱数(元数)。
求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。
根据实验要求,规定如下:测试数据【输入数据】12345【输出结果】用123张100元;用0张50元;用2张20元;用0张10元;用1张5元;用0张2元;用0张1元;2.2 概要设计:(1)定义整形变量a为用户输入值;(2)主程序流程:step1:让用户输入一个整数a;step3:计算并输出。
2.3详细设计与编码:(1)流程图主函数计算输出(2)源程序#include<iostream>using namespace std;void main(){cout<<"请输入金额:";int a,b,c,d,e,f,g,h,i,j;cin>>a;b=a/100;c=a%100;d=c/50;e=c%50;f=c%50/20;g=c%50%20/10;h=c%50%20%10/5;i=c%50%20%10%5/2;j=c%50%20%10%5%2/1;cout<<"用"<<b<<"张100元;"<<endl; cout<<"用"<<d<<"张50元;"<<endl; cout<<"用"<<f<<"张20元;"<<endl; cout<<"用"<<g<<"张10元;"<<endl;cout<<"用"<<h<<"张5元;"<<endl;cout<<"用"<<i<<"张2元;"<<endl;cout<<"用"<<j<<"张1元;"<<endl;}2.4调试分析:2.5用户使用说明:step1:打开程序;step2:输入要求的数;step3:得出结果;2.6 设计心得:经过此次实验学会了简单编程,有很大收获。
三、面向对象设计题53.1 需求分析:本题目要设计一个Cstudent类,类中包含学生的基本信息,而且要采用binary文件形式,使用随机读写处理方式对类的对象数据进行存储与读写处理。
而且要有输入函数、输出函数,而且还可以计算总成绩!根据实验要求,设置一组测试数据如下:【输入数据】11 野田男59 89 85 922 奥巴马男69 88 76 9523【输出数据】编号姓名性别年龄数学成绩计算机成绩外语成绩总分1 野田男59 89 85 92 2662 奥巴马男69 88 76 95 2593.2 概要设计:(1)建一个Cstudent类,定义类中的数据元素Num、Name[10]、Sex[10]、Age、Math、Com、Eng、Total;(2)设置类的成员函数:输入类元素getdata()、输出类元素outdate()、把数据输入到磁盘中get()、把数据从磁盘中输出put();(3)编写类的成员函数的代码;(4)编写主函数,并调用get()、put()函数;3.3详细设计与编码:(1)流程图主函数do语句switch语句case1 case2yes 调用get()函数调用put()函数判断语句no主函数结束get()函数打开磁盘调用getdata()函数输入数据关闭磁盘put()函数打开磁盘调用putdata()函数输出数据关闭磁盘(2)源程序#include<iostream>#include<fstream>#include<iomanip>using namespace std;class CStudent{long Num;char stName[10];char Sex[10];int Age;int MathScore;int CompScore;int EnglScore;int Total;public:void getdata(){cout<<"序号: ";cin>>Num;cout<<endl<<"姓名: ";cin>>stName;cout<<endl<<"性别:";cin>>Sex;cout<<endl<<"年龄: ";cin>>Age;cout<<endl<<"数学成绩: ";cin>>MathScore;cout<<endl<<"计算机成绩: ";cin>>CompScore;cout<<endl<<"外语成绩: ";cin>>EnglScore;cout<<endl;}void outdate(){Total=MathScore+CompScore+EnglScore;cout<<setw(5)<<Num<<setw(5)<<stName<<setw(5)<<Sex<<setw(5)<<Age<<setw(7)<<Ma thScore<<setw(10)<<CompScore<<setw(10)<<EnglScore<<setw(10)<<Total<<endl;}};void get(){ofstream outfile("stud.dat");CStudent s;int n;cout<<"输入数据:"<<endl;cout<<"学生人数:";cin>>n;for(int i=0;i<n;i++){cout<<"第"<<i+1<<"个学生:"<<endl;s.getdata();outfile.write((char*)&s,sizeof(s));};outfile.close();}void put(){ifstream infile("stud.dat");CStudent s;cout<<"输出数据:"<<endl;cout<<" 编号姓名性别年龄数学成绩计算机成绩外语成绩总分:"<<endl;infile.read((char*)&s,sizeof(s));while(infile){s.outdate ();infile.read((char*)&s,sizeof(s));};infile.close();}void main(){int a;do //选择执行程序{cout<<"选择:1:输入数据2:输出数据其它退出:";cin>>a;switch(a){case 1:get();break; //输入数据case 2:put();break; //输入数据default:cout<<"error"<<endl;break;}}while(a==1||a==2); }3.4调试分析:输入一组验证数据:11 野田男59 89 85 922 奥巴马男69 88 76 95 2输出结果:分析:经过比较可以发现输出结果与程序设计之初预想的结果完全吻合,这表明已达到先前的设计要求,而且整个操作过程都有操作提示,显示出此程序的健壮性!3.5用户使用说明:【step1】打开程序;【step2】选择操作类型;【step3】若选择输入数据,则选择要输入的人数,然后再输入相关数据;【step4】继续选择相关的操作,若想停止则输入出1、2之外的数据。