标签:
1
题目内容:
基于本单元作业【1】,在Screen类中添加一个私有函数exitWhenInvalidScreen用于检测屏幕的宽与高是否 符合逻辑
1. 函数exitWhenInvalidScreen的返回值类型、参数的个数和类型请你自行指定。
2. 函数exitWhenInvalidScreen的判断逻辑如下:
1)宽度和高度均不得大于1000像素(可以等于1000像素)
2)宽度和高度必须大于0像素(不能等于0像素)
3)如果宽或者高不满足上述任一条件,则整个程序仅仅输出字符串"invalid screen size",然后退出程序
3. 在Screen类的有参构造函数及Setter函数中,要调用exitWhenInvalidScreen函数检测屏幕的宽和高
4. 程序中的主函数如下(与作业【1】完全相同)
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
#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