Увод в програмирането  alpha
Условни изрази и условни оператори

Условни изрази - операцията за условен израз, единствената триместна операция операнд1? операнд2 : операнд3 Пресмята се операнд 1, ако стойността му е true ( != 0 ), резултатът от изпълнение на операцията е стойността на операнд 2; ако операнд 1 има стойност 0, то се пресмята операнд 3 и неговата стойност е резултат от изпълнение на операцията. Ако операнд 2 и операнд 3 са от различни типове, резултатът се преобразува автоматично към по-старшия тип. x>y?10:100

Програма за пресмятане на заплащането за една седмица при почасово заплащане. Имаме R часа работа при заплащане norma лв на час. А извънредния труд се заплаща с 50% по-скъпо ( над 40 часа )

стигаме до извода: suma = R*norma, ако R<=40 = 40*norma + 1,5 * ( R - 40 ) * norma, ако R>40

        #include<iostream.h>
        #include<iomanip>
        void main()
        {
                float R, norma, suma;
                int cod;
                cout<<"\n Въведете cod, R и norma: ";
                cin>>cod>>h>>norma;
                if( R <= 40 ) suma = h * norma;
                else suma = 40*norma + 1,5*(R-40)*norma;
                cout<<setw(6)<<cod<<setw(10)<<setprecision(2)<<setiosflags(ios::fixed/ios::showpoint)<<suma<<endl;
        }

NB! Бележки по програмата! А и R трябва да е h....

Можем да заменим конструкцията if else с условния: suma = ( R <= 40)?R*norma:40*norma+1,5*(R-40)*norma; Условния израз се компилира по-ефективно.

Оператор if: if ( израз ) оператор 1 [ else оператор 2 ]

  • без else - кратка форма
  • с else - пълна форма