Помогите пожалуйста вывести функции Cos Dlin и умножение на скаляр ( vek operator* (int& a) { return vek(x*a, y*a, z*a); }) Код | #include "stdafx.h" #include <math.h> #include <iostream> using namespace std; class vek { public: struct { int x, y, z; }; vek() : x(0), y(0), z(0) {} vek(vek& v) : x(v.x), y(v.y), z(v.z) {} vek(int _x, int _y, int _z) : x(_x), y(_y), z(_z){} //--------------------------------------------------------------------------------------------- vek operator+ (vek& v) { return vek(x + v.x, y + v.y, z + v.z); } //--------------------------------------------------------------------------------------------- vek operator- (vek& v) { return vek(x - v.x, y - v.y, z - v.z); } //--------------------------------------------------------------------------------------------- int operator* (vek& v) { return x*v.x + y*v.y + z*v.z; } //--------------------------------------------------------------------------------------------- void Dlin(vek& v){ int k1,k2; k1 = sqrt(x*x + y*y + z*z); k2 = sqrt(v.x*v.x + v.y*v.y + v.z*v.z); cout << k1 << k2; }; //--------------------------------------------------------------------------------------------- void Cos(vek& v){ int cosn,sk; int k1, k2; k1 = sqrt(x*x + y*y + z*z); k2 = sqrt(v.x*v.x + v.y*v.y + v.z*v.z); sk = x * v.x + y * v.y + z * v.z; cosn = sk / (k1*k2); cout << "Косинус угла равен " << cosn; }; //--------------------------------------------------------------------------------------------- vek operator* (int& a) { return vek(x*a, y*a, z*a); } }; //--------------------------------------------------------------------------------------------- void Menu() { setlocale(LC_ALL, "Russian"); cout << "1 - Сложение векторов" << endl; cout << "2 - Вычитание векторов" << endl; cout << "3 - Вычисления скалярного произведения двух векторов" << endl; cout << "4 - Вычисление длины вектора" << endl; cout << "5 - Вычисление косинуса угла между векторами" << endl; cout << "6 - На сколько умножить" << endl; cout << "7 - Выход" << endl; cout << "#: "; vek v1(1, 2, 3); vek v2(4, 5, 6); vek v3(0,0,0); int Choose = 1; while ((Choose < 8) & (Choose > 0)) { cin >> Choose; if (!cin) { cout << "Не верный ввод! "; cin.clear(); system("pause"); break; } cout << "---------------------------------------------------" << endl; switch (Choose) { case 1: v3 = v1 + v2; cout << v3.x<<v3.y<<v3.z; break; case 2: v3 = v2 - v1; cout << v3.x << v3.y << v3.z; break; case 3: break; case 4: break; case 5: break; case 6: break; } cout << "---------------------------------------------------" << endl; system("pause"); } } //--------------------------------------------------------------------------------------------- int _tmain(int argc, _TCHAR* argv[]) { Menu(); return 0; }
|
|