Увод в програмирането
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 ]