《软件课程设计》实验报告

合集下载

软件工程课程设计实验报告--图书馆管理系统

软件工程课程设计实验报告--图书馆管理系统

目录绪论 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软件工程课程设计

uml软件工程课程设计

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实习报告4篇

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篇

课程设计实验报告10篇

课程设计实验报告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篇)

软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。

是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。

【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。

切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。

通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。

二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。

每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。

详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。

三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。

五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。

Java课程设计实验报告及全部源码流程图

Java课程设计实验报告及全部源码流程图

课程设计一、实验目的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.实验设备:提供充足的实验设备,保证每个学生都能参与实验操作。

课程设计实验报告python

课程设计实验报告python
(1)培养学生对编程的兴趣和热情,提高学生主动学习的积极性;
(2)培养学生团队合作的精神,学会与他人交流和分享;
(3)培养学生勇于面对困难和挑战,增强自信心;
(4)培养学生良好的编程习惯,提高代码质量。
二、教学内容
本课程的教学内容主要包括以下几个部分:
2.Python基本语法和编程思想;
3.数据类型、运算符和表达式;
15.参考书:《Python核心编程》等;
16.多媒体资料:教学PPT、视频教程等;
17.实验设备:计算机、网络等。
通过以上教学资源的使用,我们将为学生提供全面、多样的学习支持,帮助学生更好地掌握Python编程语言。
五、教方面,以全面、客观地评估学生的学习成果。
33.结合科学学科:利用Python进行科学计算和数据分析,提高学生科学研究的效率。
34.结合艺术学科:通过编程创作艺术作品,培养学生的艺术素养和创新能力。
跨学科整合有助于拓展学生的知识视野,培养学生的综合素质。
十一、社会实践和应用
设计与社会实践和应用相关的教学活动,培养学生的创新能力和实践能力。
35.编程竞赛:学生参加编程竞赛,提高学生的编程能力和竞争力。
31.线上教学平台:利用线上教学平台,实现学生自主学习、互动交流,提高学生的学习效率。
教学创新有助于提升教学质量和学生的学习体验。
十、跨学科整合
考虑不同学科之间的关联性和整合性,我们将促进跨学科知识的交叉应用和学科素养的综合发展。
32.结合数学学科:通过编程解决数学问题,培养学生运用编程解决数学问题的能力。
(4)掌握循环、条件语句的使用,能够编写复杂的程序;
(5)了解面向对象编程的基本概念,如类、对象、封装、继承等。

《程序设计课程设计》实验报告

《程序设计课程设计》实验报告

《程序设计》课程设计姓名:学号:班级:软件工程14 班指导教师:成绩:1.消除类游戏1.1【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。

当有多处可以被消除时,这些地方的棋子将同时被消除。

1.2【基本要求】现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。

请注意:一个棋子可能在某一行和某一列同时被消除。

输入数据格式:输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。

接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。

颜色使用1至9编号。

输出数据格式:输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。

如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。

1.3【测试数据】为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。

测试数据一输出说明:棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。

棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。

1.4【功能实现】#include <iostream>#include <windows.h>using namespace std;int main(){int m, n, i ,j;int temp;cin >> n >> m;temp = m;m = n;n = temp;int * map = new int[m * n];int * mark = new int[m * n];int * tmap = map;int * tmark = mark;int dif = 0;//输入for ( i = 0 ; i < m ; i++ )for (j = 0; j < n; j++)cin >> *(tmap + i * n + j);for (i = 0; i < m; i++)for (j = 0; j < n; j++){//横行if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0)if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)){dif = tmap - map;*(tmark + dif) = 0;*(tmark + dif + 1) = 0;*(tmark + dif + 2) = 0;}//竖列if (tmap + 2 * n - map < m * n || tmap + n - map < m * n)if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) {dif = tmap - map;*(tmark + dif) = 0;*(tmark + dif + n) = 0;*(tmark + dif + 2 * n) = 0;}tmap = map + (j+1) + i * n;}//输出cout << endl;tmap = map;for (i = 0; i < m; i++)for (j = 0; j < n; j++)if (* (tmark + i * n + j) == 0)*(tmap + i * n + j) = 0;for (i = 0; i < m; i++){for (j = 0; j < n; j++)cout<< *(tmap + i * n + j)<<" ";cout << endl;}system("pause");return 0;}1.5【结果和截图】1.6【心得体会】通过这次试验,我对c语言编译器和对棋盘类游戏中的棋子行列删除有了更加深刻的认识和了解。

南邮软件工程课程设计实验报告-教务管理系统

南邮软件工程课程设计实验报告-教务管理系统

南京邮电大学实验报告课程名称:软件工程课题名称教务系统课程设计专业:广播电视工程学生姓名:陈超班级学号:B13011413指导教师:范山岗日期:2015 年12 月25 日实验面象对象软件设计一、实验目的用面象对象方法设计实用软件,掌握需求分析方法,掌握掌握UML设计方法。

二、实验性质验证、设计实验。

三、实验要求1、选定题目编写需求分析说明2、学习Rational Rose环境3、学习通过Rational Rose绘制各类框图的方法。

四、环境简介1、 Rational Rose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。

见图1-1。

图1-1:Rose界面浏览器:用于在模型中迅速漫游。

文档工具:用于查看或更新模型元素的文档。

工具栏:用于迅速访问常用命令。

框图窗口:用于显示和编辑一个或几个UML框图。

日志:用于查看错误信息和报告各个命令的结果。

1.2浏览器和视图浏览器是层次结构,用于在Rose模型中迅速漫游。

在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等。

浏览器中包含四个视图:Use Case 视图、Logical视图、Component视图和Deployment视图。

点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。

1.3框图窗口在框图窗口中,我们可以浏览模型中的一个或几个UML框图。

改变框图中的元素时,Rose自动更新浏览器。

同样用浏览器改变元素时,Rose自动更新相应框图。

这样,Rose就可以保证模型的一致性。

五、实验步骤1、编写需求分析说明书对系统需求进行初步的整理与分析,是后续建模和设计工作的基础。

需求分析说明书详情请见附录。

2、用UML语言对系统进行分析与建模(OOA)2.1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。

用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。

软件工程实验报告宿舍管理系统

软件工程实验报告宿舍管理系统

软件工程实验报告宿舍管理系统学校专业学号姓名一、系统分析 (3)1.业务流程图 (3)二、需求分析 (3)三、系统整体设计 (5)1.系统管理模块 (5)2.宿舍信息管理模块 (5)3.学生入住管理模块 (5)4.宿舍卫生检查模块 (5)5.水电收费模块 (6)6.报修管理模块 (6)7.来访人员管理模块 (6)8.报表统计模块 (6)四、功能描述: (7)1.宿舍管理系统总数据流图: (7)2.宿舍信息登记分数据流图: (7)3.入住学生信息登记分数据流图: (7)4.宿舍卫生检查分数据流图: (8)5.宿舍水电收费分数据流图: (8)6.宿舍报修分数据流图: (9)7.来访人员登记分数据流图: (9)五静态结构模型 (9)1.定义系统对象 (9)六、软件运行需求 (10)1.硬件接口 (10)2.软件接口 (10)3.故障处理 (10)4.其他问题: (10)七、数据字典(DD) (10)一、系统分析1.业务流程图3种不同权限的用户进入特定的界面进行各自操作。

以学生用户权限登录,操作流程如图1-2所示:以员工权限登录,操作流程如图1-3所示:以最高管理员权限登录,操作流程如图1-4所示:二、需求分析在本系统分析中采用用例驱动的分析方法分析需求的主要任务,识别参与者和识别用例。

并建立用例模型。

由于学生宿舍管理工作存在工作量大、事务繁琐的特点,宿舍管理人员需付出大量的工作时间来从事各种事务性工作,但工作的效率很低。

为提高工作效率,减轻校方人员的工作负担,决定针对学生宿舍管理开发管理系统软件,以供宿舍管理人员通过电脑操作进行宿舍管理,从而使学校的宿舍管理工作系统化、规范化、自动化,提供整个宿舍管理的效率,使总体管理水平上升到一个新的高度。

本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。

并且计算机的存储与快速查询功能大大提高了宿舍管理的效率,并且还提高了学籍信息管理的精确度。

软件设计体系结构课程设计

软件设计体系结构课程设计

软件设计体系结构课程设计一、课程目标知识目标:1. 理解软件设计体系结构的基本概念,掌握常见的设计模式及其应用场景;2. 掌握软件体系结构的分类,了解每种体系结构的特点和优缺点;3. 学习软件设计原则,如模块化、组件化、分层等,并能运用到实际项目中。

技能目标:1. 能够运用设计模式解决实际软件开发中的问题,提高代码的可维护性和可扩展性;2. 能够根据项目需求选择合适的软件体系结构,并进行合理的模块划分和组件设计;3. 能够使用相关工具和技术进行软件体系结构的建模和文档编写。

情感态度价值观目标:1. 培养学生主动探究、合作学习的精神,提高解决复杂问题的能力;2. 增强学生的团队协作意识,培养良好的沟通能力和合作精神;3. 使学生认识到软件设计体系结构在软件开发中的重要性,提高对软件工程规范的认识和遵循度。

课程性质:本课程为软件工程专业核心课程,旨在培养学生软件设计体系结构方面的理论知识和实际应用能力。

学生特点:学生已具备一定的编程基础和软件工程知识,具有一定的分析问题和解决问题的能力。

教学要求:结合课程性质和学生特点,采用理论教学与实践教学相结合的方式,注重培养学生的实际操作能力和创新意识。

通过课程学习,使学生能够将所学知识应用于实际项目中,提高软件开发的整体水平。

二、教学内容1. 软件体系结构基本概念:包括软件体系结构的定义、作用、分类及其发展趋势;- 教材章节:第1章 软件体系结构概述- 内容列举:软件体系结构的定义、分类、发展历程、研究现状。

2. 常见软件体系结构风格:介绍客户端-服务器、浏览器-服务器、分层、组件化等体系结构风格;- 教材章节:第2章 软件体系结构风格- 内容列举:C/S、B/S、分层、组件化、微服务、事件驱动等体系结构风格及其应用场景。

3. 设计模式:讲解创建型、结构型、行为型设计模式及其应用;- 教材章节:第3章 设计模式- 内容列举:单例、工厂、抽象工厂、建造者、原型等创建型设计模式;适配器、桥接、组合、装饰等结构型设计模式;观察者、策略、状态、命令等行为型设计模式。

java语言课程设计实验报告汽车租赁系统

java语言课程设计实验报告汽车租赁系统

java语言课程设计实验报告汽车租赁系统实验目的:通过本次实验,学习并掌握Java语言的基础知识和编程技能,理解面向对象的思想和程序设计原理,掌握Java语言的基础语法和常用类库,具备编写简单的汽车租赁系统的能力。

一、INTRODUCTION汽车租赁系统是一个普遍存在的管理系统,它通常用于租车公司来管理其车辆和租赁业务。

在这个系统中,我们需要实现车辆信息的管理、用户租车的操作、租金结算等功能。

在本次实验中,我们将通过Java语言来实现一个基础的汽车租赁系统。

二、系统设计与实现1.系统设计本次系统设计采用面向对象的思想,将系统中涉及的实体分别设计为对象,并通过定义类、属性和方法来实现对这些实体的管理。

2.类的设计(1)汽车类Car:属性包括车牌号、品牌、型号、日租金、颜色等。

(2)用户类User:属性包括用户名、身份证号、联系方式等。

(3)订单类Order:属性包括订单号、租车时间、还车时间等。

(4)汽车租赁系统类CarRentalSystem:实现对汽车、用户和订单的管理,包括车辆信息的管理、用户租车操作、租金结算等功能。

3.系统实现(1)初始化车辆信息(2)用户注册(3)用户租车(4)结算租金(5)展示车辆信息4.系统流程(1)用户注册:用户通过输入用户名、身份证号、联系方式等信息进行注册。

(2)初始化车辆信息:系统管理员通过输入车辆信息,初始化系统中的车辆信息。

(3)用户租车:用户根据需求选择相应的车辆进行租用。

(4)结算租金:系统根据用户租车的时间和租金标准进行租金结算。

(5)展示车辆信息:用户可以通过系统查询当前可租用的车辆信息。

三、编程实现1.编写Car类```javapublic class Car {private String plateNumber; //车牌号private String brand; //品牌private String model; //型号private double dailyRent; //日租金private String color; //颜色//构造方法public Car(String plateNumber, String brand, String model, double dailyRent, String color) {this.plateNumber = plateNumber;this.brand = brand;this.model = model;this.dailyRent = dailyRent;this.color = color;}// getter和setter方法// ...}```2.编写User类```javapublic class User {private String username; //用户名private String idNumber; //身份证号private String contact; //联系方式//构造方法public User(String username, String idNumber, String contact) {ername = username;this.idNumber = idNumber;this.contact = contact;}// getter和setter方法// ...}```3.编写Order类```javapublic class Order {private String orderNumber; //订单号private String rentTime; //租车时间private String returnTime; //还车时间//构造方法public Order(String orderNumber, String rentTime, String returnTime) {this.orderNumber = orderNumber;this.rentTime = rentTime;this.returnTime = returnTime;}// getter和setter方法// ...}```4.编写CarRentalSystem类```javapublic class CarRentalSystem {private List<Car> carList; //车辆列表private List<User> userList; //用户列表private List<Order> orderList; //订单列表//初始化车辆信息public void initCarList(List<Car> cars) {this.carList = cars;}//用户注册public void register(User user) {erList.add(user);}//用户租车public void rentCar(User user, Car car, String rentTime, String returnTime) {//创建订单并添加到订单列表中Order order = new Order(generateOrderNumber(), rentTime, returnTime);this.orderList.add(order);}//结算租金public double calculateRental(User user, Order order) { //根据租车时间和租金标准计算租金// ...return rental;}//展示车辆信息public void showCarList() {for (Car car : carList) {//展示车辆信息// ...}}//生成订单号private String generateOrderNumber() {//生成订单号的逻辑// ...return orderNumber;}}```四、实验结果与分析通过编写了上述的汽车租赁系统的Java类代码,并进行了简单的测试,得出了以下实验结果:1.实现了汽车租赁系统的基本功能,包括车辆信息的管理、用户租车操作、租金结算等。

jsp课程设计心得

jsp课程设计心得

jsp课程设计心得篇一:jsp课程设计报告课程设计实验报告题目账目管理系统系别:计算机科学与技术系专业年级:姓指导教师:成年月日一、设计内容(1)用jsp和java设计一个账目管理系统;(2)采用MYSQL数据库储存数据;(3)可以实现管理员登陆,对账目进行管理操作。

二、功能(1)可以实现管理员登陆;(2)对欠款人进行管理,可进行修改和删除;(3)可以增加欠款人名单以及相关信息;(4)可以对欠款人的相关信息进行阅览。

三、设计模式MVC模式(模型(java)+视图(jsp)+控制器(Servlet))四、系统分析1、可行性分析随着欠款人的增多,账户就会越来越复杂。

那么当欠款人很多的时候,如果还用纸字账簿来记录这些相关信息的话,那就会很麻烦,也很容易出错。

随着时间的推移,纸字账簿的字迹可能会不清晰,导致账目出错。

所以与纸字账簿相比,我们设计的这个账目管理系统优点就很突出了。

2、需求分析通过对账目管理网站的考察、分析以及实际的市场调查,要求本系统具有以下功能:(1)统一友好的操作界面,能保证系统的易用性;(2)规范、完善的基础信息设置;(3)可实现账目全界面的查看;(4)实现欠债人信息的增添、删除、修改、阅览。

五、设计流图六.(1)数据库逻辑结构设计本系统数据库采用MySQL数据库,系统数据库名称为javatest,下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构。

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致(2)数据库需求分析针对账目管理系统的需求分析,得出如下需求信息。

? 一个id对应一个欠债人? 一个id对应一个时间? 一个id对应一个金额针对本系统功能分析,总结出如下的需求信息。

? 用户,包括数据项:用户ID、用户名、时间。

tb_account表列名数据类型长度允许空注释Id int10 否编号namevarchar 20 否欠债人姓名money varchar 20 否欠债金额timevarchar 20 否欠债时间(4)数据库代码create database javatest;use javatest;//创建表tb_account create table tb_account not null primary key auto_increment,name varchar not null,money varchar not null,time varchar not null, );//插入数据insert into tb_account values;insert into tb_account values;insert into tb_account values;篇二:JSP课程设计_报告云南科技信息职业学院信息学部《JSP课程设计》课程课程设计(项目实训)报告学号09131023姓名许郑荣专业班级:09软件技术指导教师:丁磊2011~20 12学年上学期项目名称:BBS论坛设计网站2011年12月15日《JSP课程设计》课程项目设计与开发(项目实训)报告要求1、系统架构阐述BBS论坛是用于用户之间交流的信息平台。

Java程序设计实验报告

Java程序设计实验报告

滁州学院课程设计报告课程名称:Java程序设计设计题目:四则运算测试系统系别:计算机与信息工程学院专业:计算机科学与技术组别:第七组起止日期: 2011年11月20日~ 2012 年1月8日指导教师: 马骏计算机与信息工程学院二○ 一一年制课程设计任务书目录1 需求分析 (1)1.1 课程设计目的与要求 (1)1.1.1 课程设计目的 (1)1.1.2 课程设计要求 (1)2 概要设计 (2)3 详细设计 (3)4 程序源代码 (4)5 程序运行于调试 (11)总结 (12)致谢 (12)参考文献 (12)1 需求分析1.1 课程设计目的与要求1.1.1 课程设计目的Java语言是面向对象的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。

它具有面向对象、跨平台、分布应用等特点。

它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。

很多程序开发人员得第一选择。

为了将课堂上得知识掌握得更加透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。

让学生自己动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯通。

学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知识,独立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属于自己得东西,通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来完成课程设计。

这次课程设计我主要研究了利用已学的Java知识编辑一个四则运算测试系统。

通过此次课程设计,来巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。

并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识。

1.1.2 课程设计要求程序实现十道100以内四则运算数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。

java课程设计设计实验报告

java课程设计设计实验报告

java课程设计设计实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生运用Java语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和编程规范;(2)掌握Java中的基本数据类型、运算符、表达式;(3)了解Java的流程控制语句,如if、for、while等;(4)熟悉Java数组、字符串、集合等数据结构的使用;(5)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(6)掌握Java异常处理机制和文件操作。

2.技能目标:(1)能够使用Java编写简单的程序,实现基本的功能;(2)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序;(3)具备阅读Java代码的能力,能够理解并修改他人编写的程序;(4)掌握使用Java开发工具,如Eclipse、IntelliJ IDEA等;(5)了解Java程序的调试和性能优化方法。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习的动力;(2)培养学生团队合作精神,提高学生沟通协作能力;(3)培养学生面对挑战、解决问题的信心和勇气;(4)培养学生具有良好的代码规范和编程习惯。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.第一章:Java入门,介绍Java编程语言的基本概念、环境搭建和基本语法;2.第二章:基本数据类型和运算符,学习Java中的整数、浮点数、字符、布尔等数据类型以及运算符;3.第三章:流程控制语句,学习if、for、while等流程控制语句的使用;4.第四章:数组和字符串,学习数组的声明、初始化和使用,字符串的创建、操作和转换;5.第五章:集合框架,学习List、Set、Map等集合接口及其实现类的使用;6.第六章:面向对象编程,学习类、对象、封装、继承、多态等概念及应用;7.第七章:异常处理和文件操作,学习Java异常处理机制和文件读写方法;8.第八章:Java编程实践,通过案例分析法和实验法,巩固所学知识,提高实际编程能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编号:()字号《软件课程设计》报告班姓学级:名:号:指导老师:职称:计算机科学与技术学院二〇〇八年月专业年级:学生姓名:任务下达日期:课程设计日期:课程设计题目:面向过程一.需求分析设计任务:软件课程设计任务书题目七: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中记住。

软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日。

相关文档
最新文档