面向对象技术作业-答案

面向对象技术作业-答案
面向对象技术作业-答案

《面向对象技术》书面作业

一、选择题(每小题3分,共48分)

1、下列关于C++函数的叙述中,正确的是( C )。

A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值

C)函数在被调用之前必须先声明 D)函数不能自己调用自己

2、下列关于类和对象的叙述中,错误的是( A )。

A)一个类只能有一个对象 B)对象是类的具体实例

C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系

3、在C++中,用于实现运行时多态性的是( D )。

A)内联函数 B)重载函数 C)模板函数 D)虚函数

4、下列关于运算符重载的叙述中,正确的是( B )。

A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载

C)若重载运算符+,则相应的运算符函数名是+

D)重载二元运算符时,必须声明两个形参

5、对于语句 cout<

A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行

C)“x”是一个变量D)“<<”称作提取运算符

6、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( B )。

class MyBASE

{ private: int k;

public: void set(int n){ k=n;}

int get( )const{ return k;} };

class MyDERIVED: protected MyBASE

{ protected: int j;

public: void set(int m, int n){ MyBASE::set(m); j=n;}

int get( ) const { return MyBASE::get( )+j; } };

A)4 B)3 C)2 D)1

7、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( B )。

A)这是运算符-的重载运算符函数B)这个函数所重载的运算符是一个一元运算符

C)这是一个成员函数D)这个函数不改变类的任何数据成员的值

8、执行如下的程序段后,输出结果是( A )。

cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl;

A)###123 B)123### C)***123 D)123***

9、在下列函数原型中,可以作为类AA构造函数的是( D )。

A)void AA(int); B)int AA(); C)AA(int)const; D)AA(int);

10、下面四个选项中,( A )是用来声明虚函数的。

A)virtual B)public C)include D)using namespace

11、实现运行时的多态性要使用( D )。

A)重载函数 B)构造函数 C)析构函数 D)虚函数

12、要实现动态联编,必须通过( A )调用虚函数。

A)对象指针 B)成员名限定 C)对象名 D)派生类名

13、以下( C )成员函数表示纯虚函数。

A)virtual int vf(int); B)void vf(int)=0;

C)virtual void vf()=0; D)virtual void vf(int){}

14、有如下类声明:class XA

{ private: int x;

public: XA(int n){ x=n;} };

class XB: public XA

{ private: int y;

public: XB(int a,int b); };

在构造函数XB的下列定义中,正确的是( B )。

A)XB::XB(int a,int b): x(a),y(b){ } B)XB::XB(int a,int b): XA(a),y(b){ }

C)XB::XB(int a,int b): x(a),XB(b){ } D)XB::XB(int a,int b): XA(a),XB(b){ }

15、在表达式 x+y*z中, + 是作为成员函数重载的运算符,* 是作为非成员函数重载的运算符。则 operator+ 有个参数,operator* 有参数。( C )

A)2、2 B)2、1 C)1、2 D)1、1

16、应在下列程序划线处填入的正确语句是( C )。

class Base

{ public:

void fun(){cout<<"Base::fun"<

class Derived:public Base

{ void fun()

{ //显示调用基类的函数fun()

cout<<"Derived::fun"<

A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();

二、填空题(每空2分,共20分)

17、面向对象程序设计有四个主要特点,即抽象、封装、_继承_和_多态性_。

18、非成员函数应声明为类的_友元_函数才能访问这个类的private成员。

19、派生类中的成员不能直接访问基类中的_私有_成员。

20、在用class定义一个类时,数据成员和成员函数的默认访问权限是_私有_。

21、运算符重载函数可能是类的_成员_函数,也可以是类的_友元_函数,还可以是普通函数。

22、用流对象的成员函数控制输出格式时,用于设置字段宽度的流成员函数的名称是_ width _,与之作用相同的控制符名称是_/setw _。

23、含有纯虚函数的类称为_抽象类_。

三、程序的填空、程序的执行(每题4分,共20分)

24、以下程序是定义一个计数器类counter,对其重载运算符“+”,请填空。

class counter

{ private: int n;

public:

counter() {n=0;}

counter(int i){n=i;}

_counter operator+(counter c)___ //运算符重载函数

{ counter t; t.n=n+c.n; return t; }

void disp() {cout<<"n="<

};

void main()

{ counter c1(5),c2(10),c3;

c3=c1+c2;

c1.disp(); c2.disp(); c3.disp(); }

25、下列程序的输出结果为2,请将程序补充完整。

class Base

{ public:

_virtual_ void fun()

{ cout<<1; }

};

class Derived: public Base

{ public:

void fun( ) { cout<<2; }

};

int main( )

{ Base *p= new Derived;

p->fun( );

delete p;

return 0; }

26、写出执行下面程序的输出结果。

void fun(int &x, int y)

{ int t=x; x=y; y=t; }

int main( )

{ int a[2] = {23, 42};

fun(a[1],a[0]);

std::cout<

return 0; }

23,23

27、写出执行下面程序的输出结果。

class A { public: A() { cout<<"A"; } };

class B { public: B() { cout<<"B"; } };

class C : public A

{ B b;

public: C() { cout<<"C"; }

};

int main( ) { C obj; return 0; }

ABC

28、写出执行下面程序的输出结果。

class Base

{ private:

char c;

public:

Base(char n):c(n){}

virtual ~Base(){cout<

};

class Der:public Base

{ private:

char c;

public:

Der(char n):Base(n+1),c(n){}

~Der(){cout<

};

int main()

{ Der("X"); return 0; }

XY

四、编程题(12分)

29、编写一个程序计算“三角形、正方形、圆形”三种图形的面积,要求:

a)抽象出一个基类base;

b)在其中说明一个虚函数用来求面积;

c)利用派生类定义“三角形、正方形、圆形”;d)编写主函数并测试。

#include

using namespace std;

class base

{ public:

virtual float area() const

{ return 0; }

};

class triangle: public base

{ protected:

float bian,height;

public:

triangle(float a=0, float h=0) { bian=a; height=h; }

virtual float area() const

{ return bian*height/2; }

};

class square: public base

{ protected:

float bian;

public:

square(float a=0) { bian=a; }

virtual float area() const

{ return bian*bian; }

};

class circle: public base

{ protected:

float radius;

public:

circle(float r=0) { radius=r; }

virtual float area() const

{ return 3.14*radius*radius; }

};

int main()

{ triangle t(3,4); square s(5); circle c(2);

base *p;

p=&t; cout<<"triangle's area:"

p=&s; cout<<"square's area:"

p=&c; cout<<"circle's area:"

return 0;

}

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)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

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

面向对象程序设计实验指导书 实验一、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关闭工作空间。

面向对象方法精粹大作业

面向对象方法精粹

目录 1 需求分析..................................................... 错误!未定义书签。 1.1 项目描述 (3) 1.2 功能描述 (3) 2 构建功能模型 (5) 2.1 确定系统边界 (5) 2.2 寻找参与者 (5) 2.3 寻找用例 (5) 3 构建结构模型 (8) 3.1 寻找并保留正确的类 (8) 3.2 准备数据词典 (8) 3.3 寻找关联属性并细化 (9) 4 构建行为模型 (11) 4.1 状态机图 (11) 4.2 活动图 (12) 4.3 顺序图 (14)

1需求分析 1.1 项目描述 该项目建立一个育童网站,旨在为没有时间呵护孩子成长的年轻父母提供育童服务。网站采取B/S架构,客户通过浏览器获取所需服务,注册账号,订购服务。公司通过后台管理订单。同时,网站设有育童论坛,供年轻父母进行交流与分享,通过论坛方式可获得育童积分,累积可转换为育童券,进行购物。网站同时为年轻父母提供第三方支付的服务和旅游,餐饮与医疗服务。在购买服务时的支付方式为第三方支付和育童券支付,育童券可以冲抵现金,但不能兑换现金。每个账号有自己的等级,等级越高则购买相应服务折扣越大。 该网站为一个P2P的线下服务平台,主要客户为时间不充裕的年轻父母,主要商家为育童公司,以及与育童网合作的旅游,餐饮和医疗公司。通过育童公司订购的旅游,餐饮和医疗服务将享有折扣。 1.2 功能描述 用户(年轻父母): 1.年轻父母可提交服务订单; 2.年轻父母可提交自己的育童服务专页(含认知教程,营养食谱,医疗 卫生,屋舍设施,户外环境); 3.年轻父母可向亲朋好友发送孩子百日电子请柬; 4.年轻父母在线支付育童服务费(如网银,第三方,爱童券等); 5.年轻父母分享孩子成长视频/图片获得爱童券; 6.年轻父母之间可以相互交流;

第4章-Java语言与面向对象作业习题与答案

第4章 Java语言与面向对象作业习题与答案 一、简答题 1.什么是对象?什么是类? 对象是一种抽象数据类型。它包含了事物的静态特征(属性)和动态特征(行为)两大特征。 类是一组同种对象的集合与抽象。即是具有相同属性和方法的一组对象集合。 2.Java语言的单继承是指什么? 一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。 3.在一个共有类中的数据成员及方法成员的访问控制符为缺省,则这个类可供什么样的包引用? 当一个类的访问控制符为public共有时,表明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。 4.抽象类的用途 (1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性; (2)设计出的类也具有更加良好的可扩展性。 5.什么是非静态的成员变量? 非静态成员即为实例成员变量(没有加static修饰的变量)。 6.异常Exception和错误Error有什么不同?Java如何处理它们? 答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。 异常表示另外一种“非同寻常”的错误。这种错误通常是不可预测,但可以被捕获且可以恢复。常见的异常情况包括存不足、找不到所需文件等。 对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。 对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。 7.简单述Java的异常处理机制。 答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。 8.简单述throw语句和throws关键字之间的差别。 答:throw语句是在一个方法中用来直接抛出异常对象,其格式是: throw 异常对象; throws关键字是用一个方法声明首部,用来指出这个方法中可能产生若干种异常,其格式:[方法修饰符] 返回类型方法名(参数表)throws 异常类型表 { /*方法体*/ } 二、填空题 1.所有Java应用程序都必须包含的一个类方法是 main() 。 2.面向对象程序设计语言的三种重要特性是封装性、继承性和多态性。

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/ce14958559.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. 编译运行程序,观察输出结果是否正确。

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

人工智能学院 面 向 对 象 程 序 设 计 作 业

Java语言基础 年级专业 2019级软件工程专业学号姓名成绩 一、选择题 1.下列标识符中,正确的是(C)。 A.class B. 123_rr C. _lei D. test&12 2.下列( D )的选项可以正确表示八进制8。 A.0x8 B. 0x10 C.08 D. 010 3. 以下哪个是十进制数17对应的十六进制正确表示?( D ) A. 017 B. x11 C. 0x17 D. 0X11 4.在Java中,不属于整数类型的是( A )。 A.double B. long C. int D. byte 5.在Java中,关于标识符的说明,不正确的是(D )。 A.严格区分大小写; B.长度不限; C.不能用关键字和保留字作为标识符; D.可以包含空格 6.给出下面代码的输出结果。( D ) public class ByteAdd { public static void main(String args[ ]){ byte a=10; byte b=100; byte c; c=a+b; System.out.println(a+"+"+b+"="+c);} } A.输出零 B.输出 10+100=110 C. 编译时正确,运行时将产生错误; D.编译时将产生错误; 二、程序阅读题 1. 对于以下程序,运行“java Abs”,将得到什么打印结果?public class Abs{ static int a=0x11; static int b=0011; static int c='\u0011';

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

学号:姓名: 第三章面向对象程序设计作业 一、判断题 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++)

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

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

面向对象程序设计实验报告完整版

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 综合实验报告 面向对象程序设计 专业名称: 物联网工程 ___班级: _____ 级2班__ ___________姓名: 你哥哥 学号: 02051928 信息科学与工程学院 二零一三年七月

第一题: (1) 1.1题目概述 (1) 1.2设计思路 (2) 1.3设计说明与调试分析 (2) 1.4编码实现 (2) 1.5程序运行结果 (5) 1.6设计心得 (5) 第二题: (6) 2.1题目概述 (6) 2.2设计思路 (7) 2.3设计说明与调试分析 (7) 2.4编码实现 (7) 2.5程序运行结果 (11) 2.6设计心得 (11)

第一题: 1.1题目概述 用抽象类设计计算二维平面图形图形面积的程序, 在基类TDshape中设计纯虚函数area()和printName(), area()用于计算几何图形的面积, printName()用于打印输出几何图形的类名, 如Triangle类的对象就打印输出”Triangle”。每个具体形状的类则从抽象类TDshape派生, 各自需要定义其它独有的数据成员和成员函数, 而且定义area()和printName()的具体实现代码, 如图所示。 要求编写以TDshape为接口的函数, 借以访问具体类如

Triangle和Rectangle类的成员函数area(), printName ()。1.2设计思路 由简到繁, 逐步实现。 1.3设计说明与调试分析 编写基类TDshape->编写虚函数->编写继承类Triangle ->实例化TDshape和Triangle ->调用基类虚函数实现调用继承类相应函数->同样的方式处理继承类Rectangle. 1.4编码实现 #include using namespace std; class TDshape{ public: virtual void area()=0; virtual void printName()=0; }; class Triangle:public TDshape{ private: double width,height;

面向对象程序设计大作业 2

面向对象程序设计大作业 计算器类 完成时间:2013 年 5月25日

计算器类 1.编程目的 设计实现计算器类,能进行整数及实数的加、减、乘、除、平方、开方等基本运算,及能进行二进制,十进制,八进制,十六进制数值之间的转换,以及能进行三角函数的计算。 2.系统简介 本程序利用类完成了十进制下的四则运算(加,减,乘,除),可以把十进制转化为二进制、八进制、十六进制,可以进行一些常用的函数运算(比如sin、cos、tan、sqrt等)。程序设计语言采用Visual C++6.0,程序运行平台Windows 7,程序通过调试运行实现了设计目标。 刚开始时出现主要的运算界面,然后进行选择1-3.选择1,则进行一般运算;选择2,则进行三角函数运算;选择3,则进行进制的转换。若选择1,则又分为1-7个选择,利用if...else if...else...语句来实现。若选择1,进行加法运算;选择2,进行减法运算;选择3,进行乘法运算;选择4,进行除法运算;选择5,进行取余运算;选择6,幂运算;选择7,开方运算。三角函数和进制转换与此类同。 3.编程思路 本程序分为三类:(1)实现了十进制下的四则运算(加、减、乘、除),还可以进行平方、开方的运算及幂的运算;(2)实现十进制转换为二进制、八进制、十六进制。(3)进行三角函数的基本运算。 建立一个文件,该文件包含三个类程序分别为class Trigonometric、class HexBinDecOct、class Calculate且分别对应三角函数运算、进制转换、一般运算,最后是一个主函数。 4总体设计(附类图) 编程实现计算器,用类来完成。首先,编写的是三角函数(sin、cos、tan)的实现类;其次,一般运算(加、减、乘、除、开方、幂)类;最后是,把十进制转换为二进制、八进制、十六进制。 具体程序实现如下图表示: 计算器类class 一般运算class calculate 三角函数class Trigonometric 进制转换class HexBinDecOct

软件工程大作业

《软件工程》 大作业 学期:2015秋季学期 班号: 学号: 姓名: 成绩: 子与信息工程学院 2015年10月

目录

第1章系统概述 随着计算机网络技术和信息技术的不断发展,人类信息资源实现高度共享,从根本上改变了人类生活的方式,网上购物作为一种新型的购物方式,以其快捷方便的特点成为了人们购物的主要选择。网上支付的不断完善,加上物流业的配套建设,使得用户能够足不出户就能挑选商品,节省了时间和金钱,这种网上购物方式越来越受到人们的青睐。 1.1系统介绍 网上商城系统是一个可以方便各类人群所需,省时省力全方位的大型购物网上商城,可以让所需人群足不出户不分地域时间的购买所需用品。网上商城系统共分为两个部分:前台用户部分和后台管理部分。在前台系统中有用户注册登陆,浏览商品,选购商品,订购商品。后台系统中有系统管理,会员管理,订单管理,商品管理。在用户注册模块中,分别加强了用户注册信息验证的严格性;在商品或商家信息浏览和查询模块中,用户可以对商品进行浏览检索,查看商品的详细信息;非注册会员可以选定商品加入购物车,但只有注册成会员的用户才能对商品进行购买。在后台系统中,系统管理员可以对已注册的用户进行审查,可以对现有的商品进行管理;并对提交的订单进行处理与邮寄。 1.2开发的目的与意义 在线购物系统,从结构上讲,可以划分为前台和后台两个部分,主要涉及到前、后台的网页设计,以及与数据库相关的操作。在网络应用中,数据库的应用是一个很关键的环节。特别地,随着Internet的普及和人们对于互联网的依赖性,许多基于互联网的应用也不断的涌现出来。基于B/S(浏览器、服务器)构架开发网站和系统已成为一种主流趋势,人们对其的需求也越来越大。 现在已经进入网络时代,很多电子产品的生产企业也开始意识到了网络的重要性,开始在电子产品中加入对网络服务的支持。比如在智能手机中增加了对移动互联网应用的支持,这在提升了电子产品的竞争力的同时,也扩展了电子商务的应用范围。 总体上看,电子商务的发展,具有十分良好的发展前景。

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

习题一 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.1 实验目的 1.了解并熟悉开发环境,学会调试程序; 2.熟悉C++中简单的标准输入输出函数的使用方法; 3.理解const修饰符的作用并学会应用; 4.理解内联函数的优缺点并学会其使用场合; 5.理解并学会函数重载; 6.理解并熟练掌握使用new和delete来分配内存; 7.理解并熟练掌握引用的使用方法。 1.2 实验内容 1.2.1 程序阅读 1.理解下面的程序并运行,然后回答问题。 #include int max_def(int x, int y) { return (x>y?x:y); } int max_def(int x, int y, int z) { int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } double max_def(double x, double y) { return (x>y?x:y); } int main()

{ int x1 = 0; int x2 = 0; double d1 = 0.0; double d2 = 0.0; x1 = max_def(5,6); x2 = max_def(2,3,4); d1 = max_def(2.1,5.6); d2 = max_def(12.3,3.4,7.8);-----------------------------------------------------①cout<<"x1="<=’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; };

面向对象程序设计(C++) 实验指导书

实验 1 类和对象 1.1实验目的和要求 (1) 理解类和对象的概念, 掌握声明类和定义对象的方法。 (2) 掌握构造函数和析构函数的实现方法。 (3) 初步掌握使用类和对象编制C++程序。 (4) 掌握对象数组、对象指针和string类的使用方法。 (5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。 (6) 掌握类对象作为成员的使用方法。 (7) 掌握静态数据成员和静态成员函数的使用方法。 (8) 理解友元的概念和掌握友元的使用方法。 1.2实验内容和步骤 1.输入下列程序 //test4-1.cpp #include using namespace std; class Coordinate { public: Coordinate(int x1,int y1) { x=x1; y=y1;

Coordinate(Coordinate &p); ~Coordinate() { cout<<”Destructor is calleded\n”;} int getx() {return x;} int gety() {return y;} private: int x,y; }; Coordinate::Coordinate(Coordinate &p) { x=p.x; y=p.y; cout<<”copy-initialization Constructou is called\n”; } int main() { Coordinate p1(3,4); Coordinate p2(p1); Coordinate p3=p2;

面向对象技术大作业要求

《面向对象技术》课程大作业任务书 一、大作业基本要求 (1)要求利用面向对象的方法以及c++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义两个类,每个类中要有各自的属性和方法; (4)用VC++6.0及MFC开发软件; (5)程序要自己完成,不可抄袭。 二、大作业参考题目(任选一题,或经过批准自选题目) 题目一:学生信息管理系统 要求完成以下功能: 1)从屏幕上输入学生信息并保存数据,例如采用文件方式保存。学生信息包括地址、出生 日期、学科成绩(语文,英语,数学,物理)、个人信息(姓名,性别,民族,国籍,学历)、联系方式(手机,家庭电话,学校电话)等。 2)从文件中删除一个学生信息。 3)显示所有学生信息。 4)能够按编号或姓名对学生的信息进行检索并将检索结果显示在屏幕上。 5)能够对单个学生进行编辑。 6)可以统计全部学生的总成绩,及其在班上的排名。 7)能够统计各科的平均成绩及及格率。 8)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。 9)如果检索不到相应的信息应提示用户。 10)要求利用菜单的形式进行管理。 提示:可以用单链表每个节点存储一个学生的信息。可以采用文件存储。需要创建链表类,操作类,地址类,链表结点类,学生类,分数类,电话号码类等 题目二:图书管理系统设计 要求完成以下功能: 1)借书。图书借阅信息:借阅人、借阅人所在单位、借书证号、所借书名、借阅日期、归还日期、逾期罚款等。借阅期限为一个月,逾期1天,罚款1角。 2)还书。 3)图书维护:删除图书,增加图书等。图书基本信息:图书编号、书名、作者(要考虑多个作者情况)、出版社、出版日期、定价、馆藏数、借阅数等。 4)读者维护:包括新增读者、更改读者信息、查找读者、读者信息删除、读者信息输出。5)要求利用菜单的形式进行管理。 提示:建议对读者和图书都使用类进行管理。需要创建类

面向对象作业

面向对象上机练习题 (用例图、状态图、泳道图、数据流图) 1.一个图书管理系统的功能需求主要包括以下几个方面:借阅者可以通过网络查询书籍信息和预定书籍。借阅者能够借阅书籍和还书。图书管理员能够处理借阅者的借阅和还书请求。系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。请画出图书馆管理员处理借书、还书等的用例图和系统管理员进行系统维护的用例图。 2.假设一个包中的对象分为简单对象和复合对象。简单对象分别是弧、椭圆、折线、多边线。简单对象可以被移动、旋转、复制、擦除。复合对象由简单对象组成,复合对象可以移动、旋转、复制、擦除。组成复合对象的简单对象不能个别地被修改。请画出类图。

3.复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。

4.假如要建立一个网站,用于发布家教消息,同时建立家教及学生的沟通桥梁。基本需求如下: (1)家教求职者希望能注册本人信息、修改本人资料、浏览家教信息、搜索家教信息。(2)学生希望能够注册本人信息、修改本人资料、浏览家教信息、搜索家教信息。(3)管理员希望能够发布网站公告、处理家教信息。 根据上面提出的基本需求,加以设计,建立家教网上发布系统的用例图。

相关文档
最新文档