码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-09-18 13:28:04      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

 

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 height
public:
	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】- 在线编程(难度:中)

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5881021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!