Как лучше писать условия в c++? - Вопросы по С+

Вопрос Как лучше писать условия в c++?

Регистрация
13 Ноя 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
У меня есть 2 небольших кода которые выполняют задачу определения состояния воды какой лучше использовать 1 или 2?



//1 код



#include <iostream>

using namespace std;



int main()

{

int condition;

cin >> condition;

if (condition <= 0) {cout << "Лед";}

else if (condition >= 100) {cout << "Водяной пар";}

else {cout << "Жидкая вода";}



//2 код



#include <iostream>

using namespace std;



int main()

{



int condition;

cin >> condition;

if (condition <= 0)

{

cout << "Лед";

}

else if (condition >= 100)

{

cout << "Водяной пар;";

}

else

{

cout << "Жидкая вода";

}

}
 
Регистрация
23 Фев 2013
Сообщения
82
Репутация
21
Спасибо
0
Монет
0
Любой вариант. Это лишь оформление.
Общепринято конечно делать перенос на новую строку. Но это лишь оформление, и оно может быть разным. if(temp > 100)
{
}else if(temp > 0)
{
}else
{
}
 
Регистрация
19 Авг 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Второй понятней, первый меньше. Если работаешь сам с собой, лучше первый, а если с людьми, то лучше второй
 
Регистрация
22 Ноя 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
#include <array>
#include <iostream>

using namespace std;

int main() {
const array<const char*, 4> water{
"Лёд",
"Замерзание/Таяние",
"Жидкое состояние",
"Кипение"
};

cout << "t: ";
double t;
cin >> t;

size_t condition;

if (t < 0) condition = 0;
else if (0 == t) condition = 1;
else {
if (100 <= t) condition = 3;
else condition = 2;
}

cout << water[condition] << '\n';
}
 
Регистрация
27 Авг 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Если ты не собираешься вызывать это счастье в цикле миллион раз в секунду, лучше нахрен убрать все else. У тебя 3 взаимоисключающих условия, можешь их просто записать подряд. А еще лучше оформить все отдельным методом (код на c#, но идею уливишь): private static string GetWaterState(double _TemperatureC)
{
if (_TemperatureC<0)
return "Ice";
if (_TemperatureC>100)
return "Vapor";
return "Liquid";
}
 
Регистрация
28 Дек 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Тебя интересует делать ли такие перносы?
Есть третий вариант
int main()
{
int condition;
cin >> condition;
if (condition <= 0)
{cout << "Лед";}
else if (condition >= 100)
{cout << "Водяной пар;";}
else
{cout << "Жидкая вода";}
}
Но первый выглядит лучше. Если длиннющие условия то лучше уже переносить
 
Сверху Снизу