C++考试作业_Demo

C++考试作业

//作业破解系统.cpp
#include <iostream>
#include "workManager.h"

using namespace std;

/*
Date:2020/6/11
IDE: Visual Studio 2019
*/


int main() {
	
	WorkManager wm;

	int choice = 0;
	while (true) {

		wm.Show_Menu();
		cout << "请输入您的选择:" << endl;
		cin >> choice;

		switch (choice)
		{
		case 0://退出本程序
			wm.ExitSystem();
			break;
		case 1://计算点项式直线方程的夹角
			wm.Calculate_Lines_Angle();
			break;
		default:
			cout << "暂不提供此项功能,请重新输入!" << endl;
			system("pause");
			system("cls");
			break;
		}
		system("pause");
		system("cls");
	}

	system("pause");

	return 0;
}
//workManager.h
#pragma once
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>

using namespace std;

class WorkManager {
public:
	WorkManager();

	void Show_Menu();

	void ExitSystem();

	void Calculate_Lines_Angle();

	~WorkManager();

private:
	

};
workManager.cpp
#include "workManager.h"

WorkManager::WorkManager() {

}

void WorkManager::Show_Menu() {
	cout << "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
	cout << "〓      欢迎使用作业破解系统   〓〓" << endl;
	cout << "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
	cout << "〓〓                         〓〓" << endl;
	cout << "〓〓     0、退出破解系统      〓〓" << endl;
	cout << "〓〓                         〓〓" << endl;
	cout << "〓〓 1、已知点项式求两直线夹角 〓〓" << endl;
	cout << "〓〓                         〓〓" << endl;
	cout << "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
	cout << endl;
}

void WorkManager::ExitSystem() {
	cout << "欢迎下次使用本系统!" << endl;
	system("pause");
	exit(0);//退出程序
}

int a1, b1, c1, a2, b2, c2 = 0;

int ReturnData() {
	if (a1 == 0) {
		cin >> a1;
		return a1;
	}
	else if(b1 == 0){
		cin >> b1;
		return b1;
	}	
	else if(c1 == 0){
		cin >> c1;
		return c1;
	}
	else if(a2 == 0){
		cin >> a2;
		return a2;
	}	
	else if(b2 == 0){
		cin >> b2;
		return b2;
	}	
	else {
		cin >> c2;
		return c2;
	}
}

void  WorkManager::Calculate_Lines_Angle() {
	cout << "\t请分别输入 a1、b1、c1、a2、b2、c2的值:" << endl << endl;

	//利用双层for循环给变量们的赋值
	for (int i = 1; i < 3; ++i) {
		for (char a = 97; a < 100; ++a) {
			cout << "\t\t请输入" << a << i << "的值:"; //拼接提示
			ReturnData();//设置赋值函数并返回
		}
	}
	cout << "\n" << endl;
	// abs()取绝对值   sqrt()开平方根   pow(x, y)x的y次幂
	//根据方向向量坐标计算其余弦值
	double cosθ = abs((a1 * a2) + (b1 * b2) + (c1 * c2)) /
		((sqrt(pow(a1, 2) + pow(b1, 2) + pow(c1, 2))) * (sqrt(pow(a2, 2) + pow(b2, 2) + pow(c2, 2))));
	//将余弦值转化为弧度制
	// acos()求x(弧度表示)的反余弦值, 并将弧度转化为角度
	double ret = acos(cosθ) / M_PI * 180;
	
	//cout << "cosθ = " << cosθ << endl;
	//输出结果                                                             
	cout << "两直线夹角为 :" << ret << "°\n" << endl;

}



WorkManager::~WorkManager() {

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值