/*************** Программа расчитывает зарплату за время работы!!! 03.02.11 12:04 ***************/ #include using std::cout; using std::cin; using std::endl; using std::fixed; #include using std::setprecision; /**** Алгоритм особо не продумывал, и по этому основные пернменные обьявлял как глобальные! ****/ int godNach;//время начала работы (часов) int godKon;//время конца работы (часов) int minNach;//время начала работы (минут) int minKon;//время конца работы (минут) char razd;//тупой разделитель часов и минут int godRes;//количество проработаных часов int minRes;//количество проработаных минут bool a; bool b; void godProv( int a1, int a2)//проверяем верность введённых параметров (часов) { if (a1>=0 && a1<24) { if (a2>=0 && a2<24) { a=1; } } else a=0; } void minProv( int a1, int a2)//проверяем верность введённых параметров (минут) { if (a1>=0 && a1<60) { if (a2>=0 && a2<60) { b=1; } } else b=0; } void godOb(int g1, int g2)//расчёт рабочих часов { if (g1>g2) { godRes=24-(g1-g2); } else godRes=g2-g1; } int minOb(int m1, int m2)//расчет рабочих минут { if (m1>m2) { minRes=60-(m1-m2); godRes-=1; } else minRes=m2-m1; } int main() { double plan;//план работы double zarpl;//зарплата double musor;//переменная для хранения мусора cout<<"Vvedite vremja nachala raboty (hh:mm):\n"; cin>>godNach; cin>>razd; cin>>minNach; cout<<"Vvedite vremja konca raboty (hh:mm):\n"; cin>>godKon; cin>>razd; cin>>minKon; godOb( godNach, godKon); minOb( minNach, minKon); godProv(godNach, godKon); minProv(minNach, minKon); if (a==1 && b==1) { cout<<"\nPabochee vremia: "<>plan; zarpl=plan*godRes; musor=(plan/60)*minRes; zarpl+=musor; zarpl-=0.01;//налоги :) if (zarpl>=0) cout<<"\nVy dolgny zdat v kassu "<