C++上机课题及部分答案.doc
文本预览下载声明
上机考试题
(1)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号 No 、姓名(Name[8])、数学 Math 、物理 Phi 、数据结构 Data 、平均分 ave 。Write ,能计算学生平均分的公有成员函数Average ,能显示学生成绩的公有成员函数Display 。在主函数中用Score类定义学生成绩对象数组s[3]。用Write 输入学生成绩,用Average 计算每个学生的平均分,最后用Display 显示每个学生的成绩。
实验数据:
No Name Math Phi Data Ave
1001 Zhou 80 70 60
1002 Chen 90 80 85
1003 Wang 70 75 89
(2)建立一个存放素数的类Prime,具体要求如下。
①私有数据成员。
int a[25]:存放指定范围内的所有素数。
int n1,n2:存放指定范围的下限和上限
int num:存放素数的个数。
②公有成员函数
Prime int m1,int m2 :构造函数,用参数m1、m2初始化n1、n2,同时初始化num。
void primef :求指定范围内的所有素数,把它们依次存放在数组a中。并将求出的素数个数赋给num。
void show :显示求出的素数的个数及所有的素数,每行输出5个素数。
③在主函数中定义一个Prime类的对象p(100,200),通过p调用成员函数完成求素数及输出素数的工作。
课后习题
(1)定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,c1初始化为c1 20+40i ,将c2初始化为c2 0+0i,用拷贝构造函数将c3初始化为c3 20+40i。用公有成员函数Dispaly 显示复数c1、c2与c3 的内容。
(2)定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标 Right,Bottom 定义为保护数据成员。用公有成员函数Diagonal 计算出矩形对角线的长度,公有成员函数Show 显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show 显示矩形左上角与右下角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。
2.#include
#include
using namespace std;
class Prime //声明Prime类 private: int a[25]; int n1,n2; int num;
public: Prime int m1,int m2 :n1 m1 ,n2 m2 ,num 0 //定义构造函数并对参数初始化
void primef ; //筛选素数并统计
void show ; //输出素数
;
void Prime::primef bool k; //定义bool类型的参数 for int i n1; i n2;i++ k true; for int j 2;j sqrt i ;j++ if i%j 0 k false; break; if k a[num++] i; void Prime::show for int i 0;i num;i++ if i%5 0 cout endl; cout a[i] ; cout endl; void main Prime p 100,200 ; p.primef ; p.show ; 1.#include
using namespace std;
class Complex //定义Complex类 public:
Complex real 0;image 0; //定义无参构造函数 Complex double r,double i real r;image i; //定义有参构造函数
Complex Complex c //定义拷贝构造函数 real c.real; image c.image; void Display ; //声明输出函数
private:
double real;
double image;
;
void Complex::Display cout real + image i endl; int main Complex c1 20,40 ,c2,c3 c1 ; //定义复数对象
c1.Display ;
c2.Display ;
c3.Display
显示全部