// Programación en C++ para Ingenieros, Ed. Thomson Paraninfo, 2006 // Capítulo 4: Esquemas Algorítmicos Básicos // Programa que dadas las horas de entrada y salida de los // trabajadores (expresadas en minutos absolutos), // calcula el porcentaje de trabajadores que hacen un mínimo de 480 minutos // y la cantidad de minutos extras que se hacen #include <iostream> using namespace std; // Definición de constantes const int MIN = 480; // Programa principal int main() { // Declaración de variables int cumplen = 0, // Trabajadores que hacen 480 mínutos como mínimo total = 0, // Número total de trabajadores extras = 0, // Minutos extras entrada, salida, // Minutos de entrada y minutos de salida aux; // Variable auxiliar // Se aplicará el esquema de recorrido: cout << "Entra los pares de los minutos de llegada y salida de cada empleado "; cout << "acabados con el centinela 0 0:" << endl; // Obtención del primer par cin >> entrada >> salida; while ( !((entrada == 0) && (salida == 0)) ) // No último elemento { // Tratar elemento aux = salida - entrada; if ( aux >= MIN ) { extras += (aux - MIN); cumplen++; } total++; // Obtener siguiente par cin >> entrada >> salida; } // Salida de los resultados cout << "El " << ((double)cumplen)/((double)(total))*100.0; cout << "% cumple." << endl; cout << "Se han hecho " << extras << " minutos extras." << endl; return 0; }