Das ist ja auch immer wahr. Die Bedingung in der Klammer ist doch immer wahr.
Von den Bedingungen in der Klammer kann immer nur maximal eine 'falsch' sein, alle anderen sind wahr, und da Du das ODER verknüpfst ist der Gesamtausdruck immer wahr.
Ich denke, was Du willst, wäre in der Klammer die Bedinugnen mit && zu verknüpfen. Das ließe sich dann aber mit '>' / '<' einfacher abfragen.
[edit] Gerade gesehen: Die Variable var5 soll ja auch den Wert 30 haben, wenn sie zuvor 0 war. Also nochmal Pseudocode: wenn var5=0 oder var5>5 dann var5=30
was soll denn dieser Mehrfachvergleich überhaupt für einen Sinn haben.
var5 kann in dem Moment der Abfrage nur einen Wert haben.
Wenn der 0 ist soll es auf 30 geändert werden. Dafür reicht der Vergleich mit 0.
Wenn var5 gleich 0 ist kann es nicht gleichzeitig 1,2, ... oder 5 sein.
if (var5 == 0)
{
var5 = 30;
}
Wenn du auf verschiedene Werte hin verschiedene Dinge tun möchtest verzettel dich nicht in Ellenlange if Vergleich nimm switch case.