Duda tonta de parámetros

Iniciado por Orb, 18 Enero 2016, 14:25 PM

0 Miembros y 1 Visitante están viendo este tema.

fary

Cita de: Yoel Alejandro en 18 Enero 2016, 16:19 PM
Fair, ¿por qué es errónea? En todo caso no eres quién mandó el ejercicio, así que no conoces el criterio de lo que se está pidiendo o como se espera hacerlo.

Yo trato de dar la respuesta más amplia posible, no sólo la que encuadra con mi preferencia personal, o la forma como YO lo haría.

Se trata de pedir dos números, y devolver su suma y su resta. Es mi opinión se pueden pedir como argumentos de main(), o de cualquier función auxiliar dentro del programa.

En términos de eficiencia e implementación es diferente, pero estoy tratando de dar una respuesta EN LA MISMA LÍNEA QUE PLANTEÓ ORIGINALMENTE EL USUARIO, es decir, respetando su esfuerzo y criterio original, para que mi respuesta pueda ser realmente útil a él.

En vez de lucirme explicando la manera sensacional COMO YO LO HARÍA, en cuyo caso me estaría respondiendo a mí mismo y no a él.

Saludos, Yoel.

Cita de: Orb en 18 Enero 2016, 14:25 PM
Buenas, tengo este ejercicio :
escribir un programa que reciba dos números como parámetros y muestre por pantalla la syma y la resta de esos dos valores.

Yo con esta descripción no entiendo que el programa pida dos números, si no que se le deben pasar como argumento.

Para entender esto no me hace falta mandar yo el ejercicio.

Por otra parte si con ese enunciado lo que quiere el profesor es que el usuario ingrese dos numeros desde la consola que no es lo mismo que un programa reciba dos numeros como parametros estamos ante un profesor pésimo ó por lo menos su forma de expresarse.

saludos.
Un byte a la izquierda.

MAFUS

Orb, los argumentos de la función main, argc y argv, son para acceder a los parámetros que se le pasa al programa como información adicional.

argc es un entero que indica cuántos parámetros se han enviado. El nombre del programa es el primer parámetro y por siempre tendrá un mínimo valor de 1.

argv es un array de cadenas, cada una de ellas es un parámetro pasado al programa, así pues suponiendo la siguiente ejecución de un programa en línea de comandos:

miprogramasuma 1 2

argc valdrá 3, marcando que se han introducido tres parámetros por llamada.
argv[0] será la cadena miprogramasuma
argv[1] será la cadena 1
argv[2] será la cadena 2

Hay que recordar que todo son cadenas, incluso los números que se han pasado como argumentos son cadenas y no se pueden operar matemáticamente sin antes haberlos convertidos a su valor numérico.
También hay que tener en cuenta que, como son argumentos de main, solo son visibles a esta función.
Por último, argc y argv son nombres de variables que pueden ser llamadas de otra forma (p. ej. nargs y argum) pero que por convención tienen estos nombres.