习题:构造一个类,可以计算各种尺寸液晶的点距。按点距从大到小输出常见显示器的规格参数。

完整题干:

液晶显示器的像素间距(pixel pitch)的意义类似于CRT的点距(dot pitch)。一般是指显示屏相邻两个象素点之间的距离。点距的计算方式是以面板尺寸除以解析度所得的数值。构造一个类,可以计算各种尺寸液晶的点距。按点距从大到小输出常见显示器的规格参数。

注意:

(1)显示器的尺寸一般是对角线长。1英寸等于25.4mm。

(2)不同尺寸的显示器分辨率不同,长宽比也不同。常见的长宽比有4:3,5:4,16:10,16:9。

个人答案:

#include<iostream>
using namespace std;
class Pitch//声明Pitch类
{
public:
	void get_a() //定义成员函数(计算电视机点距)
	{
		for (int i = 0; i < 5; i++)
		{
			float a;
			pixel[i] = y[i] * 25.4 / sqrt(w[i] * w[i] + h[i] * h[i]);
		}
		for (int i = 0; i < 5; i++)
			cout << "第" << i + 1 << "个电视机点距为:" << pixel[i] << endl;

	}
	void set_a()//定义成员函数)(将数据按照点距大小排序)
	{
		cout << "按点距从大到小排序后:" << endl;

		for (int i = 0; i < 5; i++)
		{
			for (int j = i + 1; j <= 5; j++)
			{
				if (pixel[i] < pixel[j])
				{
					float  max, a, b, c;
					max = pixel[i]; pixel[i] = pixel[j]; pixel[j] = max;
					a = y[i]; y[i] = y[j]; y[j] = a;
					b = w[i]; w[i] = w[j]; w[j] = b;
					c = h[i]; h[i] = h[j]; h[j] = c;
				}
			}
		}
		for (int k = 0; k < 5; k++)//输出排好的数据
			cout << "第" << k + 1 << "大的电视机点距为:" << pixel[k] << "mm  电视机屏幕大小为:" << y[k] << "英寸  解析度为:" << h[k] << "*" << w[k] << endl;
	}
private:
	float y[5] = { 14.1,15,16,17,24 };//电视机尺寸(英寸)
	float h[5] = { 1400,1600,1280,1280,1920 };//电视机的解析度高
	float w[5] = { 1050,1280,1024,1024,1200 };//解析度宽
	float pixel[5];
};
int main()
{

	Pitch P;//建立对象P
	P.get_a();
	P.set_a();
	system("pause");
	return 0;
}

结果:

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellenionia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值