教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

实验六__继承三_——_多继承及继承的应用(2)

来源:网络收集 时间:2026-08-16
导读: {}//完成成员函数的定义 voidstudent::print(void) {cout学号:idendl; person::print(); cout系(专业):departmentendl; cout进校日期:enterdate.get_year()年; coutenterdate.get_month()月; coutenterdate.get_day

{}//完成成员函数的定义

voidstudent::print(void)

{cout<<"学号:"<<id<<endl;

person::print();

cout<<"系(专业):"<<department<<endl;

cout<<"进校日期:"<<enterdate.get_year()<<"年";

cout<<enterdate.get_month()<<"月";

cout<<enterdate.get_day()<<"日"<<endl;

}

voidstudent::print_base()

{cout<<setw(8)<<get_id();

cout<<setw(12)<<get_name();

cout<<setw(4)<<get_sex();

cout<<setw(6)<<get_year()<<"-"<<get_month()<<"-"<<get_day();

cout<<setw(20)<<get_department();

cout<<setw(6)<<get_enteryear()<<"-"<<get_entermonth();

cout<<"-"<<get_enterday()<<endl;

}

//score类的定义:存放在score.h中

#include"student.h"

constintM=10;

classscore:publicstudent

{private:

floatsc[M],aver;

intm;

public:

score(void);//无参构造函数

voidset_score(floatx[],intn);//提供成绩

floatget_score(inti)//得到第i科成绩

{}//完成成员函数的定义

floatget_aver(void)//得到平均成绩

{}//完成成员函数的定义

voidprint(void);

voidprint_score(void);

};

score::score(void)//无参构造函数

{

strcpy(name,"无名氏");

电脑知识文档

strcpy(sex,"男");

birthday.set_date(1980,1,1);

id=0;

strcpy(department,"计算机");

enterdate.set_date(2000,9,1);

inti;

m=M;

for(i=0;i<m;i++)

sc[i]=0;

aver=0;

}

voidscore::set_score(floatx[],intn)//提供成绩:完成成员函数的定义

{inti;floatsum=0;

m=n;

for(i=0;i<m;i++)

{}

aver=sum/m;

}

voidscore::print(void)//重载输出print()

{student::print();

inti;

for(i=0;i<m;i++)

cout<<""<<sc[i];

cout<<""<<aver<<endl;

}

voidscore::print_score(void)

{intj;

cout<<setw(8)<<get_id();

cout<<setw(12)<<get_name();

for(j=0;j<m;j++)

cout<<setw(6)<<get_score(j);

cout<<""<<setw(6)<<get_aver()<<endl;

}

//成绩处理程序:保存在exp_603.cpp中

#include<iostream.h>

#include<iomanip.h>

#include"score.h"

voidinput_base(score*p,intn);//学生基本数据输入

voidinput_score(score*p,intn,intm);//学生成绩输入

voidprint_base(score*p,intn);//学生基本数据输出

voidprint_score(score*p,intn,intm);//学生成绩输出

score&average(score*p,intn,intm);//普通函数:平均成绩计算

voidsort(score*p,intn,intm);//普通函数:按平均成绩排序

voidmain()

{intn,m;

电脑知识文档

cout<<"学生人数:";cin>>n;

cout<<"考试科数:";cin>>m;

score*p,aver;

p=newscore[n];//动态分配内存单元——动态数组

if(p==NULL)

{cout<<"内存分配失败"<<endl;

return;

}<文档由小强收集,如果喜欢电

影可以关注pplive网络电视官方下载/

intch;

do

{

cout<<"\n\n请选择:\n";

cout<<"1.输入学生基本数据\n";

cout<<"2.输入学生成绩\n";

cout<<"3.计算课程平均成绩\n";

cout<<"4.输出学生基本数据\n";

cout<<"5.输出学生成绩\n";

cout<<"6.按平均成绩排序\n";

cout<<"0.退出\n";

cout<<"\n输入你的选择:";

cin>>ch;

switch(ch)

{case1:input_base(p,n);break;

case2:input_score(p,n,m);break;

case3:aver=average(p,n,m);break;

case4:print_base(p,n);break;

case5:print_score(p,n,m);aver.print_score();break;

case6:sort(p,n,m);break;

case0:break;

}

}

while(ch);

delete[]p;//释放内存

}

voidinput_base(score*p,intn)//学生基本数据输入

{inti,id,y1,m1,d1,y2,m2,d2;

charname[11],sex[3],dpt[20];

cout<<"\n请输入学生基本数据:";

for(i=0;i<n;i++)

{cout<<"第"<<i+1<<"个学生:\n";

cout<<"学号:";cin>>id;

cout<<"姓名:";cin>>name;

cout<<"性别:";cin>>sex;

cout<<"出生年:";cin>>y1;

cout<<"出生月:";cin>>m1;

电脑知识文档

cout<<"出生日:";cin>>d1;

cout<<"所在系:";cin>>dpt;

cout<<"入学年:";cin>>y2;

cout<<"入学月:";cin>>m2;

cout<<"入学日:";cin>>d2;

p[i].set_person();//完成函数的调用

p[i].set_student();//完成函数的调用

}

}

voidinput_score(score*p,intn,intm)

{inti,j;floatx[M];

for(i=0;i<n;i++)

{cout<<p[i].get_id()<<p[i].get_name()<<"的成绩:"<<endl;

for(j=0;j<m;j++)

{cout<<"第"<<j+1<<"科成绩:";

cin>>x[j];

}

p[i].set_score();//完成函数的调用

}

}

voidprint_base(score*p,intn)

{inti;

for(i=0;i<n;i++)

p[i].print_base();

cout<<endl;

}

voidprint_score(score*p,intn,intm)

{inti;

for(i=0;i<n;i++)

p[i].print_score();

}

score&average(score*p,intn,intm)//用返回引用的方法

{inti,j;floats[M]={0};

staticscoreaver;//返回的对象必须是静态的

for(j=0;j<m;j++)

{for(i=0;i<n;i++)

s[j]=s[j]+p[i].get_score(j);

s[j]=s[j]/n;

}

…… 此处隐藏:1934字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验六__继承三_——_多继承及继承的应用(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/118447.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)