《软件课程设计》实验报告
- 格式:docx
- 大小:862.92 KB
- 文档页数:13
目录绪论 0第1章系统分析 (1)§1.1 项目的要求、目标和环境 (1)§1.1.1 项目的要求 (1)§1.1.2 项目的目的 (1)§1.1.3 项目的环境 (1)§1.2 可行性分析 (1)§1.2.1 社会可行性分析 (2)§1.2.2 技术可行性分析 (2)§1.2.3 经济可行性分析 (2)第2章需求分析 (3)§2.1引言 (3)§2.1.1 编写的目的 (3)§2.1.2 背景 (3)§2.2任务概述 (3)§2.2.1目标 (3)§2.2.2假定和约束 (3)§2.3.需求规定 (4)§2.3.1对功能的规定 (4)§2.3.2 对性能的规定 (4)§2.3.3输入输出要求 (4)§2.3.4数据管理能力要求(针对软件系统) (5)§2.3.5故障处理要求 (5)§2.4.运行环境规定 (6)§2.4.1设备 (6)§2.4.2支持软件 (6)§2.4.3控制 (6)第3章项目开发计划 (6)§3.1 引言 (6)§3.1.1编写目的 (6)§3.1.2 背景 (7)§3.1.3定义 (7)§3.1.4参考资料 (7)§3.2项目概述 (7)§3.2.1工作内容 (7)§3.2.2主要参加人员 (7)§3.2.3产品 (7)1.程序 (7)2.文件 (8)3.服务 (8)§3.2.4验收标准 (8)§3.2.5完成项目的最迟期限 (8)§3.2.6本计划的批准者和批准日期 (8)§3.3实施计划 (8)§3.3.1工作任务的分解与人员分工 (8)§3.3.2进度 (9)§3.3.3预算 (9)§3.3.4关键问题 (9)§3.4支持条件 (11)§3.4.1计算机系统支持 (11)§3.4.2需由用户承担的工作 (11)§3.4.3由外单位提供的条件 (11)第4章项目设计 (11)§4.1面向对象分析(OOA) (11)§4.1.1 用例描述及用例图 (11)§4.1.2 活动图 (14)§4.1.3顺序图 (16)§4.2面向对象设计(OOD) (18)§4.2.1 系统框架图(三层架构) (18)§4.2.2 类图 (1)§4.2.3 页面导航图 (2)第5章测试 (1)§5.1、引言: (1)§5.1.1 编写目的 (1)1、测试目的:通过测试验证图书管理系统各项功能的可用性,实用性及其中是否有缺陷或是错误,使其达到设计指标。
uml软件工程课程设计一、课程目标知识目标:1. 掌握UML(统一建模语言)的基本概念、图示及其在软件工程中的应用。
2. 学会使用UML图(如用例图、类图、序列图等)来表达软件系统的结构和行为。
3. 了解软件工程的基本原则,理解UML在软件开发生命周期中的作用。
技能目标:1. 能够运用UML图进行软件需求分析,构建系统的逻辑模型。
2. 能够利用UML图进行软件设计,提高代码的可维护性和可读性。
3. 能够运用UML图进行团队协作,提高沟通与交流效果。
情感态度价值观目标:1. 培养学生对软件工程的兴趣,激发他们探究新技术的热情。
2. 培养学生严谨、细致的工作态度,提高他们解决实际问题的能力。
3. 培养学生团队协作精神,使他们认识到团队合作的重要性。
本课程针对高中年级学生,结合学科特点,注重理论与实践相结合,培养学生运用UML进行软件设计和分析的能力。
课程目标旨在让学生掌握UML的基本知识,提高他们在实际项目中的应用能力,同时培养他们的团队协作和沟通能力,为未来从事软件开发工作打下坚实基础。
通过本课程的学习,学生将能够更好地理解软件工程的概念,提高自身编程素养,形成积极的情感态度价值观。
二、教学内容1. UML基本概念与图示:包括UML的发展历程、基本组成元素、图示类型及用途。
- 教材章节:第一章 绪论- 内容列举:UML的定义、UML图分类、UML的基本元素(类、对象、关系、行为等)2. UML图的应用与实践:- 用例图:描述系统的功能需求,分析用户与系统的交互。
- 类图:表示系统中类的结构及类之间的关系。
- 序列图:描述对象之间的交互过程,展示动态行为。
- 状态图、活动图等其他UML图:分别描述对象的状态变化和活动流程。
- 教材章节:第二章至第五章- 内容列举:用例图、类图、序列图、状态图、活动图等UML图的基本概念、绘制方法及应用实例。
3. 软件工程原则与UML实践:- 教材章节:第六章 软件工程原则- 内容列举:软件工程的基本原则、UML在软件开发生命周期中的应用、UML与敏捷开发等。
arcmap实习报告4篇arcmap实习报告篇1一、实习目的1、熟悉GIS软件——ArcGIS的体这种系结构,掌握ArcMap用于地图数据的编辑、显示、查询和分析等功能,了解ArcCatalog对数据的管理,在此基础上进一步理解GIS软件应具备的基本功能。
2、掌握地图扫描矢量化的基本原理、方法和步骤,并通过图像配准,进一步理解坐标变换的原理与方法。
3、掌握利用ArcMap对数据的获取及存储,熟悉ArcMap的空间查询、叠加、缓冲区分析等常用的地图分析功能,能有效解决一些实际问题。
4、掌握地图渲染方法及制图输出。
5、根据野外采集的离散点数据集,建立DEM,并进行三维可视化,了解虚拟现实的构建过程。
二、实习任务(1)完成给定区域的地图矢量化,建立数据库。
数据共分10层,分别为:高程点(点:高程)、电力线(点)、散坟(点)、桥(点)、道路(线:类别)、陡坎(线)、地类线(多边形:类别)、地类界(多边形:类别)、村组界(多边形:村名)、池塘(多边形)、建筑物(多边形:类别、拆迁指标)等注:地类分为:农用地(耕地、园地、其它)、建设用地(庄台、道路)、未利用土地。
如图上绿色线所示。
(2)统计图幅内,各类用地面积,各村组内各类用地面积所占的比例。
(3)进行地图编制,制作专题地图并进行渲染输出。
(4)以卫星遥感影像地图为纹理,建立研究区域的三维可视化地图,并以楼层为高度构建虚拟村组。
三、实习内容(附实习具体操作步骤)1、shp文件的创建2、图像配准及矢量化3、空间查询4、缓冲区分析5、地图渲染6、制图输出7、构建TIN8、在TIN的基础上,粘贴卫星遥感影像地图,建立三维可视化地图。
四、实习时间.1.6——.1.17五、实习地点及时间安排实习地点:2#实验楼第2层图像信息处理机房实习时间:上午(1~4节课)、下午(5~8节课)六、实习要求(1)纪律要求按时参加各项实习工作,请病假要有医生证明,一般不批准请事假的情况。
河北民族师范学院软件测试课程设计报告题目:最大公约数和最小公倍数姓名:班级:学号:指导老师:2014.10.9目录第1章软件测试的概念和设计要求 (3)1.1 测试目的 (3)1.2 测试选题 (3)1.3测试人员 (3)1.4测试方法 (3)1.5 测试资料及参考书 (3)1.6关于黑盒测试 (3)1.7 关于白盒测试 (4)1.8、黑盒测试与白盒测试的比较 (4)1.9 软件测试过程 (5)1.10数据整理 (6)第2章关于最大公约数和最小公倍数问题 (7)2.1求最大公约数和最小公倍数的黑盒测试 (7)2.1.1.问题描述: (7)2.1.2.程序代码(开发环境:Windowsxp xp、java): (7)2.1.3.测试方法 (7)2.1.4.测试用例设计 (8)2-2求最大公约数和最小公倍数的白盒测试 (10)2.2.1核心程序代码 (10)2.2.2程序流程图 (10)2.2.3 测试用例 (11)2.2.4程序控制流图 (12)设计心得与体会 (12)第1章软件测试的概念和设计要求1.1 测试目的1.练习和掌握软件测试管理的一般过程与步骤;2.掌握测试管理的人工过程和能够通过相关管理软件实现以下工作:a)配置软件资产信息、软件需求、软件模型和缺陷数据库;b)创建和管理多个测试组和用户;c)配置测试环境、编写详细测试计划、安排测试进度;d)设计测试脚本、测试用例;e)实施测试、执行测试和评估测试。
1.2 测试选题关于求最大公约数和最小公倍数问题的测试;1.3测试人员张@@:软件测试计划及相关资料的编写与收集。
李@@:对特定问题编写程序代码,并对其进行黑盒测试。
王@@:对特定问题编写程序代码,并对其进行白盒测试。
1.4测试方法对于选题,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分析测试、决策表方法使用。
使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试及基本路径测试。
课程设计实验报告10篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作报告、合同协议、心得体会、演讲致辞、规章制度、岗位职责、操作规程、计划书、祝福语、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample texts, such as work reports, contract agreements, insights, speeches, rules and regulations, job responsibilities, operating procedures, plans, blessings, and other sample texts. If you want to learn about different sample formats and writing methods, please pay attention!课程设计实验报告10篇【第1篇】大学物理实验课程设计实验报告北方民族大学大学物理实验(设计性实验)实验报告指导老师:王建明姓名:张国生学号:XX0233学院:信息与计算科学学院班级:05信计2班重力加速度的测定一、实验任务精确测定银川地区的重力加速度二、实验要求测量结果的相对不确定度不超过5%三、物理模型的建立及比较初步确定有以下六种模型方案:方法一、用打点计时器测量所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等.利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒X两点间隔数.由公式h=gt2/2得g=2h/t2.将所测代入即可求得g.方法二、用滴水法测重力加速度调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n 取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下:取液面上任一液元a,它距转轴为X,质量为m,受重力mg、弹力n.由动力学知:ncosα-mg=0(1)nsinα=mω2X(2)两式相比得tgα=ω2X/g,又 tgα=dy/dX,∴dy=ω2XdX/g,∴y/X=ω2X/2g.∴ g=ω2X2/2y..将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标X、y测出,将转台转速ω代入即可求得g.方法四、光电控制计时法调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n 取50—100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2.方法五、用圆锥摆测量所用仪器为:米尺、秒表、单摆.使单摆的摆锤在水平面内作匀速圆周运动,用直尺测量出h(见图(1)用秒表测出摆锥n转所用的时间t,则摆锥角速度ω=2πn/t 摆锥作匀速圆周运动的向心力f=mgtgθ,而tgθ=r/h所以mgtg θ=mω2r由以上几式得:g=4π2n2h/t2.将所测的n、t、h代入即可求得g值.方法六、单摆法测量重力加速度在摆角很小时,摆动周期为:则通过对以上六种方法的比较,本想尝试利用光电控制计时法来测量,但因为实验室器材不全,故该方法无法进行;对其他几种方法反复比较,用单摆法测量重力加速度原理、方法都比较简单且最熟悉,仪器在实验室也很齐全,故利用该方法来测最为顺利,从而可以得到更为精确的值。
程序设计基础课程设计实验一、课程目标知识目标:1. 让学生理解程序设计的基本概念,掌握编程语言的语法和结构。
2. 培养学生运用程序设计思想解决问题的能力,包括数据表示、逻辑判断和循环控制等。
3. 使学生了解程序设计的流程,学会编写、调试和优化程序。
技能目标:1. 培养学生运用编程工具进行程序设计和调试的能力。
2. 培养学生独立思考和解决问题的能力,提高编程解题技巧。
3. 培养学生团队协作和沟通能力,能够与他人共同完成程序设计任务。
情感态度价值观目标:1. 培养学生对程序设计的兴趣和热情,激发学生学习编程的积极性。
2. 培养学生勇于尝试、不怕失败的精神,提高学生面对编程挑战的自信心。
3. 引导学生认识到编程在科技发展和社会进步中的重要作用,培养学生的社会责任感和创新意识。
课程性质:本课程为程序设计基础课程,旨在让学生掌握编程基本技能,培养编程思维。
学生特点:学生为初中年级,具备一定的逻辑思维能力,好奇心强,对新鲜事物感兴趣。
教学要求:注重理论与实践相结合,以实例为主线,引导学生主动探索,培养实际编程能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 程序设计基本概念:程序、编程语言、算法等基本概念介绍。
2. 编程环境搭建:安装编程软件,了解编程环境,学会使用开发工具。
3. 语法基础:变量、数据类型、运算符、表达式和语句等。
4. 控制结构:顺序结构、分支结构(if语句)、循环结构(for、while语句)。
5. 函数与模块:函数的定义、调用、参数传递,模块的导入和使用。
6. 数组与列表:数组的概念、使用,列表的创建、操作。
7. 文件操作:文件的打开、读取、写入和关闭。
8. 编程规范与调试:代码风格、命名规则,调试技巧和错误处理。
9. 综合实例分析:分析实际编程案例,学会运用所学知识解决问题。
教学内容安排与进度:第1-2周:程序设计基本概念,编程环境搭建。
第3-4周:语法基础,变量、数据类型、运算符。
软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。
是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。
【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。
二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。
详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。
三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。
课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。
2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。
二、实验要求1.问题描述准确、规范。
2.程序结构合理,调试数据准确、有代表性.。
3.界面布局整齐,人机交互方便。
4.输出结果正确。
5.正确撰写实验报告。
三、实验内容编写一个GUI程序实现日历的功能。
一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。
可以实现显示时钟,时钟能进行整点报时。
可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。
四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。
2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。
3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。
4. 根据实验结果,写出合肥工业大学实验报告。
实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。
5.详细的上机实验步骤见任务分工及程序设计进度表。
五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
课程设计实验报告的范文一、教学目标本课程的教学目标是使学生掌握XX学科的基本概念、原理和方法,能够运用所学知识解决实际问题;提高学生的实验操作技能和数据分析能力;培养学生的科学思维和团队合作精神。
具体分为以下三个部分:1.知识目标:学生能够准确地掌握XX学科的基本概念、原理和方法,了解学科的发展趋势和应用领域。
2.技能目标:学生能够熟练地运用实验设备和软件工具进行数据采集、处理和分析,具备一定的实验设计和问题解决能力。
3.情感态度价值观目标:学生能够认识到XX学科在人类进步和社会发展中的重要作用,树立科学的世界观和价值观,培养团队合作意识和创新精神。
二、教学内容本课程的教学内容主要包括XX学科的基本概念、原理和方法,实验操作技能的培训以及相关案例分析。
具体安排如下:1.第一部分:基本概念和原理,包括XX学科的历史发展、基本概念、核心原理等内容。
2.第二部分:实验操作技能,学生通过实验操作,掌握实验设备的使用方法,培养实验设计和问题解决能力。
3.第三部分:案例分析,学生通过分析实际案例,将所学知识运用到具体问题中,提高知识的实际应用能力。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
主要包括以下几种:1.讲授法:教师通过讲解,使学生掌握基本概念和原理。
2.讨论法:学生通过分组讨论,交流学习心得,提高分析问题和解决问题的能力。
3.案例分析法:学生通过分析实际案例,将所学知识运用到具体问题中,提高知识的实际应用能力。
4.实验法:学生通过实验操作,掌握实验设备的使用方法,培养实验设计和问题解决能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
具体如下:1.教材:选用权威、实用的教材,为学生提供系统的学习材料。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:提供充足的实验设备,保证每个学生都能参与实验操作。
编号:()字号《软件课程设计》报告班姓学级:名:号:指导老师:职称:计算机科学与技术学院二〇〇八年月专业年级:学生姓名:任务下达日期:课程设计日期:课程设计题目:面向过程一.需求分析设计任务:软件课程设计任务书题目七:1.将输入的罗马数据化为10进制数。
假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
如,罗马数据LXXXVII 表示10 进制的87。
2.将输入的10进制正整数转换为罗马数据。
假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
主要界面为:输入1或2可以选择功能。
输出的形式如上所示:当输入大写或小写的阿拉伯字母时。
程序能计算出十进制。
程序所能达到的功能测试的数据:当输入mvii罗马数字时输出十进制1007当输入十进制数4535 时相应输出MMMMDXXXV。
二.概要设计程序中主要在开头用了一个死循环来实现功能的不断循环。
通过exit函数退出程序。
主程序的流程以及各程序模块之间的层次(调用)关系。
Convert1()Break;>switch(n)Default;三.详细设计实现概要设计中定义的数据类型和操作。
以增加程序的可读性,关键算法部分 画出程序流程图。
主函数的流程图如右图示:Switch()Cin>>nConvert1()Break;Case1:Case2:;Convert2();Break; Default;Exit(1); While(1)Main()Return 0;Main->jiemina->while(1)- Convert2()Break;Exit()四.调试分析实验时遇到的问题有:获得字符的c=getchar().时出错。
由于自己第一次用到该语句时是在判断他不是’\n’,但是自己忘记使用他,便对他进行第二次的赋值。
从而使最后总是出错。
最后通过仔细检查,发现问题,通过解决。
问题不再有。
五.用户使用说明A.选择1或2后按回车键便可选择相应的功能,1是罗马转化为十进制,2 是十进制转化为罗马数字。
B.如果选择A这时输入罗马字母后按回车,程序便输出相应的十进制数。
C.如果选择B这时输入十进制数后按回车,程序便输出相应的罗马数字。
D.输入0后,便可以安全退出程序。
六.设计体会在这个实验中,自己学会了用while(1)来实现功能的不断实现。
然后分别设定两个函数完成不同的功能。
在主函数中调用这两个函数。
当用户选择0时。
调用exit()退出程序。
题目八:一.需求分析设计任务:编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。
直到用户回答说不再继续做了时结束程序。
提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。
还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。
主要界面为:输入1,2,3,4,5,0可以选择相应的功能。
输出的形式为等式让用户做题目,如下:如上所示:当输入答案时。
程序能计算结果。
并且记录用户的答题正确数目。
程序所能达到的功能:1.加法一位数与二位数的运算。
如下:2.减法一位数与二位数的运算。
如下:3.乘法一位数与二位数的运算。
如下:4.除法一位数与二位数的运算。
如下:二.概要设计主程序的流程以及各程序模块之间的层次(调用)关系。
Plus() nim()Main->jiemina->while(1)- >switch(n)mult() Divi();三.详细设计实现概要设计中定义的数据类型和操作。
以增加程序的可读性,关键算法部分 画出程序流程图。
主函数的流程图如下页图示: 四.调试分析实验时遇到的问题有:问题一:由于自己不会使用随机数,所以,产生了一些错误。
例如:没有放种子,最后使得自己每次产生的随机数都一样。
最后看了老师的参考程序,知道了还得传种子放上种子后随机数就能用了。
问题二:这道题目,目的是一道检测小学生四则运算的,所以在除法部分, 自己刚开始,美注意到,出现了 1/3=0 的问题。
最后自己让产生的两个随机数 相乘作为被除数,然后以两个随机数中的一个为除数。
这样的话就不会出现除 完后是分数的情况了。
但是问题有产生了:除数太大,超过二位。
问题三:由于问题二而产生的问题三,是:除数太大,超过二位。
对也此 问题我的解决方法是对随机数筛选。
知道他们产生的随机数的成绩为二位时再 使用。
此解决方法有一个缺点是:系统产生符合条件的随机数需要等待太长的 时间。
五.用户使用说明A .进入程序后选择 1.2.3.4.5.0 就可以进入相应的功能。
Break; Exit()Break; Break;B.例如选择1后:又有相应的菜单可选择:选择。
1.2.3.0.就可进行相应操作:出现2+8=?答案:----这个地方填入自己的答案。
C.选择换一种运算就能进入主界面:又可进行相应操作:如评分。
如下:得分为一百分。
D.此时又进入主界面。
可进行操作。
选择0可以退出程序。
六.设计体会在这个实验中,自己学会了随机数的使用。
并且,在评分上自己使用的是全局变量作为分数。
以传引用的方式,将分数传入每一个函数。
累计积分。
在用户使用方面,对软件的功能与实用性也进行了考虑。
对出现的问题进行了解决。
Switch(order)Switch(order)While(1)Cin>>orderplus() Break;Case1:Case2:;min();Break; Case3;mult; Case4;Divi();break; Exit(); Case0;Break; Main()Ma inReturn 0;面向对象 3.1用三种方法通过虚函数求Fibonacci 数列一、需求分析:本程序主要解决的是:利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项(的具体项值)并输出。
具体地说,可通过在基类baseCla及其派生类fib1Cla、fib2Cla 和fib3Cla 中说明如下的同一个虚函数“virtual double fib(int n);”,来实现求Fibonacci数列第n 项值并返回的3种不同求解方法。
.本程序输入为整数,输出为用三种方法算出的Fibonacci数列。
///////////////////////////////二、概要设计:本程设计思路: 本程序主要是虚函数的使用。
先设置一个虚函数,然后再不同的类里面实现,fun函数中有一个指针是指向每个类中的这个函数,传入类名和变量到fun 中便可实现。
三种求的方法为:1.变量平移。
2.数组。
3.递归。
在数组中自己使用了动态数组。
///////////////////////////////三、详细设计与编码:见上传程序。
四、调试分析:在调试过程中数组部分出现问题,主要原因是由于数组不能在初始化未知长度,于是,我想起了老师资料里的动态数组。
自己看了以后就采用了它。
问题就解决了。
另外的一个问题是数组实现的时候,自己太粗心了,第一次没把算法写好,以至后来用各种方法找错误,有一个心得是:可以多用”cout<<”语句输出中间变量。
.//////////////////////////////////////五、用户使用说明:根据软件提示:输入非零数,软件可用三种不同的方法实现Fibonacci 数列。
输入0时结束程序。
刚开始时。
我们会呈现出默认数据。
/////////////////////////////////////六、设计心得:在这个程序中,自己由于粗心,出了错误,但是最后还是解决了。
自己很高兴。
自己学会了动态数组的建立。
对虚函数的使用也更加熟悉。
第三种方法用的是递归。
设计时很好设计。
但是运行上有点慢。
面向对象8编程实现电话簿管理一、需求分析:@@ 编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:姓名,单位,家庭电话,移动电话。
具体功能如下:1.创建信息链表并以磁盘文件保存。
2.读取磁盘文件并显示输出所有人的移动电话。
3.按姓名或单位查询家庭电话。
4.通过姓名和单位确定个人,修改其电话信息并存盘//////////////////////////////二、概要设计:本程设计思路: 本程序主要是设置两个类,一个是Node类用来存放电话信息,一个是tellist类。
用来对Node类进行操作。
因为telist类为Node的友元类。
本程序只要用的是链表的数据结构,用二进制的存储方法存储文件。
///////////////////////////////三、详细设计与编码:见上传程序。
四、调试分析:在调试过程中主要的问题:(1).是存储与读出文件。
由于在Node节点中有string 类型的变量。
而string类的变量长度不定,所以读入的数据长度可能不等,致使读出时出错。
解决方法是自己将char[]代替了string.(2)还有的问题是在插入Node时出过错。
主要是因为自己的链表使用还不熟悉。
最后经过修改正确了。
(3)读入文件时,有一次出错是因为没有判断文件是否为空,致使“内存不可读”的错误出现。
解决方法是自己在load()中加了一个判空语句。
问题便解决了。
//////////////////////////////////////五、用户使用说明:如上示:选择相应的数字。
1。
2。
3。
4。
5。
0。
可进行操作。
此窗口是我已经输入了自己的信息,然后用system(“cls”)清屏。
用2.输出自己的信息。
输入0时推出程序。
并且将信息存到了。
“电话薄.dat“中。
下次再打开时自动调用load()读入信息。
/////////////////////////////////////六、设计心得:在这个程序中,自己花费了很长的时间,主要部分是在一个周末完成的,储存部分用了一个晚上找到问题调好的。
我很喜欢这个程序。
对于文件操作。
自己通过这个程序更加熟悉了。
通过链表的头结点传入store()进行储存。
再通过load()每次开辟一个节点,逐个将各个节点连接起来。
再将链表头节点传出到telistz中记住。
软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日。