面向对象程序设计课设题目
面向对象课程设计题目(1)
2011计算机科学与技术专业面向对象课程设计题目李爱华一设计要求每个题目可以1人或至多两人,按题目要求完成程序设计及课程设计报告。
(题目相同者的课程设计报告不能完全相同。
)二题目列表三题目内容及要求题目1 矩阵运算内容及要求:定义矩阵类,实现矩阵加法、减法、乘法、矩阵转置、求矩阵的逆矩阵等。
用程序实现验证n*n矩阵的如下定理:A(BC)=(AB)C。
题目2 填XO游戏程序内容及要求:游戏规则和胜利条件:棋盘共有5行5列:选择难度(1):两个斜对角之一都为X或O,则玩家胜。
一横行都为X或O则玩家胜。
)一竖行都为X或O则玩家胜。
选择难度(2):两个斜对角之一都为X或O,则玩家胜。
选择难度(3):两个斜对角都为X或O,则玩家胜。
输入必须为一个两位整数,如11,代表棋盘的第一行第一列,输完后按回车键;玩者下一步X或O,计算机也自动下一步X或O。
程序运行示例:题目3 统计学生成绩内容及要求:要求编写一个“Student”类及用来存取文件的save()和load()函数,使用函数及运算符重载技术完成如下操作:(1)计算每个学生的平均成绩,将数据存入文件stud.dat中并验证是否正确地存入了文件。
(2)要求对“<<”和“>>”运算符进行重载。
(3)把学生姓名和平均成绩抽取出来,建立一个简明文件stud_mean.dat,并验证是否正确地存入了。
(4)从文件stud.dat按如下格式输出大于等于平均成绩的学生信息:学号姓名算术语文平均(5)将两门功课成绩都不及格的学生信息从文件中删除并另外存入文件bad.dat中。
(6)编写能检索文件中某个学生信息的子程序。
如无此学生,输出“未查到”信息。
(7)使用多文件编程和菜单操作。
题目4 会议记录管理系统内容及要求:定义会议信息类class Conference会议信息包括:会议编号,会议名称、部门名称、会议地点,会议日期,会议主持人,会议记录人,出席人员,会议摘要。
面向对象程序设计样卷
面向对象程序设计样卷一、选择题( 本大题共10小题, 每题2分, 共20分)4.在下列定义的引用中, ( B )是错误的。
A. int i;B. int i;int &j = i; float &j=i;C. float i;D. char d;float &j = i; char &e = d;5. 假定BB为一个类,则执行BB y;语句时将自动调用该类的( B )A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数7.下列对派生类的描述中, ( C )是错误的。
A. 一个派生类能够作为另一个派生类的基类B.派生类至少应有一个基类C. 基类中成员访问权限继承到派生类中都保持不变D.派生类成员除了自己定义的成员外, 还包含了它的基类成员10.控制输出格式的控制符中, ( D )是设置输出宽度的。
A.wsB.endsC. setfill()D.setw()二、填空题( 本大题共10小题, 每题2分, 共20分)1.以/*开始, 以*/结束, 在/*和*/之间的部分即为注释。
2.重载函数在参数类型或参数个数上不同, 但函数名和类名_相同。
3. 假如一个类的名称为MyClass, 使用这个类的一个对象初始化该类的另一个对象时, 能够调用__拷贝______构造函数来完成此功能。
4.当删除对象时, 程序自动调用析构函数。
5. 对于每一个类的非静态成员函数, 都有一个隐含的_this_______指针。
8. 抽象类是指类里有一个函数, 是纯嘘函数。
三、改错题( 下面程序或程序段中有一处错误, 请用注释标明错误所在行的出错原因。
本大题共5小题, 每题2分, 共10分) 1. #include<iostream>using namespace std;int main(){ cout<<"This is a program."<<endl;return 0;}2. #include<iostream>using namespace std;int main(){x=3;int y=x*x;cout<<"y="<<y<<"\n";return 0;}3. #include<iostream>using namespace std;class Aa{public:Aa(int i=0){a=i; cout<<"Constructor "<<a<<endl; } ~Aa(){ cout<<"Destructor "<<a<<endl; }void print( ){cout<<a<<endl;}private:int a;};int main(){Aa al(1),a2(2);al.print();cout<<a2.a<<endl;return 0;}4.class A{int a,b;public:A(int aa,int bb=78){a=aa;b=bb;} };int main(){A x(2), y(4,9);return 0;}5. #include<iostream>using namespace std;class Test{public:static int x;};int Test :: x=20;int main(){cout<<Test::x;return 0;}四、程序分析题( 分析程序, 写出运行结果。
面向对象课程设计题目
课程设计题目详细要求题目1 “高校人员信息管理系统设计” (2)题目2 “公司员工信息管理系统设计” (2)题目3 “媒体库管理系统设计” (3)题目4 “车辆管理系统设计” (3)题目5 “学生选修课程系统设计” (4)题目6 “学生成绩管理系统设计” (4)题目7 “学生信息管理系统设计” (5)题目8 “分数计算器设计” (5)题目9 “高校水电费管理系统设计” (5)题目10 “职工工作量统计系统设计 (6)题目11 “学生考勤管理系统设计” (6)题目12 “课程设计选题管理系统设计” (7)题目13 “小型公司工资管理系统设计” (7)题目14 “公司员工考勤管理系统设计” (8)题目15 “图书管理系统设计” (8)题目16 “超市商品管理系统设计” (9)题目17 “通讯录管理系统设计” (10)题目18 “酒店管理系统设计” (10)题目19 “模拟ATM机存取款管理系统设计” (10)题目20 “企业人力资源管理系统—工资管理” (11)课程设计要求 (12)题目1 “高校人员信息管理系统设计”1、问题描述某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。
其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
2、功能要求(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除。
面向对象课程设计题目汇总及要求
面向对象程序设计课程设计题目汇总选题说明及要求说明:1、由于各选题的难度不同,将选题分为A、B、C三个等级,每个等级对应的最高分依次为:100分、85分和75分。
达到基本要求且有一定程度和创新和见解的同学可获得较高分数。
学生可根据自己的情况,自行选择。
2、每个题目最多只能有两组,若超过两组,则该题目自动作废!3、规定2-4人的题目,若实际人数比分组人数每少一人,则题目等级自动上调一级。
4、若实际小组人数比规定人数多一人,则题目等级自动下调一级。
实际人数比规定人数多两个的分组无效!题目列表题目一、单链表(1人)(C级) (3)题目二:一元多项式求和(1人)(B级) (3)题目三:快餐店点餐系统(3人)(B级) (3)题目四、简单车辆管理系统(3人)(B级) (4)题目五、滚动发车系统设计(3人)(B级) (4)题目六、简单银行账户系统(3人)(A级) (5)题目七、银行叫号系统设计(3人)(B级) (5)题目八、学生学籍管理系统(3人)(B级) (6)题目九、教师工资信息管理系统(3人)(A级) (6)题目十、书刊租借信息管理系统(3人)(A级) (7)题目十一、仓库管理信息系统(3人)(B级) (7)题目十二、研究生管理信息系统(3人)(B级) (8)题目十三、图书馆管理信息系统(3人)(B级) (8)题目十四、学生宿舍管理信息系统(3人)(B级) (9)题目十五、理财管理信息系统(3人)(B级) (9)题目十六、IT设备资产管理系统(3人)(B级) (10)题目十七、员工管理信息系统(3人)(B级) (10)题目十八某软件公司客户关系(CRM)管理系统(4人)(A级).. 11 题目十九:足球联赛排名(3人)(A级) (11)题目二十:小学生四则运算测验(3人)(B级) (12)题目二十一:学生电子投票平台设计(3人)(B级) (12)题目二十二:物品库存管理系统(3人)(B级) (12)题目二十三:个人财政支出管理系统(2人)(C级) (13)题目二十四:电话簿管理系统(2人)(C级) (13)题目二十五:股票交易系统(4人)(A级) (13)题目二十六:学生信息管理系统(2人)(C级) (13)题目二十七:学生成绩管理系统(2人)(C级) (13)题目二十八:小型字符串类(2人)(B级) (14)题目二十九:分数计算器(2人)(B级) (14)题目二十九:复数计算器(1人)(C级) (14)题目三十:无符号大整数计算器(2人)(B级) (15)题目三十一:超市密码存储箱系统(2人)(A级) (15)题目一、单链表(1人)(C级)建立一个单链表类,该链表类能够实现以下功能:(1)有合理的构造函数,能够由用户输入数据,创建链表,如果用户输入的数据不合理,能够给出提示信息(2)能够实现单链表元素的遍历(3)能够在指定位置插入一个元素(4)能够删除指定位置的元素(5)能够统计单链表中的元素个数并输出题目二:一元多项式求和(1人)(B级)编写一个程序用单链表存储一元多项式,并实现以下功能:(1)能够运行用户合理输入两个的多项式(2)能够实现两个多项式相加(3)能够将相加的结果输出(4)能够对常见的错误进行正确的处理和输出题目三:快餐店点餐系统(3人)(B级)快餐店点餐系统一般具有高效、便捷的特点。
(完整版)c++面向对象程序设计试题和答案
系名___ ___ ___ ___班级___ ___ ___ ___姓名___ ___ ___ ___学号___ ___ ___ ___ 密封线内不答题填空题(每空1分,共14分)1、观看以下程序:class point{public:void show() {cout<<”point”<<endl;}};void main(){point p1;point *p;p=&p1;_P1.show()______________//通过对象p1访问show函数__p->show()____________//通过指针p访问show函数}2、在C++类中可以包含__私有____________、___公有___________和__保护____________三种具有不同访问控制权的成员。
3、定义类时,在类头中将使用关键字___class__________来表示类定义的开始。
4、如果一个类中至少有一个纯虚函数,则该类称为_____抽象类___________。
5、C++类的组成包括数据成员和___成员函数___________,友元_不是____(是、不是)该类的成员函数。
6、友员函数是用关键字____friend________修饰的非成员函数。
7、若有:int i;int &j=i;i=10;j=i+1;则i=__11________,j=_11_________。
8、 new的功能是_____动态申请内存空间_______________,delete的功能是___释放由new申请的空间_________________。
二、选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是()。
(A)数据封装(B)继承(C)多态性(D)模板2、()是给变量取一个别名,它引入了变量的同意词。
(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。
《面向对象程序设计课程设计》题目
面向对象程序设计课程设计题目设计说明1. 五人一组,每组选择一个题目。
2. 由学习委员负责统计各组员及其题目,以电子档模式提交题目列表名单。
3. 每组必须给出相应的UML类图,可用Visio或者其他类似的工具完成。
设计要求1.编码规范要求遵循Java编码规范,参见附录。
2.知识点要求项目应至少覆盖以下知识点:封装、继承与多态等基本概念;方法和数组;输入输出流;使用抽象类、接口;对象组合;异常处理;包的使用。
3.文档打包及提交要求文档打包:以“题目-设计报告(姓名).rar”形式将相关文档打包。
压缩包的内容:1)运行正确的源代码(包括文件夹结构)。
2)设计报告:描述软件功能、和设计方案的UML类图;设计中涉及的主要知识点;运行结果截图;使用帮助文档。
题目列表及说明:1. 打字游戏GUI本地版可根据一片文章自动导入单词整个单词下落或者淡入淡出同时多个单词出现对输入错误的单词分析记忆功能积分2. 文件加密和解密要求:采用图形用户界面1)给定任意一个文本文件,进行加密,生成另一个文件。
2)对加密后的文件还原。
3. 5子棋游戏设计程序,完成下述功能:在大于9条线的方形网格棋盘上,放置黑白两色棋子;两人各执一色,通过网络对弈;可以在任何两条线的交点上放置棋子;同色棋子先同行、同列或者同队角线上5颗连成一条线者获胜。
4. 俄罗斯方块(网络版)设计程序,完成下述功能:完成一个可以两个人通过网络对战的俄罗斯方块游戏,每一方都可以在自己的屏幕上看到对方的当前游戏状况,游戏先结束的一方为失败者。
5. 音乐播放器(JavaGUI本地版)设计程序,完成下述功能:选择各类声音文件进行播放。
完成前进、后退、暂停、回放等控制功能。
6. 电子相册(JavaGUI本地版)设计程序,完成下述功能:选择图形的显示。
完成图形的放大、缩小、剪切、旋转等控制功能。
图片的自动播放功能。
7. 多人聊天室((JavaGUI本地版/WEB版)多人同时上网聊天。
面向对象程序设计模拟练习题(含答案)
面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。
4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。
5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。
面向对象程序设计课程作业
面向对象程序设计课程作业一、单选题1. (5分)调用一成员函数时,使用动态联编的情况是()A. 通过对象调用一虚函数B. 通过指针或引用调用一虚函数C. 通过对象调用静态函数D. 通过指针或引用调用静态函数得分:0知识点:第6章收起解析.答案B.解析第6章6.2节..2. (5分)下列选项中,可以作为函数重载的条件之一的是():A. 不同的形参名称B. 不同的返回值C. 不同的函数名D. 不同的参数个数得分:0知识点:第2章收起解析.答案D.解析第2章2.5节..3. (5分)如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是()A. 一元运算符B. 二元运算符C. 选项A和选项B都可能D. 重载错误得分:0知识点:第3章收起解析.答案D.解析第3章3.5节..4. (5分)有以下程序main() { int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%d”,t[2-i][i]); } 程序的执行后的输出结果是()A. 7 5 3B. 3 5 7C. 3 6 9D. 7 5 1得分:0知识点:第2章收起解析.答案B.解析第2章2.2节..5. (5分)若要求从键盘读入含有空格字符的字符串,应使用函数()A. getc()B. gets()C. getchar()D. scanf()得分:0知识点:第2章收起解析.答案B.解析第2章2.5节..6. (5分)可以用P.a的形式访问派生类对象p的基类成员a,其中a是A. 私有继承的公有成员B. 共有继承的私有成员C. 公有继承的保护成员D. 公有继承的公有成员得分:0知识点:第4章收起解析.答案D.解析第4章4.1节..7. (5分)解决二义性问题的方法有A. 只能使用作用域分辨操作符B. 使用作用域分辨操作符或赋值兼容规则C. 使用作用域分辨操作符或虚基类D. 使用虚基类或赋值兼容规则得分:0知识点:第6章收起解析.答案C.解析第6章6.2节..8. (5分)以下有关继承正确的是A. 构造函数和析构函数都能被继承B. 派生类是基类的组合C. 派生类对象除了能访问自己的成员外,不能访问基类中的所有成员D. 基类的公有成员一定能被派生类对象访问得分:0知识点:第4章收起解析.答案D.解析第4章4.2节..9. (5分)假定类B是在类A基础上扩充而得到的,那么就称A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类得分:0知识点:第3章收起解析.答案B.解析第3章3.2节..10. (5分)如果类A被说明成类B的友元,则()A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元得分:0知识点:第5章收起解析.答案D.解析第5章5.2节..11. (5分)下列有关继承和派生的叙述中,正确的是()A. 派生类不能访问基类的保护成员B. 作为虚基类的类不能被实例化C. 派生类应当向基类的构造函数传递参数D. 虚函数必须在派生类中重新实现得分:0知识点:第3章收起解析.答案C.解析第3章3.1节..12. (5分)下面是一个模板声明的开始部分:templute double __ 由此可知()A. 这可能是一个函数模板的声明B. 这可能是一个类模板的声明C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明D. 这肯定是一个错误的模板声明得分:0知识点:第7章收起解析.答案A.解析第7章7.2节..13. (5分)以下叙述中正确的是()A. 预处理命令行必须位于C源程序的起始位置B. 在C语言中,预处理命令行都以“#”开头C. 每个C程序必须在开头包括预处理命令行:#includeD. C语言的预处理不能实现宏定义和条件编译的功能得分:0知识点:第2章收起解析.答案C.解析第2章2.4节..14. (5分)下列关于模板的说法正确的是()A. 模板的实参在任何时候都可以省略B. 类模板与模板库所指的是同一概念C. 类模板的参数必须是虚拟类型的D. 类模板中的成员函数全部都是模板函数得分:0知识点:第7章收起解析.答案D.解析第7章7.2节..15. (5分)在文件包含命令中,被包含文件的扩展名A. 必须是.hB. 不能是.hC. 可以是.h或.cppD. 必须是.cpp得分:0知识点:第1章收起解析.答案C.解析第1章1.1节..二、判断1. (5分)当函数的返回值是数组类型的,传递的是数组第一个元素的地址.得分:0知识点:第2章收起解析.答案错误.解析第2章2.5节..2. (5分)数据成员在初始化列表中的书写顺序无关紧要,但初始化列表对数据成员初始化的执行次序就是类中定义数据成员的次序。
面向对象程序设计题目库
题目模板课程名称:面向对象程序设计层次:高起专题目阶段:阶段性作业1(阶段性作业1-4只包含客观题,每套作业的题量为20-30小题)一、单选题1. 下列关于栈的叙述正确的是_(1)_(A):栈是非线性结构(B):栈是一种树状结构(C):栈具有先进先出的特征(D):栈具有后进先出的特征答案B2. 已知,int m=10,在下列表示引用的方法中正确的是_(2)_(A):int &x=m (B): int &y=10 (C): int &z (D): float &t=&m答案A3. 结构化程序设计所规定的三种基本控制结构是_(3)_(A):输入、处理、输出(B): 树形、网形、环形(C):顺序、选择、循环(D): 主程序、子程序、函数答案C4. 结构化程序设计的一种基本方法是_(4)_(A):筛选法(B): 递归法(C): 归纳法(D): 逐步求精法答案D5. C++语言的跳转语句中,对于break和continue说法正确的是_(5)_(A):break语句只应用与循环体中(B): continue语句只应用与循环体中(C): break是无条件跳转语句,continue不是(D): break和continue的跳转范围不够明确,容易产生问题答案B6. 考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是_(6)_(A):test(5) (B): test(5,8) (C): test(6,"#") (D): test(0,0,"*")答案C7. C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是_(7)_(A):面向过程(B): 面向对象(C): 安全性(D): 复用性答案B8. 关于delete运算符的下列描述中,_(8)_是错误的。
面向对象程序设计习题
第6章面向对象程序设计一. 选择题1.下面有关类和对象的说法中, 不对的的是【】。
A) 类是系统提供的一种数据类型B) 对象是类的实例C) 类和对象的关系是抽象和具体的关系D) 任何一个对象只能属于一个具体的类2. 面向对象的特点重要概括为【】。
A) 可分解性、可组合型性和可分类性B) 继承性、封装性和多态性C) 封装性、易维护性、可扩展性和可通用性D) 抽象性、继承性和封装性3. 要使一个类能被同一命名空间中的其他类访问, 但不能被这个命名空间以外的类访问, 该类可以【】。
A) 不使用任何修饰符B) 使用private修饰符C) 使用public修饰符D) 使用internal修饰符4. 在C#中, 【】访问修饰符修饰的字段只能由当前程序集访问。
A) private B) public C) protected D) internal5. 类的字段和方法的默认访问修饰符是【】。
A) public B) private C) protected D) internal6. 下列关于构造函数的描述中, 不对的的是【】。
A) 构造函数中, 不可以包含return语句B) 一个类只能有一个构造函数C) 实例构造函数在生成类实例时被自动调用D) 用户可以定义无参构造函数7. 下列关于构造函数的描述中, 【】是对的的。
A) 构造函数名必须与类名相同B) 构造函数不可以重载C) 构造函数不能带参数D) 构造函数可以声明返回类型8. 下列的【】不是构造函数的特性。
A) 构造函数的函数名与类名相同B) 构造函数可以重载C) 构造函数可以带有参数D) 可以指定构造函数的返回值类型9. 类ClassA有一个名为M1的方法, 在程序中有如下一段代码, 假设该段代码是可以执行的, 则声明M1方法时一定使用了【】修饰符。
ClassA Aobj=new ClassA();ClassA.M1();A) public B) public static C) private D) virtual10. 在C#中, 从属性的读写特性上来进行分类, 可以划分为以下3种, 除了【】。
《面向对象程序设计》课程界面设计练习题目
《面向对象程序设计》课程界面设计练习题目Windows NT系统内建了若干个的常用控件,极大地方便了Windows下可视化程序的开发。
对于初学者来说,能够熟练地使用这些控件,是学好C++面向对象编程的关键步骤。
为了指引初学者或者检验学习效果,下面设计了五个练习题目,囊括了大部分的常用控件,以及程序界面开发中常常使用的技术。
练习题目如下:一、播放器配置程序二、消息提示器三、流媒体管理器四、可定制背景的视图五、通讯簿一、播放器配置程序内容:制作一个基于对话框的播放器配置程序,能够从配置文件(*.ini )中读取设置信息;能够将修改后的设置信息保存在配置文件中。
界面如图1所示:图1 播放器设置界面目的:掌握使用VS 建立基于对话框的应用程序;熟悉标签(Static Text )、分组(Group Box )、按钮(Button )、编辑框(Edit Control )、组合框(Combo Box )、单选按钮(Radio Button )、复选框(Check Box )、热键设置控件(Hot Key )等常用控件的属性、事件;掌握配置文件(*.ini )的读写;学习MSDN 文档的查阅等。
要求:1、 控件1(组合框):不可输入文字,只能从下拉列表中选取一项,列表中的内容为:简体中文、繁軆中文、English ;2、 控件2(复选框):默认勾选。
3、 控件3(热键设置控件):当控件2勾选时,控件才3可编辑;当控件2未12 345678912 1314 15 161011勾选时,控件3灰掉(不可编辑);4、控件4~7(复选框):默认勾选控件4和控件5;5、控件8(编辑框):只能输入数字,范围1~60;6、控件9~11(一组单选按钮):默认选中控件9;7、控件12(按钮):当点击按钮时,在13中输出如图1所示的文字;8、控件13(编辑框):能够输入换行符,具有垂直滚动条,当文本框内容不能全部显示时,滚动条自动有效;9、控件14~16(按钮):按钮15初始不可用,当更改设置信息后才激活;接收回车提交命令;点击该按钮,将新的设置信息(控件12和13不触发配置信息改变)写回与程序同目录下,名称为config.ini配置文件中;点击按钮14时,如果设置信息有更改,将设置信息写入配置文件,并关闭对话框;若设置信息未发生改变,直接关闭对话框;点击16直接关闭对话框;10、配置文件读写要求:程序启动时若没有找到配置文件,能够按照默认设置初始化界面(按钮15激活),点击按钮14和15生成配置文件并写入设置信息,点击16则不生成配置文件;若找到配置文件,从文件中加载配置信息并初始化程序界面;11、对话框样式:对话框可以最小化,不能最大化,不可以改变大小;界面布局要工整;对话框初始时控件1取得焦点,按tab键焦点将按图中标注的序号逐一移动到下个控件上。
面向对象的程序设计试题库
面向对象的程序设计一、单项选择题1、下面那种结构不是C++的控制结构()A 顺序结构B 选择结构C 循环结构D 判断结构答: D2、下列是C++语言中合法标识符的是()。
A.3three B.ifC._1oneD.while答:C3、下列是合法的C++语言语句的是()。
A.if(x>0) then x=x-1;else x=x+1;B.if(x>0) x=x-1;else x=x+1;C.if x>0 x=x-1;else x=x+1;D.if x>0 x=x-1;答:B4、下面那一种不是计算机内部表示整数的方法()A 二进制码B原码C 补码D反码答:A5、在C++语言中,下列数为合法的实数的是()。
A.5E-3B.5E-3.5C. E5D.-3.5E答:A6、C++语言中数据类型最大的是()A longB floatC intD char7、如果一个函数可以在定义中直接或间接的调用自己,这样的函数称为()。
A.函数声明B.嵌套函数C.定义函数D.递归函数答:D8、表达式0x55^0xB4的结果为()。
A.0xF5B.0x15C.0xE1D.0x1E答:C9、C++中,源代码文件后缀为()A .cppB .objC .exeD .c答: A10、0X5A&0XB7结果是()A 0X13B 0X12C 0X14D 0X15答: B二、填空题1、程序的基本控制结构包括()、()和()。
答:顺序结构,选择结构,循环结构2、用来解决问题的,与有限多个步骤组成的具体过程称为()。
答:算法3、整数类型变量a和b被初始化为3和10,则循环语句while(a<=b) a=a+2;共执行()次,执行完语句后a的值为(),b的的值为()。
答:4,11,10)。
答:警告信息,致命错误5、计算机中的数据可以分为()和()两大类。
答:数值型、字符型6、字符型数据有两种编码方法:()和()答:有美国国家标准局制定的ASCII码、IBM公司提出的EBCDIC码7、通过C++ 语言中的()机制,可以从现存类中构建其子类。
《VFP面向对象程序设计》课程习题集及参考答案
《VFP面向对象程序设计》课程习题集及参考答案2011年6月第一章数据库基本理论一、判断题1.数据处理的目的就是从原始数据中得到有用的信息。
A.对*B.错2.关系模型的结构可以看作是一个数据库的结构。
A.对*B.错3.数据库管理系统是数据库系统的核心。
A.对*B.错4. VFP 系统为用户提供了命令操作方式、菜单操作方式和程序操作方式。
A.对*B.错二、单选题1.将数据集中起来以一定的组织方式存放在计算机的外部存储器中,就构成了。
*A.数据库 B.数据集合 C.数据操作系统 D.数据库管理系统2.数据库系统的构成有数据库、计算机硬件系统、用户和。
A.操作系统B.文件系统C.数据集合*D.数据库管理系统3.数据库、数据库系统、数据库管理系统这三者之间的关系是。
*A. 数据库系统包含数据库和数据库管理系统B. 数据库管理系统包含数据库和数据库系统C. 数据库包含数据库系统和数据库管理系统D. 数据库系统就是数据库,也就是数据库管理系统4.关系数据库管理系统所管理的关系是。
A.一个DBF文件*B.若干个二维表C.一个DBC文件D.若干个DBC文件5.在关系数据库管理系统中,一个关系对应一个。
A.字段B.记录*C.数据表D.索引文件6.关系数据库管理系统存储与管理数据的基本形式是。
A.关系树*B.二维表C.结点路径D.文本文件7.数据库是按一定结构存储在一起的。
A.程序集合*B.数据集合C.运算式集合D.函数集合8.在有关数据库的概念中,若干记录的集合称为。
A.字段B.数据库C.数据项*D.数据表9.VFP6.0 DBMS是基于关系型数据模型的。
A.操作系统的一部分*B.操作系统支持下的系统软件C.一种编译程序D.一种操作系统10.在关系运算中,查找满足一定条件的元组运算称之为。
A.复制*B.选择C.投影D.关联11.如果要改变一个关系中属性的排列顺序,应使用的关系运算是。
A.重建B.选取*C.投影D.连接12.在有关数据库的概念中,若干记录的集合称为________。
面向对象程序设计试题及答案
面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。
2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。
3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。
4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。
5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。
6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。
7. 请解释类(Class)与对象(Object)之间的关系。
8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。
9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。
二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。
2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。
(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。
(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。
(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。
3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。
封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。
(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。
(3)降低模块之间的耦合度,提高代码的灵活性。
4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。
《面向对象课程设计课程设计》题目
附录1:《面向对象程序设计课程设计》题目本课程设计提供了6个设计题目,学生任意选作一题,独立完成。
可使用C++或JA V A 两种面向对象程序设计语言。
题目1:一个简单的算法演示程序(JA V A语言实现)功能要求:1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程。
2. 可以进行手动演示,也可以自动步进式演示。
3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。
4. 不同的算法输入要求见下。
界面要求:1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2. 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
其他要求:1. 标识符命名遵循Windows命名规范。
2. 能够注意各种异常处理,注重提高程序运行效率。
提交内容:1. 全部源代码。
2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)参考算法:1. 最小生成树算法:Prim算法、Kruskal算法。
允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。
要求在图形方式下进行演示算法执行步骤。
2. 单源最短路算法:Dijkstra算法。
允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。
要求在图形方式下进行演示算法执行步骤。
3. 最优编码算法:Huffman编码算法。
允许用户输入一段英文文字,或者打开一个txt 文档(英文内容),据此文档内容进行编码。
要求动态列出每个字符的出现概率统计结果以及对应编码。
4. 其他可供演示的具有一定难度的算法,如关键路径问题、有向图的极大连通分支等。
题目2:一个简单的网络聊天程序(JA V A语言实现)功能要求:1. 实现类似与飞鸽的功能,自动侦测局域网内部启动该软件的用户,并显示在用户列表中。
2. 可以进行两个人之间的私聊。
3. 可以群聊。
4. 可以发送文件。
界面要求:1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
面向对象课程设计题目
面向对象课程设计题目面向对象程序设计课程设计要求及题目学期:2012-2013-02 专业:软件工程课程设计选题要求:1、每个学生从下面16个题目中选择3个题目来进行课程设计,3个题目的选择遵循下面的原则:第一个题目从1-3号题目中选,第二个题目从4-9号题目中选,第三个题目从10-16号题目(使用文件)中选。
2、选好题目后,每个学生根据题目的内容填写任务书(课程设计说明书中),其中“已知技术参数和设计要求”项,直接将题目中“要求”部分复制过去。
注意:一个题目对应一份任务书!3、请认真阅读课程设计指导书(附件1),提前做好课程设计准备。
1复数类要求:1)该系统主要处理复数的相关信息。
2)完成以下的操作:初始化复数、求其绝对值、复数的加、减、乘、除、乘方、自加、自减等。
提示:1)建立数据类、复数类2)数据、复数信息的初始化3)复数信息的输出4)求复数的绝对值5)实现复数的加、减、乘、除、乘方、自加、自减等运算2字符串类要求:1)该系统主要处理字符串的相关信息。
2)完成以下的操作:初始化字符串、获得字符串长度、在字符串中查找一个字符、在字符串中查找另一个字符串、字符串连接、字符串比较等。
提示:1)建立字符串类2)字符串信息的初始化3)字符串信息的输出4)获得字符串长度5)在字符串中查找一个字符6)在字符串中查找另外一个字符串7)比较字符串3日期类要求:1)该系统主要处理时间的相关信息。
2)完成以下的操作:日期的设置、显示、实现在某一个日期上(月、日、年)加减一个天数的功能、计算两个日期间隔天数提示:1)建立日期类2)日期类的初始化3)按某个固定格式(如:yyyy-MM-dd)一次性的设置某个日期对象4)以固定格式显示某个日期5)在日期上加一天6)在日期上减一天7)输入两个日期,然后输出日期的间隔天数4学生成绩管理系统要求:1)该系统主要处理学生的成绩信息。
2)学生信息主要包括:学号、班级、姓名、科目1、科目2、科目3等内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012计算机科学与技术专业面向对象课程设计题目一设计要求每个题目可以1人或至多两人,按题目要求完成程序设计及课程设计报告。
(若两人一个题目,需各自独立完成,题目相同者的课程设计报告不能完全相同。
)二题目列表三题目内容及要求题目1 矩阵运算内容及要求:定义矩阵类,实现矩阵加法、减法、乘法、矩阵转置、求矩阵的逆矩阵等。
用程序实现验证n*n矩阵的如下定理:A(BC)=(AB)C。
题目2 填XO游戏程序内容及要求:游戏规则和胜利条件:棋盘共有5行5列:选择难度(1):两个斜对角之一都为X或O,则玩家胜。
一横行都为X或O则玩家胜。
)一竖行都为X或O则玩家胜。
选择难度(2):两个斜对角之一都为X或O,则玩家胜。
选择难度(3):两个斜对角都为X或O,则玩家胜。
输入必须为一个两位整数,如11,代表棋盘的第一行第一列,输完后按回车键;玩者下一步X或O,计算机也自动下一步X或O。
程序运行示例:题目3 统计学生成绩内容及要求:要求编写一个“Student”类及用来存取文件的save()和load()函数,使用函数及运算符重载技术完成如下操作:(1)计算每个学生的平均成绩,将数据存入文件stud.dat中并验证是否正确地存入了文件。
(2)要求对“<<”和“>>”运算符进行重载。
(3)把学生姓名和平均成绩抽取出来,建立一个简明文件stud_mean.dat,并验证是否正确地存入了。
(4)从文件stud.dat按如下格式输出大于等于平均成绩的学生信息:学号姓名算术语文平均(5)将两门功课成绩都不及格的学生信息从文件中删除并另外存入文件bad.dat中。
(6)编写能检索文件中某个学生信息的子程序。
如无此学生,输出“未查到”信息。
(7)使用多文件编程和菜单操作。
题目4 会议记录管理系统内容及要求:定义会议信息类class Conference会议信息包括:会议编号,会议名称、部门名称、会议地点,会议日期,会议主持人,会议记录人,出席人员,会议摘要。
会议信息以二进制形式存储在文件中。
(1) 添加会议记录(2) 浏览所有会议记录信息(3) 按不同字段(会议编号,会议名称等)查询会议记录(4) 修改会议记录(5) 删除会议记录题目5 设计菜单选择趣味程序内容及要求:设计一个比较使用的菜单,通过菜单选择不同的功能。
设计分两步:首先涉及一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。
出圈游戏一:(1)设计一个SeqList类。
(2)在头文”head.h”中声明类,并使用默认的内联函数方式定义它们。
(3)使用类的数组来求解。
(4)用Joseph()函数求解出圈,使用函数game1()作为菜单项。
(5)在文件game1.cpp中实现Joseph和game1()函数。
出圈游戏二:(1)使用上题中的SqList类.使用向量数组求解。
(2)重载Joseph()函数来求解出圈,使用函数game2()作为菜单项。
(3)在文件game2.cpp中实现Joseph()和game2()函数求解方程:(1)设计类FindRoot将方程系数设计成属性,将方程的根x1,x2。
以及用来作为判定条件的d(d=b*b-4*a*c) 均设计成类的属性(2)设计构造函数(3)设计求根成员函数Find().(4)设计输出结果成员函数Display().题目6 个人财政管理内容及要求:(1)完善程序,补充类中数据成员盈余(dlBalance)的计算和输出,要求每笔收入和支出都要重新统计当前情况下的盈余数目。
(2)程序中的收支情况按时间顺序排序存放,将其放入一个文件中,每次运行程序时首先打开这个文件,程序运行完毕时将更新的记录放回文件中。
(3)可以按时间的范围来检查账目,即在主菜单中增加检索的功能选项,输入时间范围即可打印出详细报表。
(4)可以修改、删除某笔收入或支出。
(5)增加程序监控功能,当输入时间发生错误(如月份超过12等)时,要求重新输入正确的时间;当结余的数目为负数时,打印出信息,警告已经透支。
题目7 求解有理数分式方程内容及要求:设计一个Rational(有理数)类,用来求解有理数分式方程。
为它设计两个数据成员,一个作为分子,另一个作为分母。
分母不能为0。
有理数1/2可以使用这个类的对象r表示为r(1,2)。
需要完成如下操作:如果分子和分母友公约数,就应该进行化简;有理数可以进行四则运算,需要重载运算符;重载流运算符,可以直接输入分子和分母,以及作为整体输出,如:cin>>r;1/6 //输入cou<<r;1/6 //输出解有理数方程a/b x+c/d =e/f,用有理数表示为:r1=a/b r2=b/c r3=e/f 则x=(r3-r2)/r1题目8 模拟21点扑克牌游戏内容及要求:模拟21点扑克牌游戏,玩家最多可以要5张牌,但如果牌的点数之和超过21,则自动出局;在不超过21点的情况下,玩家与庄家比牌的点数的大小,大者为赢家。
程序设计要求:(1)将大于10点的点数改为半点。
(2)高级玩家可以查看下一张牌,然后按要求输入密码,密码正确可以看牌,决定是否要牌。
(3)超级玩家可以查看庄家的所有牌面,并任意输入自己想要的牌,有赢无输。
(4)每次要完牌后可以重新设定赔率,只能加注。
题目9 计算算术运算表达式内容及要求:计算算术运算表达式。
实现将括号内的数提出计算,再将结果并入愿字符串,每次只计算一个简单的式子,如对算式(3+22)*3而言,先计算式子3+22,得到结果25,再求25*3,得到最终结果75要求:计算string所表示的算术运算表达式的值。
题目10 通信录内容及要求:(1)输入信息,建立文件;(2)文件的存取和显示;(3)删除记录;(4)查询记录;(5)整体性能;(6)测试程序。
题目11 分数运算内容及要求:分数相加,两个分数分别是1/5和7/20,它们相加之后得11/20。
方法是先求出两个分数分母的最小公倍数,通分后,再求两个分子的和,最后约简结果分数的分子和分母(如果两个分数相加的结果是4/8,则必须将其化简成最简分数的形式1//2),即用分子分母的最大公约数分别除分子和分母。
试建立一个一个分数类Fract,来完成两个分数相加的功能。
(1)重载提取和插入运算符<<和>>,实现分数类对象的直接输入输出,即可以用cin 运算符从键盘输入具体的分数数据,同时将运算结果用cout输出。
(2)重载加法运算符+,完成两个或多个对象的加法,同时约简结果。
(3)重新用两种方法实现m,n的最大公约数的函数int gcd(int m,int n)。
题目12 彩票游戏内容及要求:该程序模拟体彩和福彩的投彩的开奖过程。
(1)进一步完善福彩部分,无论是开奖还是下注,福彩的6个号码都不能重复,请在程序中进行设置。
(1)福彩的中奖号码与其数字的顺序无关,重新设置中奖等级。
(3)进一步完善体彩部分,体彩的中奖等级分为特等奖(数字完全吻合),一等奖(6个连续数字吻合),二等奖(5个连续数字吻合),三等级(4个连续数字吻合),安慰奖(2个连续数字吻合)。
题目13 职工信息表内容及要求:设计职工信息表,并由此产生一个信息简表,并使用虚函数实现多态性,完成显示不同简表信息的任务。
使用了继承的方法,编写最多能输入10个职工的信息表,再根据这个表产生一个职工信息简表,并利用多态性实现信息的输出。
使用类和向量及菜单实现选择功能。
为了允许用户交替选择1-5选项,必须对各种可能的输入进行处理。
设计的简单界面如下:1.增加职工记录2.生成信息简表3.显示原始记录4.显示简表记录5.查找职工信息6.结束程序运行题目14 字符串类的设计内容及要求:定义字符串类(String),包含存放字符串的字符数组和字符串中字符的个数。
(1)字符串的输入与赋值;(2)字符串的运算:连接、复制、查找、交换、求子串、比较;(3)字符串的输出。
对字符串的输入和输出都用文件实现。
题目15 矩阵的旋转反射内容及要求:输入矩阵的行列,选择旋转方式,输出旋转后的矩阵。
(1)绕X轴旋转;(2)绕Y轴旋转;(3)绕原点旋转。
题目16 学生成绩管理内容及要求:设计一个实用的小型学生成绩管理程序。
它有查询和检索等功能,并且能够对指定文件操作,也可以将多个文件组成一个文件。
(1)建立文件:可以使用默认文件名或指定文件名将记录存储文件。
设置适当的标志位,作为对记录进行操作的信息。
写同名文件将覆盖原来文件的内容。
(2).增加学生记录:可在已有记录后面追加新的记录。
可以随时增加新的记录,它们仅保存在向量数组中。
可以将一个文件读入,追加在已有记录之后。
采取文件追加方式时,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续文件追加操作方式。
如果没有记录存在,给出提示信息。
(3)新建学生信息文件:用来重新建立学生信息记录。
如果已经有记录存在,可以覆盖原记录或者在原记录后面追加,也可以将原有记录信息保存到一个指定文件,然后重新建立记录。
给出相应的提示信息。
(4)显示、删除、修改、查询记录。
题目17 复数计算器内容及要求:(1)所设计的复数计算器可以进行+ - * += -= *= ++ -- >= <= == !=运算符,其中>= <=是针对复数的模进行运算。
(2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部虚部并正确赋值。
(3) 设计计算器测试程序,对加减法进行测试,要求在两位数以内进行,对乘法进行测试,乘法要求为一位数的运算。
(4) 设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在计算机内,开机时要求用户输入用户名,显示该名户以前的记录。
用户记录用包括:做了多少次加减法、乘法、进行测试的次数,后3次的测试平均分等,在退出计算器程序时用心的用户记录代替原有的记录。
题目18 工资管理内容及要求:设计一个员工工资管理程序,有显示、储存、显示、修改和删除功能。
(1)定义类CSalary,在工资表的数据类中增加一个私有数据选项:工号,用字符数组的形式,从000001开始编号,该工号不能人工修改,是有计算机自动根据录入的先后赋值的,录入数据时的时候不必输入工号。
(2)可以选择显示的多种排序形式,如按姓名的顺序、工资总额的顺序、职务工资获奖金的顺序,显示超过一屏的显示范围要能分屏显示。
(3)可以查询某一范围内的数据,如工资总跟小于2000元的人的数据,介于1000~2000元的人的数据等,根据具体要求列出菜单供用户选择。
(4)可以根据工号或者姓名修改、删除数据,在修改、删除时先要确定用户确认,确认后再进行操作。
(5)每次显示时,将所有要显示数据的工资总额、职务工资总额、奖金总额一起计算显示。