首页 > 代码库 > 网易云课堂_C++程序设计入门(上)_第4单元:物以类聚 – 对象和类_第4单元作业【2】- 在线编程(难度:中)

网易云课堂_C++程序设计入门(上)_第4单元:物以类聚 – 对象和类_第4单元作业【2】- 在线编程(难度:中)

 

1

为Screen类增加一个私有函数,用于检测屏幕的宽与高是否符合逻辑(10分)

题目内容:

基于本单元作业【1】,在Screen类中添加一个私有函数exitWhenInvalidScreen用于检测屏幕的宽与高是否 符合逻辑

 

1. 函数exitWhenInvalidScreen的返回值类型、参数的个数和类型请你自行指定。

 

2. 函数exitWhenInvalidScreen的判断逻辑如下:

   1)宽度和高度均不得大于1000像素(可以等于1000像素)

   2)宽度和高度必须大于0像素(不能等于0像素)

   3)如果宽或者高不满足上述任一条件,则整个程序仅仅输出字符串"invalid screen size",然后退出程序

 

3. 在Screen类的有参构造函数及Setter函数中,要调用exitWhenInvalidScreen函数检测屏幕的宽和高

 

4. 程序中的主函数如下(与作业【1】完全相同)

 

  1. int main() {
  2.   int width, height;
  3.   std::cin >> width >> height;
  4.   Screen screen1 (width, height);
  5.   Screen screen2;
  6.  
  7.   screen2.setWidth(800);
  8.   screen2.setHeight(600);
  9.  
  10.   std::cout << screen1.getWidth() << ‘ ‘ << screen1.getHeight() << std::endl;
  11.   std::cout << screen2.getWidth() << ‘ ‘ << screen2.getHeight();
  12.  
  13. #ifdef DEBUG
  14.   std::cin.get();
  15. #endif
  16.   return 0;
  17. }

 

 

5. 提示

提示1: exit() 函数可以强行退出程序,该函数在头文件 <cstdlib>中
提示2: 函数exitWhenInvalidScreen可以设计为拥有两个参数,分别为宽和高。当仅需 判断宽或者高二者之一是否符合逻辑时,可以给另一个参数随便赋一个符合逻辑的数
提示3: 当屏幕宽和高不符合逻辑时,仅输出规定的字符串,不要输出任何多余信息

 

输入格式:

 

空格分隔的两个整数,代表屏幕的宽和高

 

输出格式:

 

由输入的数据决定输出的内容。

有两种可能输出:

 

输出字符串"invalid screen size"。输出该字符串后不可以换行

 

或者

 

类似作业【1】的输出格式

 

输入样例1:

320 2400

 

输出样例1:

invalid screen size

 

 

输入样例2:

320 240

 

输出样例2:

screen

screen
320 240
800 600

 

时间限制:500ms内存限制:32000kb
 
#include <iostream>class Screen{public:	int getWidth();	int getHeight();	int setWidth(int width);    //return width	int setHeight(int height);  //return heightpublic:	Screen(int width, int height);//有参构造函数	Screen();//默认构造函数private:	int width;//屏幕的宽	int height;//屏幕的高private:	void exitWhenInvalidScreen(int width, int height);//检测屏幕的宽与高是否 符合逻辑};int Screen::getWidth(){	return width;}int Screen::getHeight(){	return height;}int Screen::setWidth(int width)    //return width{	this->width = width;	return width;}int Screen::setHeight(int height)  //return height{	this->height = height;	return height;}Screen::Screen(int width, int height)//有参构造函数{	exitWhenInvalidScreen(width, height);//检测屏幕的宽与高是否 符合逻辑	std::cout << "screen" << std::endl;	this->width = width;	this->height = height;}Screen::Screen()//默认构造函数{	std::cout << "screen" << std::endl;	this->width = 640;	this->height = 480;}void Screen::exitWhenInvalidScreen(int width, int height)//检测屏幕的宽与高是否 符合逻辑{	if (width <= 0 || height <= 0)//宽度和高度必须大于0像素(不能等于0像素)	{		std::cout << "invalid screen size";//如果宽或者高不满足上述任一条件,则整个程序仅仅输出字符串"invalid screen size",然后退出程序		exit(0);	}	if (width > 1000 || height > 1000)//宽度和高度均不得大于1000像素(可以等于1000像素)	{		std::cout << "invalid screen size";		exit(0);	}}int main() {	int width, height;	std::cin >> width >> height;	Screen screen1(width, height);	Screen screen2;	screen2.setWidth(800);	screen2.setHeight(600);	std::cout << screen1.getWidth() << ‘ ‘ << screen1.getHeight() << std::endl;	std::cout << screen2.getWidth() << ‘ ‘ << screen2.getHeight();#ifdef DEBUG	std::cin.get();#endif	return 0;}

 

网易云课堂_C++程序设计入门(上)_第4单元:物以类聚 – 对象和类_第4单元作业【2】- 在线编程(难度:中)