Я новичок в C++, и я не могу понять, почему код останавливается, как только пользователь вводит либо RecPrisim, TriPrisim, либо Cylinder, программа останавливается, выдает некоторые случайные числа и закрывает. Мне просто интересно, если это потому, что переменные должны быть числами, но я попытался сделать то же самое, используя Strings, и у меня появились ошибки.Не знаете, почему код не читается?
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int main()
{
int Length;
int Height;
int Base;
int Width;
int UserChoice;
int ObjectResult;
int RecPrisim;
int TriPrisim;
int Cylinder;
int TriResulta;
RecPrisim = 1;
TriPrisim = 1;
Cylinder = 1;
TriResulta = 1;
cout << "Choose one: RecPrisim, TriPrisim or Cylinder." << endl;
cin >> UserChoice;
if (UserChoice = RecPrisim)
{
cout << "Enter Length, Width then Height.";
cin >> Length;
cin >> Width;
cin >> Height;
ObjectResult = Length*Width*Height;
cout << ObjectResult;
}
else if (UserChoice = TriPrisim)
{
cout << "Enter Base, Height, Width, Length." << endl;
cin >> Base;
cin >> Height;
cin >> Width;
cin >> Length;
ObjectResult = Base*Height/2 * Width*Length;
cout << ObjectResult;
}
else if (UserChoice = Cylinder)
{
cout << "Enter Radius and Length." << endl;
cin >> Base;
cin >> Height;
ObjectResult = 3.1459*Base*Base*Height;
cout << ObjectResult;
}
system("pause");
}
использовать '==' вместо '=' !! – liaK
Включите все предупреждения компилятора. –
Нишант, хотя это была одна из проблем (ив только делал C++ в течение двух дней). Я также понял, что после того, как я разместил вопрос, который я присвоил 1 переменным из TriPrisim ect, и поэтому набрав TryPrisim, поскольку UserChoice не собирался работа, и вместо этого мне пришлось набрать 1. Спасибо за помощь: D –