UTNianos

Versión completa: Problema con ejercicio de funciones
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Son 2 Programas para un mismo ejercicio

El ejercicio se dio en clases y es una variacion de un ejercicio de la guia, La primera parte era escribir un programa que pidiera 10 temperaturas y indicara la maxima, minima y el promedio. Debia estar escrito de manera que en el main pidiera los datos y los analizara, llamara a otra funcion (llamada "mostrar"), le pasara los resultados y "mostrar" los imprimiera en pantalla. Hasta aca todo bien.

En el otro programa, me pide que main llame a otra funcion (pedido), esta me pide las 10 temperatura y las analiza, y devulve a main la temperatura maxima, minima y promedio. Aca es donde rozo el guardarrail, cruzo los 12 carriles, muerdo el pasto, hago 2 trompos, vuelco y caigo en la cuneta thumbdown . Como miercoles hago que return devuelva 3 valores distinto.
Le pregunte a mi profesora y el ayudante me respondio esto :
hace una funcion que le pases un int entre otros
si le pasas cero devuelve temp max
si le pasas uno devuelve el max
si le pasas dos devuelve min
si le pasas tres el promedio

ademas de un puntero se puede devolver una estructura


Ok, soy tecnico mecanico, para mi esto es chino tradicional con acento de las montañas.....wall
Alguien me puede dar un ejemplo escrito de lo que me puso el ayudante?
tenes que usar una funcion en la que entren variables que puedan ser modificadas dentro de la funcion. si estas con pascal tenes que hacer un procedimiento. si estas cn c++ cuando definis las variables que entran a la funcion le pones un ampersant (&) adelante para indicar que dentro de la funcion se modifican y salen modificadas
que es esto c o c++? info 1 o info 2?
Podes usar estructuras y punteros?
La solución a lo que te dijo tu profesor según entiendo (una chanchada) es llamar 3 veces a la función y uno de los campos sea: func( , ,BUSCO)

donde BUSCO es min, max o prom segun lo que busque y en la función que evalúas y pedís podes poner un switch que mire ese BUSCO con 3 return's distintos...

De todas formas a mi me parece una solución fea.
adhiero a feer.

usar un return para devolver 3 valores es cualquiera.

y hasta donde entendi, la funcion es una cagada si la podes llamar de 3 maneras distintas. al final si quisieras economizar memoria lo mejor seria pasar los 3 punteros de los 3 datos, o declararlos como globales.
Mira que en Info 1 no son fanaticos de las declaraciones globales; por no decirte que es probable que te lo tomen como mal resuelto.

La solucion posible es como te dijeron aca, adhiero a fer particularmente. Y creo que eso fue lo que te quiso decir tu ayudante
Llamar 3 veces a la funcion resolveria el problema pero me parecio una bestialidad, por otra parte no puedo usar punteros ni vectores, la idea es solo usar funciones.
Entonces usa un switch y listo se acabo el problema!!!
Cualquier cosa postea tu código y te ayudamos a destrabarte! =)
la verdad no se me habia ocurrido usar un switch
graciasthumbup3
Copado!
Cualquier cosa, volvé a comentar y seguimos buscandole la forma!
URLs de referencia