zoukankan      html  css  js  c++  java
  • 网易云课堂_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 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
    {
    	width_ = width;
    	return width;
    }
    
    int Screen::setHeight(int height)  //return height
    {
    	height_ = height;
    	return height;
    }
    
    Screen::Screen(int width, int height)//有参构造函数
    {
    	exitWhenInvalidScreen(width, height);//检测屏幕的宽与高是否 符合逻辑
    	std::cout << "screen" << std::endl;
    	width_ = width;
    	height_ = height;
    }
    
    Screen::Screen()//默认构造函数
    {
    	std::cout << "screen" << std::endl;
    	width_ = 640;
    	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;
    }
    
  • 相关阅读:
    Python学习--not语句
    【图论】有向无环图的拓扑排序
    算法精解:DAG有向无环图
    Python xrange() 函数
    自然语言处理课程(二):Jieba分词的原理及实例操作
    Jieba分词原理与解析
    ios面试题整理
    OC语言Block和协议
    OC内存管理
    IOS 开发-- 常用-- 核心代码
  • 原文地址:https://www.cnblogs.com/denggelin/p/5881021.html
Copyright © 2011-2022 走看看