收藏 分销(赏)

07-08C上机考试试卷A(电类).doc

上传人:二*** 文档编号:4598389 上传时间:2024-10-03 格式:DOC 页数:3 大小:32KB 下载积分:5 金币
下载 相关 举报
07-08C上机考试试卷A(电类).doc_第1页
第1页 / 共3页
本文档共3页,全文阅读请下载到手机保存,查看更方便
资源描述
C++上机考试题A(2007.6.) (考试时间80分钟,满分30分,每题15分) 1.由人员类派生学生类。人员类已定义完整,成员组成见类定义及注释。请根据主函数和输出结果补全派生类中的代码。 要求:将源程序文件以文件名myfile1.cpp保存到考试盘的学号文件夹中。 #include<iostream> #include<fstream> #include<string> using namespace std; class Person{ string name; //姓名 char sex; //性别 public: Person(string n="noname",char s='m'){ //构造函数 name=n; sex=s; } friend ostream& operator<<(ostream& dist,Person& ps);//输出姓名、性别 }; ostream& operator<<(ostream& dist,Person& ps){ dist<<ps.name<<'\t'<<ps.sex<<'\t'; return dist; } class Student:public Person{ int id; //学号 int Eng,Math,Phy; //三门课成绩 double ave; //平均成绩 ofstream ofile; public: Student(string="noname",char='m',int=0,int=0,int=0,int=0); //构造函数 ~Student(); //将对象数据成员存入磁盘文件myfile.txt;需借用this指针 void CalAve(); //计算平均成绩 friend ostream& operator<<(ostream& dist,Student& st); //输出姓名、性别、学号、三门课成绩、平均成绩 }; //在此添加代码包括析构函数、构造函数、求平均成绩函数和输出运算符重载函数。 int main(){ Student st("wang",'m',22061,90,80,85); st.CalAve(); cout<<"name"<<'\t'<<"sex"<<'\t'<<"id"<<'\t'; cout<<"Eng"<<'\t'<<"Math"<<'\t'<<"Phy"<<'\t'<<"ave"<<endl; cout<<st<<endl; return 0; } 2.定义一个整型数组类,成员组成见定义和说明。根据主函数,补全对数组进行升序冒泡排序的成员函数代码。 要求将源程序文件以文件名myfile2.cpp保存到考试盘的学号文件夹中。 提示:对n个数据进行升序冒泡排序的算法思想:对数组共进行n-1次“冒泡”操作,每次“冒泡”可将本次中的一个最小元素置于该批数据首位。 第i次“冒泡”算法思想(前i-1次冒泡已排好i-1个数据):从最后一个元素开始,直到第i个元素,相邻两元素比较,如果前大后小,则交换; 某轮冒泡如果没有发生元素交换,说明数据已排好序,冒泡过程可以中止。 #include<iostream> using namespace std; template<typename T,int size> class array{ T a[size]; int last; int maxSize; public: array(){last=-1;maxSize=size;} bool isfull(){if(last==maxSize-1) return true; else return false;} void insertRear(T data){ //将data插在数组最后一个元素位置,可用于创建数组 if(!isfull()){last++;a[last]=data;} else cout<<"array is full,can not insert!"<<endl; } void bubbleSort(); //将数组元素用冒泡法升序排列 void print(){ //输出数组 for(int i=0;i<=last;i++) cout<<a[i]<<'\t'; cout<<endl; } }; //此处添加冒泡排序函数代码 int main(){ array<char,9> list; char m; cout<<"请输入9个字母:"<<endl; for(int i=0;i<9;i++){ //创建数组 cin>>m; list.insertRear(m); } list.print(); list.bubbleSort(); //排序 list.print(); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服