面向对象程序设计大作业实验报告

面向对象程序设计大作业实验报告
面向对象程序设计大作业实验报告

面向对象程序设计大作业实验报告

计算机2000<4>班周博慧

学号200035003203244

2001年12月5日

一,功能介绍

程序采用C++为设计语言,使用VISUAL C++提供的头文件,操作平台基于dos平台,适用的分辨率为600*480。

程序的设计目的是为一家船工厂建立库存清单。它能够实现的功能有:

1,输入库存(船,零件)的基本情况;

2,改变船或者零件的库存量;

3,查询现存的零件数量;

4,显示库存的基本情况。

二,基本结构

1,类的说明

程序共定义了四个类类型,它们分别是:stock(库存)类,part(零件)类,ship(船)类,stocklist类(库存链表类)。

其中,stock作为基类被part类和ship类公有继承,part类和ship类分别作为stock的派生类存在,两者无其它联系;stock-list类作为一个独立的类而存在。

2,成员说明

stock类定义了两类成员:

A)保护成员:包括current-level(当前库存量)和price(价格;对于零件而言是厂商的成本;对于船而已是销售给销售商的价格)。

B)公有成员:包括stock();get-level();change-level();get-price();change-price ();~stock()六个成员函数。

其中,get-level()返回当前的库存量;change-level()改变库存量;get-price()得到库存价格;

change-price()改变商品价格;~stock()显示目前某型号零件或某种船模型的库存量。change-level

()和~stock()被设置为虚函数。

part类除了自stock类继承的成员以外,还定义了两类成员,分别是:

A)私有成员:reorder-level(零件的定货量)和part-num(零件的型号);在这里要求零件的型号由一个字母两个数字组成。

B)公有成员:part();get-part();set-reorder();~part()四个成员函数。

其中,get-part()返回零件型号;set-reorder()设置定货量;~part()显示零件型号。

ship类除了自stock类继承的成员以外,还定义了两类成员,分别是:

A)私有成员:model(船的型号,要求输入字符);engine-size(引擎规格,要求输入数字);max-speed(船的最高速度)。

B)公有成员:ship();get-model();~ship()三个成员函数。

其中,get-model()返回船的型号,与零件型号不同,这里要求的是全字符;~ship()显示型号名称。

stock-list类包含了一个“指针对节点”类型的实例变量,程序运行的时候,指针将接收到一个part类对象或者ship类对象的地址,它也定义了两类成员:

A)私有成员:只定义了一个返回类型为stock-node结构(自定义的库存结点结构)的指针head-ptr。

B)公有成员:包括stock-list();insert-stock();find-part();find-ship();display-list ();~stock-list()五个成员函数。

其中,stock-list()把库存清单的首地址设置为空,为以后建立库存清单做准备;insert-stock()输入零件或者船的基本数据;find-part()查找零件数据;find-ship()查找船数据;display-list显示库存情况;~stock-list()释放旧地址占用的空间。

3,结构说明

本程序包括两个c++ header file和三个c++ source file。

c++ header file包括shipparts.h和stocklist.h;c++ source file包括shipparts.cpp,stocklist.cpp 和mainstock.cpp。

三,心得体会

通过这次大作业的设计,我对C++熟悉了很多,更深刻的体会到C++编程序的优点,加深了对类封装性和继承的理解,熟悉了vc的操作,也丰富了自己的编程经验。

同时,我也深深体会到自己的很多不足,没有很彻底的领会面向对象程序设计的优点,不能很好的构建层次清晰而且分类详细的继承体系,没有建立良好的辨认错误输入发出警告的防御系统,不能检查出一般的输入错误,程序能够实现的功能很少。而且,由于个人编程经验的严重缺乏,程序的适用性极低。

以后要进一步学习c++的编程技巧,增强自己的编程能力。

c++面向对象程序设计大作业

《面向对象程序设计》 大作业 题目学生成绩管理系统 学院 专业 班级 姓名 指导教师 2015 年11 月11 日

目录 一大作业的目的 (1) 二大作业的内容............................ . .. (2) 三大作业的要求与数据............... ...... . (3) 四大作业应完成的工作.................. . (4) 五总体设计(包含几大功能模块)........... . (5) 六详细设计(各功能模块的具体实现算法——流程图) (6) 七调试分析(包含各模块的测试用例,及测试结果) (7) 八总结 (8) 十参考资料 (9)

一大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 二大作业的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C++语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录 的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

vb大作业 实验报告

软件技术实验报告 学号2009300186 姓名赵佶男班级010109卓 越 大作业机房管理系统 课题基本目标要求: 1)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 2)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动 提前5分钟提示,待真正结束时即自动锁屏。 3)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴 纳的上机服务费) 4)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是 前一时段未曾使用的机器,当学生一卡通上的余额,不足以支付1 小时上机服务费时,应提示其下机充值,并实施锁屏。 实验步骤: 首先,根据大作业的要求,我建立了机器表,流水表,学生基本情况表,上课表,以及一卡通表五个数据库表。机器表用来按照使用情况,选择空闲时间最长的机器。流水表用来记录现在机器以及人员使用的情况,是个

动态表,用来方便的取用和修改数据。学生基本情况表用来存放学生的学号,密码,班级等基本情况,以实现学生上课登录和自由登录。上课表存放各个班级的上课下课时间,以实现排课功能。一卡通表记录了每个学生一卡通内的金额,用来帮助实现上下机的扣费,以及余额不够支付一小时时间情况下得强制下机。 然后,我进行了窗体的设计。经过筛选优化,我设计了五个窗体,分别是主选择窗体,注册窗体,登录窗体,上课安排窗体,实时计费和下机窗体。 主选择窗体可以用来进行上课登录、学生自由登录、管理员登录和机器的推荐。注册窗体是用来进行学生登录密码的注册。登录窗体限制学生的学号和密码必须匹配才能登录。上课安排窗体可以输入班号、上下课时间并选择星期值。实时计费和下机窗体用来扣费并方便学生随时下机。 接下来,要按照要求进行代码的编写。 A)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 此功能我在排课窗体下用select选择出全体班级的上下课以及星期值,并将管理员希望的上下课时间转换为时间类型数值,进行循环比较,用do until 语句逐个比较,使得上下课时间点都不得在其他班级的上课时间段内。如果时间不冲突,就实施修改数据库的功能,并更新保存。 B)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动提前5分钟提示,待真正结束时即自动锁屏。 在主选择窗体内有上课登录按钮和自由登录按钮。点击上课登录,输入学

作业空间设计

第八章作业空间设计 第一节作业空间设计得基本原则 作业空间设计时,一般应遵守以下原则: 1.根据生产任务与人得作业要求,首先应总体考虑生产现场得适当布局,避免在某个局部 得空间范围内,把机器、设备、工具与人员等安排得过于密集,造成空间劳动负荷过大。然后再进行各局部之间得协调。在作业空间设计时,总体与局部得关系就是相互依存与相互制约得。若总体布局不好,就不能保证每个局部都有适当得作业空间。而只保证个别局部有适当得作业空间,也不能保证整个工作系统得安全、高效、舒适与方便得人机工程学要求。因此,必须正确协调总体设计与局部设计相互之间得关系。 2.作业空间设计要着眼于人,落实于设备。即结合操作任务要求,以人员为主体进行作业 空间得设计。也就就是首先要考虑人得需要,为操作者创造舒适得作业条件,再把有关得作业对象(机器、设备与工具等)进行合理得排列布置。否则往往会使操作者承受额外得心理上得与体力上得负担,其结果不仅降低工作效率,而且往往不经济、也不安全。考虑人得活动特性时,必须考虑人得认知特点与人体动作得自然性、同时性、对称性、节奏性、规律性、经济性与安全性。在应用有关人体测量数据设计作业空间时,必须合格证至少在 90%得操作者中具有适应性、兼容性、操纵性与可达性。 第二节工作空间人体尺寸及应用原则 1.工作空间立姿人体尺寸(6 项) 2.工作空间坐姿人体尺寸(5 项) 2.工作空间跪姿、俯卧姿、爬姿人体尺寸(6 项) 第三节工作空间设计 一、工作空间设计得一般原则 在 GB/T 16251--1996《工作系统设计得人类工效学原则》中,给出了工作空间设计得以 下一般性原则: 1)操作高度应适合于操作者得身体尺寸及工作类型,座位、工作面(工作台)应保证适宜 得身体姿势,即身体躯干自然直立,身体重量能得到适当支撑,两肘置于身体两侧,前臂呈水平状。2)座位调节到适合于人得解剖、生理特点。 3)为身体得活动,特别就是头、手臂、手、腿、脚得活动提供足够得空间。 4)操纵装置设置在肌体功能易达或可及得空间范围内,显示装置按功能重要性与使用频度 依次布置在最佳或有效视区内。5)把手与手柄适合于手功能得解剖学特性。 第四节工作岗位设计

面向对象程序设计实验指导书讲解

面向对象程序设计实验指导书 实验一、C++开发环境应用入门(2学时)(选做) 1、实验目的 (1)了解C++开发工具的特点 (2)熟悉C++开发环境 (3)学习用C++编写标准的C++程序 2、实验任务 使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序: #include void main(void) { cout<<”Hello!\n”; cout<<”Welcome to C++!\n”; } 3、实验步骤 (1)启动Visual C++或C++Builder开发环境 (2)创建一个项目 A)单击File菜单中的New选项,显示示新建对话框 B)选择Console Wizard(C++Builder) 或Win32 Console Application(VC++)。 C)选择项目所在路径及输入项目的名称 D)依次按‘下一步’直至完成为止。 (3)至此,C++Builder已经建立好工程相关的文件(请不要随意更改其自动生成的文件),在生成的main函数中写入必要的内容即可。 (4)对于VC,请继续下面的步骤: A)建立C++源程序文件 a)选选菜单命令Project|Add to Project|New,弹出New对话框 b)在New对话框的Files选项卡中选择C++ Source File,并填入文件名称,单击OK按钮,完成 新建C++源程序文件 B)编辑C++源程序文件 a)在文件编辑窗口中输入代码 b)完成后,选择菜单File|Save保存这个文件 C)建立并运行可执行程序 a)选择菜单命令Build,建立可执行程序 如果你正确输入了源程序,此时便成功地生成了可执行程序。 如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源 程序进行修改后,重新选择菜单命令Build建立可执行程序。 b)选择菜单命令Run,运行程序,观察屏幕显示内容。 D)关闭工作空间 选择菜单命令File|Colse WorkSpace关闭工作空间。

2016年电大面向对象程序设计技术-作业题

2015秋季学期计算机科学与技术本科 《面向对象程序设计技术》作业题 (在电大在线该课程讨论区跟帖提交,注明姓名和学号以记录成绩)选择题 1.可以在本类及派生类的成员函数中进行访问的访问控制修饰符是(B) A.private B.protected C.public 2.在IDE中将编程项目采用多文件结构下,类的定义一般放在(A) A.头文件 B.程序文件 C.主程序文件 3.内联成员函数在类外定义时要将其和类定义一起放在(A) A.头文件 B.程序文件 C.主程序文件 4.下面哪个内存区域是C++中的运行时动态内存分配区域?( D ) A.代码区 B.栈区 C.数据区 D.堆区 5.对象作为函数参数使用时,一般使用(A)形式 A.引用 B.指针 C.对象拷贝

6.同类的多个不同对象的数据成员值各有不同,但不同对象可以共享类的成员函数代码, 实际调用成员函数时,是通过(B )来区分不同对象的。 A.显式给出不同对象不同地址 B.隐含的this指针 C.引用 7.下面哪一种情况不会自动调用拷贝构造函数。(E) A.用一个对象初始化另一个对象时 B.当一个对象作为值传递给一个函数时 C.当一个对象作为值从一个函数返回之前,该对象被拷贝到栈区 D.函数调用结束后,栈区中的返回对象拷贝给主调程序的对象 E.建立指向对象的指针并初始化指针值时 8.下列哪些对象的数据成员类型可以不用初始化表的方式进行初始化(D) A.常量数据成员 B.引用数据成员 C.类中对象成员 D.一般数据成员 9.下列哪一种类设计一般无需在类中设计静态数据成员以使建立的多个对象共享静态数 据数据成员。( D ) A.一个链表类的头指针和尾指针 B.一个学生类中用于保存建立了多少个学生对象的计数器 C.银行帐号类中的年利率 D.一般只用于建立一个对象的类 10.一个类中的公有(public)性质的静态数据成员,以下哪一种访问方式是错误的(D) A.对象名.静态数据成员名 B.指向对象的指针—>静态数据成员名 C.类名::静态数据成员名 D.类名.静态数据成员名 11.下列哪一个运算符不能够被类所重载(E) A.“.”成员访问运算符 B.“*”成员指针访问运算符 C.“::”域运算符 D.“?:”条件运算符 E.“=”赋值运算符

《面向对象程序设计》实验指导书

《面向对象程序设计》课程实验指导书

实验一 Java开发环境的安装与配置 一、实验目的: 1. 掌握JDK、Eclipse的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。 3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序 编译执行并完成调试。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 四、实验步骤: 1.从https://www.360docs.net/doc/eb15636753.html,/technetwork/java/index.html上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Eclipse环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.金字塔:Pyramid.java 在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下: * *** ***** ******* 要求:金字塔高度h,可以由用户设置。 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)允许用户设置金字塔高度。 4. 编译运行程序,观察输出结果是否正确。

UML大作业实验报告

UML 建模大作业实验报告 组号:选题名:E-store 网上书店系统小组成员

.1.需求模型 从用户角度描述系统功能的用例 登录 (from Use Case View) .J 八. 修改 (from Use Case View) 个人信息维护 (from Use Case View) 从系统管理员角度描述系统功能的用例 (from Use Case View) 补充 注册 选购 (from Use Case View) * II f (from Use Case View) f 令查看 图书浏览 (from Use Case View) II 7 ------- 亠 '收藏夹维护 (from Use Case View) ' (from Use Case View) 游客 会员 (from Use Case View) (from Use Case View) 购物车管理 添加 I (from Use Case View), (from Use Case View) 图书查询 (from Use Case View) ■订单维护 (from Use Case View) 删除 (from Use Case View) 结账 (from Use Case View) 订单状态查询 (from Use Case View) 缺书登记 (from Use Case View) 一 一' 意见反馈 (from Use Case View)

■分配权限 管理员(from Use Case View) 添加人员(from Use Case View) (from Use Case View) 后台用户管理 ---- 弋 (from Use Case View) ■ > ^,X**(from Use Case View) (from Use Case View) 折扣管理 Z I 身份验证 (from Use Case View) ? 、 销售管理 (from Use Case View) 二d ____ - \图书管理 \ h - ■■■ ■ (from Use Case View) .辿—-- 网站用户管理 V (from Use Case View) 订货管理 (from Use Case View) 查看人员 (from Use Case View) 查看意见反馈 (from Use Case View) 2.分析模型 2.1.架构模型 (from Use Case View) r梟—_ ■<- ■- V 删除 '■ (from Use Case View) 辽二询 (from Use Case View) / 统计 (from Use Case View) 订货通知 (from Use Case View) ,沖后台数据库 (from Use Case View) / (from Use Case View) 服务商 (from Use Case View)

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

C++面向对象程序设计实验报告

C++面向对象程序设计实验报告 学院:信息科学与技术学院 班级:卓越电子1201 姓名:刘强 学号:120910115 实验二 C++面向过程程序设计 实验目的 掌握函数声明、定义和使用的方法 掌握函数递归调用的方法 实验内容 1、编写一个函数,求数列运算中从n个不同的数中取r个数的所有选择的个数,要求如下:主程序中设计一个循环,不断从输入接收n和r的值,计算结果并输出,当用户输入0 0时,程序结束; 能检查输入数据的合法性,要求n>=1并且n>=r; 能得到正确结果。 输入:5 3输出:10 输入:10 20;输出:Input Invalid !; 输入:-1 4;输出:Input Invalid!; 步骤: 利用一个函数fn(int n)计算n!, 利用另一个函数Cnr(int n, int r)计算Cnr,在该函数中调用fn(), 程序代码: #include int fn(int n) { int s=1; for(int i=1;i<=n;i++) { s=s*i; } cout<<"n!="<

int Cnr(int n,int r) { cout<<"Please input two numbers:"<>n>>r; if(n==0&&r==0) { cout<<"Programme shutdown."<=1&&n>=r) { int a; int b; int c; int d; a=fn(n); b=fn(r); c=fn(n-r); d=a/(b*c); cout<

c++大作业学生实验报告

学生实验报告 实验课名称: C++程序设计 实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程 班级: 学号: 学生: 同组成员: 教师:

2011 年 6 月 23 日 题目:学生成绩管理系统 一、实验目的: (1)对C++语法、基础知识进行综合的复习。 (2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。 (3)熟悉掌握C++的语法和面向对象程序设计方法。 (4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。 二、设计任务与要求: (1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。 (3)要求划分功能模块,各个功能分别使用函数来完成。 三、系统需求分析: 1.需求分析: 为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理 (录入,输出,查找,增加,删除,修改。) 系统功能分析: (1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、 总分。 (2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、 排序等功能。 2.系统功能模块(要求介绍各功能) (1)录入信息(Input):录入学生的信息。 (2)输出信息(Print):输出新录入的学生信息。 (3)查找信息(Find):查找已录入的学生信息。 (4)增加信息(Add):增加学生信息。 (5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。 (6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。 (7)排序(Sort):按照学生学号进行排序。 3.模块功能框架图

sql大作业实验报告

目录 第一章、需求分析 (2) 1 、需求概述 (2) 2 、功能简介 (2) 第二章、概念结构设计 (3) 1、在员工实体内的E-R图 (3) 2、部门实体内的E-R图 (3) 3、在工资实体内的E-R图 (3) 第三章、逻辑结构设计 (4) 第四章、物理结构设计 (4) 第五章、数据库的实施和维护 (5) 一、数据库的创建 (5) 二、表格的建立 (5) 1、建立Employsse表插入数据并设计相关的完整性约束 (5) 2、建立departments表插入数据并设计相关的完整性约束 (7) 3、建立 salary表插入数据并设计相关的完整性约束 (8) 三、建立视图 (9) 四、建立触发器 (10) 五、建立自定义函数 (12) 六、建立存储过程 (13) 第六章、总结 (14)

第一章、需求分析 1 、需求概述 针对现代化公司管理情况,员工管理工作是公司运行中的一个重环节,是整个公司管理的核心和基础。它的内容对于公司的决策者和管理者来说都至关重要,所以公司管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 公司员工管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。 具体功能包括:系统应该提供员工数据的插入、删除、更新、查询;员工基本信息查询的功能。 2 、功能简介 员工管理系统它可以有效的管理员工信息情况。具体功能有以下几个方面。基本信息的添加,修改,删除和查询。学生信息管理包括添加、查看学生列表等功能。

面向对象程序设计大作业(C++)

面向对象分析/设计课程大作业 银行业务处理系统 13级软件学院测试班 1367004029 曾丹 1.需求分析 随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。 现今,人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务:同时,随着我国加入世贸组织的日益临近,我国的银行业将面临更加激烈的同业竞争,如何提供更多的金融产品和更优质的服务,如

何吸引更多的客户,如何利用计算机技术加强银行帐户信息管理、进行银行业务再造,提高银行的工作效率和业务竟争能力是摆在各家银行面前的一个迫切需要解诀的问题。 近几年来,各商业银行加快了与社会各业的合作,利用自身的网点优势和业务特点,为其提供各种高效、快捷的代收代付业务,也就是中间代理业务,目前以与广大人民群众生活密切相关的各项缴费业务如水电费、电话费、手机费等代收业务为主,这些业务开展方式多种多样,但一般都离不开计算机的高效管理支持。 随着代理业务不断发展,业务品种越来越多,各项业务做法互有差异,这就对银行的电子化水平和相应的管理水平提出了更高的要求。如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各种各样的业务,是每个商业银行所要研究的课题。支持决策系统的,需要在数据库的基础上,进行联机分析处理,每次处理的数据量大,响应时间长。 特别是银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。 主要用于银行的储蓄卡管理系统,它可以帮助我们有效、准确、并且高效实现的完成存取事件。此系统操作方便效率、安全性高,只要客户开户并设定好密码就可以轻松的实现存取款。 系统实现的主要有储蓄卡开户管理、存取款管理、用户查询历史数据显示、注销等功能。 储蓄卡开户管理模块:卡号、姓名、开户金额、身份证号、地址、电话、密码、确认密码和保存组成。(开户金额必须是数字,密码和确认密码必须一样是六位数字) *注销模块:一旦注销该卡号就不存在且余额提醒你取出。 通过该银行账户管理系统地运行,使办公人员可以轻松快捷的完成对账户管理的任务,提高账目管理效率,使银行的账目管理工作系统化、规范化、自动化。 该银行帐目管理信息系统,优点是设计过程思路清晰、模块划分简洁,设计各阶段分工明确。经过实践证明,该划分是合理的,极大得提高了本系统的实现。

车牌识别综合实验报告大作业

数字图像处理综合实验报告 车牌识别技术(LPR) 组长:__ ******_____ 组员:___ _****** _ ___ _******_____ ____ _*******___ 指导老师:___ *******_____ *****学院****学院 2010年6月10日

实验五车牌识别技术(LPR) 一、实验目的 1、了解车牌识别系统的实现,及车牌识别系统的应用; 2、了解并掌握车牌识别系统如何实现。 二、实验内容 1、车牌识别系统的图像预处理、 2、车牌定位、 3、字符分割 4、字符识别 三、实验原理 车辆牌照识别(LPR)系统是一个专用的计算机视觉系统,它能够自动地摄取车辆图像和识别车牌号码,可应用在公路自动收费、停车场管理、失窃车辆侦察、门卫系统、智能交通系统等不同场合。LPR系统的广泛应用将有助于加快我国交通管理自动化的进程。 1、预处理 摄像时的光照条件,牌照的整洁程度,摄像机的状态(焦距,角度和镜头的光学畸变),以及车速的不稳定等因素都会不同程度的影响图像效果,出现图像模糊,歪斜或缺损,车牌字符边界模糊不清,细节不清,笔画断开,粗细不均等现象,从而影响车牌区域的分割与字符识别的工作,所以识别之前要进行预处理。预处理的包括: 1)消除模糊—— 用逆滤波处理消除匀速运动造成的图像运动模糊 2)图像去噪。 通常得到的汽车图像会有一些污点,椒盐噪声,应用中值滤波 3)图像增强 自然光照度的昼夜变化会引起图像对比度的不足,所以必须图像增强,可以采用灰度拉伸,直方图均衡等 通过以上处理,提高了图像的质量,强化了图像区域。

2、车牌定位 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。 ? 图像的灰度化 ? 图像灰度拉伸 ? 对图像进行边缘检测 采用Sobel 算子经行边缘检测 该算子包含两组3*3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A 代表原始图像,Gx 及Gy 分别代表经横向及纵向边缘检测的图像,其公式如下: A Gx *]101202101?????+-+-+-?????= and A *121000121Gy ?? ?? ? ---+++?????= 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 2 y 2 x G G G += 然后可用以下公式计算梯度方向。 ??? ? ??=x y G G arctan θ 在以上例子中,如果以上的角度θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。 ? 对其进行二值化 ? 纹理分析法 行扫描行法是利用了车牌的连续特性。车牌区域有连续7个字符,而且字符与字符之间的距离在一定范围内。定义从目标到背景或者从背景到目标为一个跳变。牌照区域相对于其它非车牌区域跳变多,而且间距在定范围内和跳变次数大于一定次数,并且连续满足上述要求的行要达到一定的数目。 从下到上的顺序扫描,对图像的每一行进行从左向右的扫描,碰到跳变点记录下当前位置,如果某行连续20个跳变点以上,并且前一个跳变点和后一个跳变点的距离在30个像素内,就记录下起始点和终止点位置,如果连续有10行以上这样的跳变点,我们就认为该区域就是车牌预选区域。 3、字符分割: 完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。 ? 车牌区域灰度二值化

面向对象程序设计作业参考答案

习题一 5、分析下面程序运行的结果。 # using namespace std; int main() { cout<<”This”<<”is”; cout<<”a”<<”C++”; cout<<”program.”< using namespace std; int main() { int a,b,c; a = 10; b = 23; c = a + b; cout<<'a + b ="; cout< using namespace std; int main() { int a, b; a = b = 0; int c = a + b; cout<<”a + b =”<

9、输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。 修改后的程序如下: #include using namespace std; int add(int x,int y); int main() { int a = 0, b = 0; int c = add(a,b); cout<<" a + b ="<

C--大作业图书管理系统实验报告

附件1: 《面向对象程序设计》 大作业 题学专班姓目 院 业 级 名 学生成绩管理系统 文法学院 教育学 教育学1201 杨欣 指导教师鄢红国 2013 年12 月20 日学号:0121213640126

目录 一二三四五六七八十设计目的 (1) 大作业的内容 (2) 大作业的要求与数据 (3) 大作业应完成的工作 (4) 总体设计(包含几大功能模块) (5) 详细设计(各功能模块的具体实现算法——流程图) (6) 调试分析(包含各模块的测试用例,及测试结果) (7) 总结 (8) 参考资料 (9)

一二 大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等) 进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够 完成以下功能: (1)每一条记录包括一本图书的编号、书名、库存量 (2)图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3)图书信息显示浏览功能:完成全部图书记录的显示。 (4)查询功能:完成按书名查找图书记录,并显示。 (5)图书信息的删除:按编号进行图书某图书的库存量. (6)借书登记系统:可以输入读者编号和所借书号来借书。 (7)还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

面向对象程序设计试卷作业答案

《面向对象程序设计》作业答案 作业一: 编写程序,将从键盘读入的所有大小写字母写入名为a.txt的文件中(遇EOF结束)。(本题总分10分,fopen函数使用妥当4分,读入过程正确4分,关闭文件2分。程序结构完整,有不妥之处,酌情扣分。) #include main ( ) { FILE *fptr; fptr = fopen("a.txt","w"); if (fptr==NULL) return 0; char a; a=getchar( ); while(a!=EOF ) { if(a>=’a’ && a<=’z’|| a>=’A’ && a<=’Z’) fputc(a,fptr); a = getchar(); } fclose(fptr); return 0; } 作业二 定义一个矩形类Rectangle,并在main函数中用它声明一个矩形对象,然后利用接口 设置该矩形对象的长和宽、计算面积并输出。(本题总分10分,类结构2分,设置矩阵对象的长与高各1分,计算面积函数2分,输出函数2分,主函数2分。程序结构完整,有不妥之处,酌情扣分。) #include #include class Rectangle { public: int getArea(); void setWidth(int w); void setLength(int l); private: int Length; int Width;

}; int Rectangle::getArea() { return Length*Width; } void Rectangle::setLength(int l) { Length=l; } void Rectangle::setWidth(int w) { Width=w; } main() { int len,wid; Rectangle r1; cout<<"Input the Rectangle's Information"<>len; cout<<"Width:"<>wid; r1.setLength(len); r1.setWidth(wid); cout<<"Rectangle's Area:"< #include struct Node { int item; struct Node *next; };

python大作业实验报告

大学计算机基础 (理工)大作业 ――暨南大学南校区生活指南系统 G108 甘颖欣熊梦娜翁婉晖梁绮婷李嘉顺 2015-1-3 目录目录 (2)

“暨南大学南校区生活指南系统”选题说明书 (3) 1. .............................................................................................................................................................. 成员分组和任务分工 .. (3) 2. .............................................................................................................................................................. 选题说明3 2.1 选题任务描述 (3) 2.2 设计思路描述 (4) 2.3 程序运行效果........................................................ . (4) 2.4 涵盖的主要知识点 (4) 3. .............................................................................................................................................................. 进度安排4“暨南大学南校区生活指南系统”实现报告. (5) 1. 成员分组和任务分工 (5) 2. .............................................................................................................................................................. 设计实现详细说明 . (5) 2.1 选题任务详细描述 (5) 2.2 设计思路详细描述 (6) 2.3 涵盖的主要知识点 (12) 3. 总结 (12)

虚拟仪器大作业实验报告

东南大学生物科学与医学工程学院 虚拟仪器实验报告 大作业 实验名称:基于MIT-BIH 心率失常数据库的心电信号系统的设计专业:生物医学工程 姓名:学号: 同组人员:学号: 实验室: 实验时间:评定成绩:综合楼716 2013/11/28 审阅教师:

目录 一.实验目的 二.实验内容 基于MIT-BIH心率失常数据库的心电信号系统的设计 1.实验要求和说明 2.程序设计流程图 3.程序各版块介绍说明 4.前面板的设计 5.调试过程 6.结果及分析 三.实验收获及小结 四.参考文献

一.实验目的 现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG 的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。 本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言L abVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。 二.实验内容 1.实验内容及要求 基于MIT-BIH心率失常数据库的心电信号系统的设计 1. 本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率数据库(https://www.360docs.net/doc/eb15636753.html,/physiobank/database/mitdb/)中选取心电信号作为实验分析的数据。设计的系统要求对原始心电信号进行读取、绘制出其时域波形,利用原始心电数据中的时间数据控制显示时间,并具有保存回放功能,同时具有心率过快或过缓报警提示功能。 2.心电信号是微弱低频生理电信号,通常频率在0.05Hz~100Hz,幅值不超过 4mV,它通过安装在皮肤表面的电极来拾取。由于实际检测工况的非理想,在ECG 信号的采集过程中往往会受到工频噪声及电极极化等各种随机噪声的影响。噪声的存在降低了诊断的准确性。其中影响最大的是工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移等是必须解决的问题。要求选择并设计合适的滤波器,除去所给心电信号的工频干扰和基线漂移。 2.检测心率:检测信号心电的R波,计算平均心率和实时心率(R-R波时间间隔 的倒数),并显示实时心率和平均心率。 3.对任一路心电信号滤波前后的信号进行时域分析和频谱分析,分别显示出结 果。 提高部分: 由于原始信号数据并不是等间隔采样而得到的,而L abview中用数字滤波器1. 处 理的数据要求等间隔的,由此需要对原始数据做一次线性插值处理,使其成为均匀数字信号,以便后面的信号进行频域谱分析。提示:根据原文件心电

相关文档
最新文档