para que una funcion "retorne" mas de un parámetro y lo digo entre comillas por que en realidad no lo retorna, debes utilizar acción envés de función.
Con una acción le puedes pasar varios parámetros y te los "retorna" cuantos quieras.
¿Como es eso de acción?
Te dejo aquí la explicación:
http://www.youtube.com/watch?v=1lk3hMqk0Tw https://www.youtube.com/watch?v=cicFrj4TRJ0 https://www.youtube.com/watch?v=8g9bdT005a8
Si haces return la función se detiene ahí justo en el return, pero si envés de devolver con return usas punteros o referencias puedes "retornar" mas de un valor.
En realidad no se retorna nada sino que la operación se realiza sobre los mismos valores que pasas por parámetros como punteros.
Un puntero es una simples variable que dice donde esta guardada otra variable en la memoria.
Vemos como es esto y veras que si se puede hacer tal como lo planeabas XD
Código C:
Ver original#include <stdio.h>
#include <conio.h>
/*prototipo de accion*/
void hazlo ( char * a, char * b, char * c, float * z, float * x, float * w );
main() {
char a, b, c; /*las variables donde guardamos los char*/
float z, x, w; /*las variables donde guardaremos abc despues de convertirlas a float*/
printf ( "\nIngrese 3 letras " ); scanf ( "%c%c%c", &a
, &b
, &c
); /*A la accion le enviamos a, b y c. Los convertira en float y los guardara en z,x y w todo es usando punteros y no return*/
hazlo ( & a, &b, &c, &z, &x, &w );
printf ( "\n Valores: \nfloat a: %.2f \nfloat b: %.2f \nfloat c: %.2f ", z
, x
, w
); }
//accion
void hazlo ( char * a, char * b, char * c, float * z, float * x, float * w ) {
*z=((float)*a); // hacemos un cast de char a float(convercion)
*x=((float)*b); // hacemos un cast de char a float(convercion)
*w=((float)*c); // hacemos un cast de char a float(convercion)
}
como ves aqui hay cosas que quizas no ayas visto, cosas como * y &, eso es tema de punteros.
Los temas implicados son
punteros y
acción, también esta la referencia pero me parece que solo para cpp.
Si aun eres muy nuevo a la programación creo que punteros es un tema escabroso y debes tomarlo con calma.
La potencia de los punteros es ilimitada pero no lo debes tomar a la ligera.
Si sigues alguna clase de cursos en libro o algo sigue el ritmo del libro y no avances hasta tener claro el tema actual.
Si te sientes preparado para punteros en la misma pagina de los vídeos que te envié tienes vídeos sobre punteros.
Son sobre cpp pero los punteros son lo mismo en c o cpp, a lo mejor allí para mostrar algo por pantalla el usa cout, pero tu lo haces con printf ;)
O mejor solo mire la teoría y programes como sabes hacer.
Cosas como funciones, punteros, tablas son lo mismo o cambia muy poco.
Los vídeos son solo para que entiendas que es una acción, lo mejor es que sigas con tu libro o lo que sea XDD
Suerte.