非电类上机考试试卷_C(2006年6月)
学号 姓名 成绩
(考试时间80分钟,卷面分数30分)
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。对以下问题编制程序,调试运行,输出结果。
一、面向对象编程:学习成绩管理程序 (15分)
【要求】按以下描述和要求建立两个类:基类Student和派生类Pupil :
Sudent int id; //学号 成员 char name; //姓名(首字母) 公有Student(int , char); //构造函数 成员 void setid(int); //修改学号 void setname(char); //修改姓名 virtual void display() //输出基类数据 私有
注:小学生的学号和姓名从基类继承 Pupil 私有float math; //数学考试成绩 成员 float chinese; //语文考试成绩 void setscore(float, float) //修改成绩数据 Pupil (…); //带缺省值的构造函数 公有float getmath(); //返回数学成绩 成员 float getchinese (); //返回语文成绩 void display() //输出个人全部信息 void modify(int , char , float , float) //修改个人数据 主函数要求:
(1) 定义Pupil类对象A{601, M, 85, 92}、B{602, G, 79, 86}和C。对象C利用
对象A的数据复制生成。
(2) 调用函数modify及相关函数修改对象C的数据为A{803, S, 90, 72}。 (3) 调用函数display及相关函数输出对象A、B和C的全部数据。每个对象
的信息占一行,顺序为:学号,姓名,数学成绩,语文成绩。
(4) 计算并输出对象A、B和C的数学平均成绩和语文平均成绩。 【注意】 将源程序以文件名PF2.cpp存入Z盘自己的目录中。
二、面向对象编程:学生类应用程序 (15分) 【要求】按以下描述和要求建立一个类Student,执行主函数对其测试。
私有Sudent int id; //学号 char *name; //姓名(字符串) 成员 int job; //交作业次数 char prize; //奖励等级(以字符A、B、C表示三个等级) Student(int , char *, int , char); //带缺省值的构造函数, (缺省值为0或NULL) 公有Student(Student &); //拷贝构造函数,(新对象学号为复制的学号加10) 成员 ~Student(); //析构函数,释放分配的内存 void setnamejob(char *, int); //修改姓名和作业次数, (字符串和整数为参数) void setprize (); //计算奖励等级,(A—交作业20次以上; B—交作业15次以上;A—交作业10次以上;9次以下无奖励) void display(); //输出对象的全部数据 以上成员函数的参数名自定。头文件包含语句为: #include
(1) 定义Student类对象A{101, 王林, 22, NULL}、B{202, 李明, 13, NULL }、
C(A)和D=B(C、D数据由A、B拷贝而来)。
(2) 调用函数修改C和D的姓名和作业次数(数据自定)。 (3) 调用函数setprize 为对象A、B、C和D设置奖励等级(根据交作业次数)。 (4) 调用函数display输出对象A、B、C和D的全部数据。每个对象的信息
占一行。
提示:构造函数需要为name字符串动态分配内存。包含
【注意】 将源程序以文件名PF2.cpp存入Z盘自己的目录中。
非电类上机考试试卷_D(2006年6月)
学号 姓名 成绩
(考试时间80分钟,卷面分数30分)
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。对以下问题编制程序,调试运行,输出结果。
一、数组处理与文件读写程序 (15分) 【要求】
【注意】 将源程序以文件名PF1.cpp存入Z盘自己的文件夹中。文件\也存入同一个文件夹。
二、面向对象编程:商品类应用程序 (15分) 【要求】按以下描述和要求建立一个类Goods,执行主函数对其测试。
Goods char flag; //商品品牌标识字符 私有char *addr; //商品产地 成员 float price; //商品价格 int num; //商品数量 Goods (char a='x', char *b=NULL, float c=0, int num=0); //构造函数(品牌符缺省值为?x?) 公有Goods (Goods &); //拷贝构造函数 成员 ~ Goods (); //析构函数,释放分配的内存 void setdata(char,float b, int c); //修改标识字符、价格和数量 float getprince(); //返回价格 int getnum(); //返回数量 void display(); //输出对象的全部数据 以上成员函数的参数名自定。头文件包含语句为: #include
对象A和B数据为A{?R?; “NanJing”; 92.8; 200}、
B{?W?; “ShangHai”; 66.6; 450}
主函数要求:
(1) 定义Goods类对象A、B和C(C数据由A拷贝而来)。 (2) 调用函数setdata修改C的数据成员值{?G?; 88.6; 760}。 (3) 调用函数display输出对象A、B、C的全部数据。每个对象的信息占一行,
数据前加名称。
(4) 通过比较找出对象A、B、C中的最低价格和最大数量(通过函数访问私
有数据成员)。输出价格最低对象和数量最大对象的信息(包括标识字符
和产地)。
提示:构造函数需要为addr字符串动态分配内存。包含
【注意】 将源程序以文件名PF2.cpp存入Z盘自己的目录中。
非电类上机考试试卷_E(2006年6月)
学号 姓名 成绩
(考试时间80分钟,卷面分数30分)
说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。对以下问题编制程序,调试运行,输出结果。
一、数组处理与文件读写程序 (15分) 【要求】
【注意】 将源程序以文件名PF1.cpp存入Z盘自己的文件夹中。文件\也存入同一个文件夹。
二、面向对象编程:粮食仓库类应用程序 (15分) 【要求】按以下描述和要求建立一个类Store,执行主函数对其测试。
Store int No; //仓库序号 私有int cap; //仓库容量(吨) 成员 double weight; //仓库中已存储的粮食重量(吨) static double sum; //所有仓库中粮食的总重量(吨) Store (int a=0, int b=0); //构造函数,(初始化序号和容量) void input(double a); //粮食入库(先检查仓库剩余容量,若够公有用则将参数a值累加至库存weight和总重量sum;不够则给出询问成员 性提示信息,若回答“Y”则入库至满,) void output(double b); //粮食出库,数量为b(如果库存不够,给出询问性提示信息,若回答“Y”则全部出库,否则取消出库操作。具体出库操作是将b值从weight和sum中减去); void display() ; //输出仓库序号、容量、已存储的粮食重量、剩余容量和各库存的总重量(数据前加名称) 头文件包含语句为:#include
(1) 定义Store类对象A{101, 1000}和B{102, 2000}。 (2) 调用函数input为对象A和B做入库操作:A. input(500); B. input(1300); A.
input(350); B. input(500); A. input(400); B. input(460);
(3) 调用函数display输出对象A和B的全部数据。每个对象的信息占一行。 (4) 调用函数output为对象A和B做出库操作。参数为:A{出库350,200}、
B{出库1500, 400, 500}。调用函数display输出对象A和B的全部数据。
【注意】 将源程序以文件名PF2.cpp存入Z盘自己的目录中。