[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