#c
#c
Вопрос:
У меня есть этот проект для моего класса программирования, с которым у меня возникли проблемы с работой. По сути, я должен определить, является ли треугольник равносторонним, равнобедренным или скалярным, основываясь на числах, которые дает мне пользователь. Существуют определенные условия, при которых, если одна сторона = 0, это не треугольник. но единственная проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я ввожу 3 равных числа, отображается, что эти стороны не образуют треугольник, все стороны должны быть больше нуля. я не уверен, почему я застрял здесь на 2 часа
if ((usernum1 == 0) amp;amp; (usernum2 == 0) amp;amp; (usernum3 == 0)){
cout<<"These sides do not form a triangle."<<endl;
cout<<"All sides must be greater than zero."<<end
}
else if (usernum1,usernum2 == usernum3){
cout<<"It is "<<endl;
cout<<"an equilateral triangle because all sides are equal."<<endl;
}
http://imgur.com/a/aJ507 «вывод cmd» http://imgur.com/a/UHHNg «мой код без каких-либо утверждений»
Комментарии:
1. Нет, это не единственная проблема, с которой вы столкнулись. Для начала, ваше первое
if()
условие неверно, учитывая ваше описание того, что оно должно делать. Достаньте лист бумаги и карандаш. Установитеusernum1
значение 0, для всех остальных — некоторое ненулевое значение, затем на бумаге определите, какif
будет оцениваться оператор. Подсказка: он не будет оцениватьtrue
.2.
else if(usernum1, usernum2 == usernum3)
это не так, как это работает. Вы должны повторно указывать условие для каждого сравнения :else if(usernum1 == usernum3 amp;amp; usernum2 == usernum3)
. Кроме того, посмотрите на свой первый if. Вы ищете||
оператор, чтобы увидеть, равен ли какой-либо из них 0.3. Да, спасибо за ответ, я собираюсь переделать свой код с самого начала