// lab03.cpp (C) 2000 adolfo@di-mare.com /** \file lab03.cpp \brief Ejemplos de uso de \c while() y de \c for(;;). \author Adolfo Di Mare \date 2000 */ #include /// Muestra cómo se calcula \c X^n usando \c while(). int main_while() { long n, i, res; float X; cout << endl; cout << "Entre X: "; cin >> X; cout << "Entre n: "; cin >> n; i = 1; res = 1; while (i <= n) { // while res *= X; ++i; } cout << "X^n == " << res << endl; return 0; } #include /// Muestra cómo se calcula \c X^n usando \c for(;;). int main_for() { int n, i, res; float X; cout << endl; cout << "Entre X: "; cin >> X; cout << "Entre n: "; cin >> n; for (i=1, res=1; i <= n; ++i) { // for (;;) res *= X; } cout << "X^n == " << res << endl; return 0; } #include // cin -- cout #include // set..(io) /// Calcula promedios de clase, usando un valor como sentinela. int main_promedio() { int total, // total de notas n, // cantidad de notas ingresadas nota; // una nota float promedio; // promedio, con punto decimal // fase de inicialización n = 0; total = 0; cout << endl; // fase de proceso cout << "Ingrese cada nota, -1 para terminar: "; cin >> nota; while ( nota != -1 ) { total = total + nota; n = n + 1; cout << "Ingrese cada nota, -1 para terminar: "; cin >> nota; } // fase de conclusión if ( n != 0 ) { promedio = (float)(total) / (float)n; cout << "El promedio de la clase es " << setprecision( 2 ) << setiosflags( ios::fixed | ios::showpoint ) << promedio << endl; } else { cout << "Ninguna nota fue ingresada" << endl; } return 0; // indica que el programa terminó con éxito } /// Programa principal. /// - Invoca a las demás rutínas \c main(). int main() { int ret; // código de retorno del programa principal ret = main_while(); if (ret != 0) { cout << "ERROR: " << ret << "main_while()"; } ret = main_for(); if (ret != 0) { cout << "ERROR: " << ret << "main_for()"; } ret = main_promedio(); if (ret != 0) { cout << "ERROR: " << ret << "main_promedio()"; } return 0; } // EOF: lab03.cpp