Autor
|
Tema: Ayuda con una funcion, por favor (Leído 1,901 veces)
|
jet1994
Desconectado
Mensajes: 11
|
necesito ayuda con una duda por favor: tengo tres argumentos ingresados: en el primer argumento puede ser:+, - ,* o / en el segundo y tercero es un numero
funcion(int argc,char *argv[]{ float a,b; a=atof(argv[2]); b=atof(argv[3]); if (*argv[1]=='+'){ return(a+b);} if (*argv[1]=='-'){ return(a-b);} if (*argv[1]=='*'){ return(a*b);} if (*argv[1]=='/'){ return(a/b);} } lo que necesito es que segun lo que esta en el primer argumento retornar la operacion que me indique (lo que esta arriba es un ejemplo de lo que quiero hacer, yo se que esta malpor que solo se puede usar un return,pero necesito la manera de correcta de hacerlo) es necesario retornar la operacion Gracias de antemano
|
|
|
En línea
|
|
|
|
flony
Desconectado
Mensajes: 585
|
probaste con darle a cada opcion una funcion distinta cosa que te de un return distinto?
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable 
|
|
|
Don Pollo
Desconectado
Mensajes: 74
/* No comments */
|
Así funciona correctamente: #include <iostream> #include <cstdlib> using namespace std; float funcion(char *argv[]){ float a,b; if (*argv[1]=='+'){ return(a+b);} if (*argv[1]=='-'){ return(a-b);} if (*argv[1]=='x'){ return(a*b);} if (*argv[1]=='/'){ return(a/b);} return -1; } int main(int argc, char *argv[]) { cout << funcion(argv) << endl; return 0; }
Te enumero los errores que he encontrado: - Faltaba un paréntesis en la cabecera de la función.
- No has puesto la función main().
- No has determinado en la cabecera de la función qué tipo de dato a devolver.
- No sé porqué, pero el operador '*' no lo reconoce, lo he tenido que cambiar por 'x'.
- No está mal porque hayas puesto más de un return, es más, lo debes hacer así. (Esto realmente no es un error)
- No habías considerado el hecho de que no entrase por ningún if, por lo que deberías incluir otro return (en mi caso el que devuelve -1)
- El argumento argc no lo usas para nada, por lo que lo puedes omitir de la cabecera de la función.
- Aunque yo tampoco lo haya hecho, deberías incluir en tus códigos lineas de comprobación para verificar que todos los parámetros son correctos y mostrar mensajes de error en caso de que no lo sean.
|
|
« Última modificación: 24 Septiembre 2012, 02:48 am por Don Pollo »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda en una función
Programación Visual Basic
|
karmany
|
0
|
1,370
|
6 Febrero 2006, 00:14 am
por karmany
|
|
|
ayuda con la funcion Do Until
Programación Visual Basic
|
kakinets
|
5
|
2,648
|
24 Marzo 2006, 15:11 pm
por karmany
|
|
|
Referencia de un char [] en una función.[Akai pasate por favor que modificado]xD
« 1 2 3 4 »
Programación C/C++
|
anonimo12121
|
30
|
17,174
|
30 Marzo 2011, 17:12 pm
por anonimo12121
|
|
|
¿Por favor,que hace esta funcion?
Programación C/C++
|
GABETORAP
|
1
|
1,972
|
2 Diciembre 2011, 01:58 am
por Ferno
|
|
|
Ayuda! Por favor. Tengo problema con memoria dinámica en c++ y función getline
Programación C/C++
|
DeathStar92
|
0
|
2,433
|
25 Noviembre 2012, 19:56 pm
por DeathStar92
|
|