实验二 类和对象的使用 - 参考答案
更新时间:2023-10-28 19:20:01 阅读量: 综合文库 文档下载
- 实验二小推荐度:
- 相关推荐
实验二 类和对象的使用
班级: 学号: 姓名: 成绩:
一. 实验目的
1.掌握类和对象的概念、定义和使用方法。 2.掌握不同特性对象成员的访问方法。
二. 使用的设备和仪器
计算机+Windows XP +Visual C++6.0
三. 实验内容及要求
1.定义一个Book类,在该类定义中包括以下数据成员和成员函数:
数据成员:bookname(书名)、price(价格)、number(存书数量)
成员函数:set()输入图书信息;display()显示图书的情况;borrow()将存书数量减1,并显示当前存书数量;restore()将存书数量加1,并显示当前存书数量。
在主函数中,要求创建某一图书对象,并对该图书进行简单的显示、借阅和归还等管理。
2.定义一个中国好声音歌手类。其中,包括每个歌手的名字、年龄、来自哪个省份、所唱的曲目等。可以实现报名、显示、修改等功能。 3.定义一个时间类,实现课堂中第五节中的例2.2。
数据成员:时、分、秒
成员函数:输入时间、设置时间、按12小时制显示时间、按24小时制显示时间、增加1小时、减少1小时等功能。
4.定义一个学生类Student,要求如下:
(1)数据成员包括学号、姓名、数学成绩、英语成绩和C++成绩;要求对所输入的成绩的合法性进行判断。
成员函数包括:设置学生的信息函数;输入学生的信息函数;输出学生的信息函数;计算学生平均成绩的函数。
(2)添加新的数据成员:出生年月日;实现多个学生信息的添加、成绩的修改(一次只能修改一科成绩)等功能。要求单独定义一个日期类,并对所输入的出生年月日的合法性进行判断。
(3)设计一个菜单函数。
****************************************************************** * * * 1.添加 2.设置 3.显示 4.修改成绩 5.计算平均分 0.退出 * * *
****************************************************************** 请输入相应编号:
四. 实验步骤
编写程序+编译+连接+运行+分析结果
五. 实验总结
1.编写的程序源代码
2.实验中遇到的问题及解决方法 3.收获
参考答案: 1、
#include
private: string bookname; //书名 double price; //价格 int number; //数量 public: void input(); //输入书籍信息 void display(); //输出书籍信息 void borrow(); //借书 void restore(); //还书 };
void Book::input()//输入书籍信息 { cout<<\请输入书名、价格、数量:\ cin>>bookname>>price; while(1) { if(price<0) { cout<<\价格输入有误,请重新输入!\ cin>>price; }
else break; } cin>>number; while(1) { if(number<0) { cout<<\数量输入有误,请重新输入!\ cin>>number; } else break; } }
void Book::display()//输出书籍信息 { cout< cout< void Book::borrow()//借书 { if(number<=0) cout<<\本书库存为0,借阅失败!\ else { number--; cout<<\借阅成功,请及时归还!\ display(); } } void Book::restore()//还书 { number++; cout<<\归还成功!\ display(); } //************************************************************** void Menu(Book &e)//菜单 { system(\ int ch; do { cout<<\ cout<<\ *\ cout<<\ 1.添加 2.显示 3.借书 4.还书 0.退出 *\ cout<<\ *\ cout<<\ cout<<\请输入相应编号:\ cin>>ch; switch(ch) { case 1: e.input(); break; case 2: e.display(); break; case 3: e.borrow(); break; case 4: e.restore(); break; case 0: return; default: cout<<\数据输入不合法,请重新输入!\ } system(\ system(\ }while(ch!=0); cout<<\欢迎您下次再使用本系统!\} int main() { Book b; Menu(b); return 0; } 2、 #include class Singer { private: string name; //歌手名 int age; //年龄 string province; //省份 string song; //曲目 public: void input(); //报名 void display(); //浏览 void modify(); //修改歌手相关信息 }; void Singer::input()//报名 { cout<<\请输入歌手名、年龄、省份和所选曲目:\ cin>>name>>age; while(1) { if(age<0||age>70) { cout<<\年龄输入有误,请重新输入!\ cin>>age; } else break; } cin>>province>>song; } void Singer::display()//浏览 { cout< cout< void Singer::modify()//修改歌手信息,具体修改项用菜单项进行选择 { int ch,ch2; do case 2: cout<<\设定时间为0:0:0\ break; case 3: display_menu(e); break; case 4: e.add_hour(); break; case 5: e.sub_hour(); break; case 0: return; default: cout<<\数据输入不合法,请重新输入!\ } system(\ system(\ }while(ch!=0); cout<<\欢迎您下次再使用本系统!\} int main() { Time b; Menu(b); return 0; } 4、 #include const int N=8; //定义日期类 class Date { private: int CYear; int CMonth; int CDay; public: void set_Date(int y,int m,int d); void Print_Date(); int IsValid_CMonth(); int IsValid_CDay(); void Input_Date(); }; e.set(0,0,0); void Date::set_Date(int y,int m,int d) { CYear=y; CMonth=m; CDay=d; } void Date::Print_Date()//输出 { cout< int Date::IsValid_CMonth() // 返回0,表示有错误;返回1,表示正确; { if(CMonth<1||CMonth>12) { cout<<\输入的月份信息有误,请重新输入!\ return 0; } else return 1; } int Date::IsValid_CDay() // 返回0,表示有错误;返回1,表示正确; { switch(CMonth) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(CDay>31||CDay<1) { cout<<\输入的日期信息有误,请重新输入!\ return 0; } break; case 4: case 6: case 9: case 11: if(CDay>30||CDay<1) { cout<<\输入的日期信息有误,请重新输入!\ return 0; } break; case 2: if((CYear@0==0)||(CYear%4==0)&&(CYear0!=0)) { if(CDay>29||CDay<1) { cout<<\输入的日期信息有误,请重新输入!\ return 0; } } else { if(CDay>28||CDay<1) { cout<<\输入的日期信息有误,请重新输入!\ return 0; } } break; } return 1; } void Date::Input_Date()//输入 { cout<<\请输入出生日期:\ cout<<\年:\ cin>>CYear; while(1) { cout<<\月:\ cin>>CMonth; if(IsValid_CMonth()==1) break; } while(1) { cout<<\日:\ cin>>CDay; if(IsValid_CDay()==1) break; } } //********************************************** //定义员工类 class Student { private: string Num; //学号 string Name; //姓名 Date Birthday; //生日 double Math; //数学成绩 double CPlusPlus; //C++成绩 double English; //英语成绩 public: string get_Num(); //获取学号 string get_Name(); //获取姓名 void Input_Student(); //输入学生信息 void Set_Student(string,string,int,int,int,double,double,double); //设置学生信息 void Print_Student(); //显示学生信息 double Average_Score(); //求三科的平均成绩 void Modify_Score(double,int);//修改成绩,一次只能改一科成绩 int IsScoreValid(int n); //判断成绩是否合法,0-100之间。 }; string Student::get_Num()//获取学号 { return Num; } string Student::get_Name()//获取姓名 { return Name; } void Student::Input_Student()//输入学生信息 { cout<<\学号:\ cin>>Num; cout<<\姓名:\ cin>>Name; Birthday.Input_Date(); while(1) { cout<<\数学成绩:\ cin>>Math; if(IsScoreValid(Math)==1) break; } while(1) { cout<<\成绩:\cin>>CPlusPlus; if(IsScoreValid(CPlusPlus)==1) break; } while(1) { cout<<\英语成绩:\cin>>English; if(IsScoreValid(English)==1) break; } } void Student::Set_Student(string nu,string na,int y,int mo,int d,double m,double c,double e)//设置学生信息 { Num=nu; Name=na; Birthday.set_Date(y,mo,d); Math=m; CPlusPlus=c; English=e; } void Student::Print_Student()//输出学生信息 { cout< double Student::Average_Score()//计算平均成绩 { return (Math+CPlusPlus+English)/3; }
正在阅读:
实验二 类和对象的使用 - 参考答案10-28
新生儿常见疾病(6)09-10
中国金融期货交易所结算会员结算业务细则(中金所办字16号)05-12
围棋教学课程教学大纲10-13
2016年研究生毕业感言02-10
金蝶K3上机考试题2016版02-03
磁场对运动电荷的作用力4原创06-24
钓鱼能手作文500字06-29
《清稗类钞》服饰类04-12
人教版小学六年级上册语文重点知识梳理05-31
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 对象
- 答案
- 参考
- 实验
- 使用
- 公文写作与处理复习题
- 大学期末考试化工原理第1-2辅导题和答案
- 蒙雪丹男生和女生说课稿
- 辩论赛:网络是否有利于人际关系发展
- 纳税筹划在企业财务管理中的应用
- 江苏省2018届苏锡常镇高三高考一模物理试题及参考答案
- 江苏省扬州市2018年中考物理试卷(解析版)
- 新形势下医疗损害赔偿纠纷案件相关法律问题解读 答案
- 公文病句修改
- 2016年版地理学考真题分类汇编易错题检测 - 图文
- 农村劳动力资源存在的问题及对策
- 2019年湖南省中考语文现代文之说明文阅读7篇
- 北大自考绩效管理复习资料
- 钢结构(CO2气保焊、熔嘴焊、栓钉焊)--北京市施工工艺标准
- 现汉修辞笔记
- 可口可乐问题及对策
- PEP三年级英语上册Unit 6 Happy birthday 第四课时Lets talk教案
- 2013年最新环保知识竟赛题及答案
- 实训项目 用户和组的管理
- OFDM及载波聚合的设计与实现毕业论文