bupt c++ 上机 (5)

70 篇文章 0 订阅

类还是不是很会,感觉写的四不像

问题 A: VC++实验7.2 矩形类

时间限制: 1 Sec  内存限制: 128 MB
提交: 653  解决: 375
[提交][状态]

题目描述

定义一个矩形类,长和宽是它的属性,可以求出矩形的面积。定义一个比较函数,比较两个矩形的面积,把面积大的矩形对象作为引用来返回。主函数中定义两个矩形,它们的长、宽已知,分别为矩形1:长5.2、宽4.3,矩形2:长100、宽20。再由键盘输入一个矩形的长、宽。调用比较函数进行比较,找出面积大的矩形,输出其面积。

输入:10 8

输出:2000

#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
class rect
{
public:
	rect(double X, double Y) {
		x = X, y = Y;
		sq = X * Y;
	};
	double getS() {return sq;}
private:
	double x, y;
	double sq;
};
int main() {
	rect c1(5.2, 4.3);
	rect c2(100, 20);
	double a, b;
	cin >> a >> b;
	rect c3(a, b);
	double ans = max(c1.getS(), max(c2.getS(), c3.getS()));
	cout << ans << endl;
	return 0;
}

问题 B: VC++实验7.3 三角类

时间限制: 1 Sec  内存限制: 128 MB
提交: 819  解决: 318
[提交][状态]

题目描述

定义一个Triangle三角形类,包括数据成员三边边长(int类型)、判断三角形形状的成员函数。键盘输入三角形三边边长,判断此三角形形状(其中,等腰直角三角形归为等腰三角形类)。

构成等边三角形,输出“A equileteral triangle”;

构成等腰三角形,输出“A isosceles triangle”;

构成直角三角形,输出“A right triangle”;

构成三角形,但不是以上三种,则输出“A triangle”;

不构成,输出“Not a triangle”。

输入:3 4 5

输出:A right triangle

#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
string s[5] = {"Not a triangle", "A triangle", "A right triangle", "A isosceles triangle", "A equileteral triangle"};
class Triangle
{
public:
	Triangle(int a, int b, int c){
		z = max(a, max(b, c)); 
		x = min(a, min(b, c)); 
		y = a + b + c - x - z;
	};
	int check();
	void print(){ cout << s[check()] << endl; };
private:
	int x, y, z;
};
int Triangle::check() {
	int flag(0);
	if (x + y > z && abs(x - y) < z) flag = 1;
	if (pow(x, 2) + pow(y, 2) == pow(z, 2)) flag = flag ? 2 : 0;
	if (x == y || y == z) flag = flag ? 3 : 0;
	if (x == y && y == z) flag = flag ? 4 : 0;
	return flag;
}
int main() {
	int i, j, k;
	cin >> i >> j >> k;
	Triangle ans(i, j, k);
	ans.print();
	return 0;
}

问题 C: VC++实验7.4 时间类

时间限制: 1 Sec  内存限制: 128 MB
提交: 889  解决: 278
[提交][状态]

题目描述

定义一个时间类,数据成员包括年、月、日,它的函数成员分别可以设置时间、显示时间,其中显示时间的函数,使用重载函数定义,遇到整型数值,则返回2017-5-30的格式,遇到浮点型数值,则输出2017年5月30日的格式。

输入:2017 5 30 1.1

输出:2017年5月30日

#include <cstdio>
#include <iostream>
using namespace std;
class Clock
{
public:
	Clock(int y, int m, int d) {year = y, month = m, day = d;};
	void show(int flag) {
			printf ("%d-%d-%d\n", year, month, day);
	}
	void show(double flag){
			printf ("%d年%d月%d日\n", year, month, day);
	}
private:
	int year, month, day;
	bool flag = 0;
};
int main() {
	int a, b, c;
	string s;
	int k = 1;
	cin >> a >> b >> c >> s;
	int len = s.length();
	for (int i = 0; i < len; i++) 
		if (s[i] == '.') k = 0;
	Clock ans(a, b, c);
	if (k) ans.show(1);
	else ans.show(1.00);
	return 0;
}

问题 D: VC++实验7.5 员工薪金管理类

时间限制: 1 Sec  内存限制: 128 MB
提交: 380  解决: 257
[提交][状态]

题目描述

设计雇员Employee类,包含雇员的情况,工号、姓名、工资等级(每月工资数,整型数值)、受雇时间(年、月、日)。编写程序测试Employee类。要求输入任意员工工号,及当前日期(年、月,此日期应晚于受雇时间),输出该员工姓名接应得到的工资总额,中间用空格隔开。

已知当前所有员工信息如下:

1,"wang",5000,2000,10,23

2,"liu",4500,2008,1,20

3,"huo",3800,2003,7,3

4,"ma",5300,2015,4,10

5,"meng",6000,2016,3,16

输入:5 2016 5

输出:meng 12000

#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
class staff
{
public:
	staff(int id, string s, int money, int y, int m, int d);
	void payoff(int y, int r) {
		num = (y - eyear) * 12 + (r - emonth);
		num *= salary;
	}
	void print() {
		cout << name << " ";
		cout << num << endl;}
private:
	string name;
	int ID;
	int salary;
	int eyear, emonth, eday;
	int num;
};
staff::staff(int id, string s, int money, int y, int m, int d) {
	ID = id; name = s; salary = money;
	eyear = y, emonth = m, eday = d;
}

int main() {
	staff a[5] = {staff(1,"wang",5000,2000,10,23), 
				  staff(2,"liu",4500,2008,1,20),
				  staff(3,"huo",3800,2003,7,3),
				  staff(4,"ma",5300,2015,4,10),
				  staff(5,"meng",6000,2016,3,16)};
	int i, y, m;
	cin >> i >> y >> m;
	a[i - 1].payoff(y, m);
	a[i - 1].print();
	return 0;
}

 

  • 17
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bupt linux上机作业2 是一项关于Linux操作系统的实践作业,要求对Linux系统进行操作和管理。以下是针对该作业的回答: bupt linux上机作业2 主要涉及以下几个方面的内容: 1. 基本命令的使用:在Linux系统中,我们可以使用一些基本的命令来进行文件和目录的操作,如ls、cd、mkdir、rm等。这些命令的使用是我们平时操作Linux系统的基础,要求掌握它们的基本用法。 2. 文件权限的设置:在Linux系统中,每个文件和目录都有自己的权限,包括读、写、执行等。在这个作业中,我们需要学会如何使用chmod命令来设置文件和目录的权限,以保护系统的安全性。 3. 进程管理和任务调度:Linux系统中的进程管理和任务调度是非常重要的内容。在这个作业中,可以通过使用ps、kill等命令来查看和管理系统中的进程,以及使用cron命令来设置定时任务。 4. 软件包的安装和管理:Linux系统中有很多开源软件包可以供我们使用。在这个作业中,可以学习如何使用apt-get或yum等包管理器来安装和管理软件包,以满足系统中各种软件的需求。 通过完成bupt linux上机作业2,我们可以加深对Linux操作系统的理解和掌握,提升对Linux系统的管理能力。这对于计算机相关专业的学生来说是非常有益的,也是日后工作中可能会用到的技能。希望以上回答能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值