Operator "OR" do walidacji ciągów znaków

0

siema, gdzie robię błąd? o czym zapomniałem?

#include <iostream>
using namespace std;
int main()

{
    double value;
    string sign;

    while(cin>>value>>sign)
    {
        cout << "Podano wartosc: " << value << " " << sign << endl;
    if(sign != "cm" || "cal")  
        cout << "Bledna jednostka!" << endl;
    }
}

Chodzi o to:

if(sign != "cm" || "cal")

Jeżeli dam jedną jednostke (np. cm) to program działa w 100%. Jeżeli dam operator || pod dwie jednostki to wywala komunikat, że błędna jednostka. ??? O czym zapomniałem?

0
if((sign != "cm") || (sign != "cal"))

Jeśli o to Ci chodzi...
Ale pewnie chodzi Ci o && :-)

0

Musi być AND

if(sign != "cm" && sign != "cal")

1 użytkowników online, w tym zalogowanych: 0, gości: 1