At the line triangle(input, input2); you construct unnamed object. It is actually destroyed immediately. To name an object and keep it for later use you have to write something like triangle tri(input, input2);. Then replace all occurrences of triangle().SOME_METHOD() with tri.SOME_METHOD(). You can call functions using the object name, not the class name, because the class has no object data and the methods have nothing to work with. Last, but not least, read the height and width from the user *before* you construct the object. The sequence is important, because there is no permanent connection between the variables input, input2 used at construction time and the characteristics of the triangle henceforth. The constructor just reads the values at their present state and uses them to initialize the object.
Basically, your main should look like this (not tested though):
1 2 3 4 5 6 7 8 9 10 11 12 13
int input, input2;
cout << "Please enter the base of the triangle: ";
cin >> input;
cout << "\n Now please enter the height of the triangle: ";
cin >> input2;
triangle tri(input, input2);
cout << "\n This is the area of the triangle: " << tri.area() << "\n";
cout << "This is the hypotnuse of the triangle: " << tri.hypotnuse() << "\n";
cout << "This is the sine: " << tri.Sin() << "\n";
cout << "This is the cosine: " << tri.Cos() << "\n";
cout << "This is the tangent: " << tri.Tan() << "\n";
cout << "This is theta: " << tri.ASin() << "\n";
return 0;