[C con Clase] Pasar argumentos al main desde otro programa
Benjamín Almarza
benjamin.almarza en alumnos.usm.cl
Mar Jun 14 00:32:04 CEST 2011
=p o sea yo estaba contestando la duda de otra persona, de todas maneras
gracias Luis
On 06/09/2011 10:22 AM, Luis Pedro Méndez wrote:
> Hola benjamin, mira esta tutoría a ver si te es de utilidad a los
> fines de tu proyecto.
>
> --------------------------------
>
> /*
> --> Minitutoría sobre paso de argumentos al Main, llamando a
> distintas funciones
> --> Realizado por Luis Pedro Méndez y Elinv.
> --> ------------------------------------------
> --> Realizado en DEV C++ 4.9.9.2
> --> Crea un proyecto en el raiz del disco C: al que llamaras
> calculadora.cpp
> --> copia este código
> --> Compilalo pero no lo ejecutes desde windows pues te enviara un
> error.
> --> En inicio-->ejecutar-->tipeas "cmd" y enter...
> --> con "cd.." vas hasta el c:/
> --> allí tendras un ejecutable que se llamará "calculadora.exe"
> --> tipeas lo siguiente: "calculadora suma 12 24"
> --> donde: calculadora es el ejecutable
> --> suma es la función a la que se llama
> --> 12 es el primer operando de la suma
> --> 24 es el segundo operando de la suma
> --> puedes utilizar tambien las funciones resta, multiplicacion y
> division.
> */
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> #include <iostream>
> using namespace std;
> //distintas funciones
> int suma(int a, int b)
> {
> return a + b;
> }
>
> int resta(int a, int b)
> {
> return a - b;
> }
>
> int multiplicacion(int a, int b)
> {
> return a * b;
> }
>
> int division(int a, int b)
> {
> return a / b;
> }
> //Función principal.
> int main(int argc, char* argv[]) {
> int i;
> //Se informa al operador los argumentos pasados.
> printf("Se han pasado %3d argumentos:\n", argc);
> //Se recorren los argumentos y se informan mas detalladamente.
> for(i=0; i<argc; i++) printf("%5d- %s\n", i, argv[i]);
> //condicionales para el primer argumento recibido que deriva a la
> función
> // específica.
> if (strcmp (argv[1],"suma") == 0)
> {
> cout << endl << "La suma es:\t" <<
> suma(atoi(argv[2]),atoi(argv[3]))<< endl;
> }
> if (strcmp (argv[1],"resta") == 0)
> {
> cout << endl << "La resta es:\t" <<
> resta(atoi(argv[2]),atoi(argv[3]))<< endl;
> }
> if (strcmp (argv[1],"multiplicacion") == 0)
> {
> cout << endl << "La multiplicacion es:\t"<<
> multiplicacion(atoi(argv[2]),atoi(argv[3]))<< endl;
> }
> if (strcmp (argv[1],"division") == 0)
> {
> cout << endl << "La division es:\t"<<
> division(atoi(argv[2]),atoi(argv[3]))<< endl;
> }
> system("pause");
> return 0;
> }
>
> --------------------------------
>
> Un abrazo.
>
> Elinv.
>
>
> El 9 de junio de 2011 00:23, Benjamín Almarza
> <benjamin.almarza en alumnos.usm.cl
> <mailto:benjamin.almarza en alumnos.usm.cl>> escribió:
>
> Lo que tu quieres hacer eso:
>
> ./programa 12 mas 12
>
> Y te devuelva 24.
>
> Ahora fíjate en como es el main, recibe una cantidad de "string"
>
> int main(int argc, char* argv[])
>
>
> Los string que le estás mandando en este ejemplo son "12", "+" y
> "12", debes hacer una función que sea capaz de convertir "12" en
> 12 y "mas" en +
>
> Entonces va a ser:
>
> argv[1] <- primer número
> argv[2] <- operador
> argv[3] <- segundo número
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> <mailto:Cconclase en listas.conclase.net>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> <http://listas.conclase.net/index.php?gid=2&mnu=FAQ>
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110613/5b11fbdf/attachment.html>
Más información sobre la lista de distribución Cconclase