/* | \ | \ / \| \ (C) Rafael Menendez de Ll. Rozas | $$$$$$$\| $$\ / $$| $$$$$$$\ Version 1.0 | $$__| $$| $$$\ / $$$| $$__| $$ Entrada: tiempos inicial y final, paso | $$ $$| $$$$\ $$$$| $$ $$ Salidas: Velocidad o Altura del globo | $$$$$$$\| $$\$$ $$ $$| $$$$$$$\ Algoritmo: Mel O'invento | $$ | $$| $$ \$$$| $$| $$ | $$ Fecha: 10/10/18 | $$ | $$| $$ \$ | $$| $$ | $$ Contacto: +34 123456789 \$$ \$$ \$$ \$$ \$$ \$$ Dir.: c/ El bit loco n. 33 Se trata de usar en un problema de ingenierĂ­a todas las sentencias de control de C por motivos docentes */ #include #include #include int main() { int inicial, incremento, final; char op; // prototipos void entrada (int*, int*, int*, char*); void salida (int, int, int, char); // llamadas entrada(&inicial,&final,&incremento, &op); salida(inicial,final,incremento,op); } // fin de main void entrada (int* inicial, int* final, int* incremento, char* op) { int control; do { puts("Introduce el valor inicial y final en horas y el paso"); control=scanf("%d %d %d", inicial, final, incremento); } while (control !=3 || *inicial<0||*inicial>48||*final>48||*final<*inicial||*incremento < 0); // se podrian poner muchas condiciones do { while(getchar() != '\n'); // vaciara el buffer *op=getchar(); // ya se ha ce la lectura correcta } while (*op!='a' && *op!='v'); // otra forma de permanencia distinta de la anterior } // fin de entrada void salida (int inicial,int final,int incremento,char op) { int tiempo; double velocidad, altura; /* calculo */ switch(op) { case 'a': for(tiempo=inicial;tiempo<=final;tiempo+= incremento) { altura = -0.12L * powf(tiempo,4.0L) + 12.0L * powf(tiempo,3.0) -378.0L * tiempo * tiempo + 4100.0L * tiempo + 219.55L; printf("Tiempo: %5d Altura: %8.2f\n", tiempo, altura); } break; case 'v': for(tiempo=inicial;tiempo<=final;tiempo+= incremento) { velocidad = -0.48L * powf(tiempo,3.0L) + 36.0L * tiempo * tiempo + -760.0L * tiempo + 4100.0L; printf("Tiempo: %5d Velocidad: %8.2f\n", tiempo, velocidad); } break; default: puts("esto no puede ocurror"); } // fin de swith } // finde salida