Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: peternash en 11 Agosto 2013, 09:26 AM

Título: Duda con parámetros argc y argv
Publicado por: peternash en 11 Agosto 2013, 09:26 AM
Hola. Estaba haciendo un pequeño proyecto para ejecutar en la línea de comandos, pero al depurar me aparece un error.

El código es este:

#include <iostream>
#include <string.h>

using namespace std;
double sum (double a, double b)
{
return a + b;
}
int main (int argc, char *argv[])
{
int i;
if (_stricmp (argv[2], "sum") == 0 ) {
double a, b, result;
a= atoi (argv[3]); // ¿no sería mejor atof?
b= atoi (argv[4]);
result = sum (a, b);
cout << "RESULTADO: " << result;
}
return 0;
}

Es una especie de calculadora para línea de comandos, y quiero que el usuario pueda ejecutar la calculadora invocando directamente el programa con la operación a realizar y los operandos. También tengo planeado hacerle una consola interactiva, pero eso después.

El programa se ejecutaría así

$ PROGRAMA operación OP_1 OP_2
$ programa suma 32 12

Desde ya agradezco las sugerencias y críticas, pero no acepto la clásica "lavada de manos" de "busca en google que para eso está".
Título: Re: Duda con parámetros argc y argv
Publicado por: Stakewinner00 en 11 Agosto 2013, 10:20 AM
Código (cpp) [Seleccionar]
#include <iostream>
#include <string.h>
#include <stdlib.h>

using namespace std;
double sum (double a, double b)
{
return a + b;
}
int main (int argc, char *argv[])
{
if (strcmp(argv[1], "sum") == 0 ) {
double a, b, result;
a= atoi(argv[2]); // ¿no sería mejor atof?
b= atoi(argv[3]);
result = sum (a, b);
cout << "RESULTADO: " << result;
}
return 0;
}


Te faltaba algun include y al parecer también te confundiste en lo de argv[], hiciste como si argv[0] no existiera.
Título: Re: Duda con parámetros argc y argv
Publicado por: MeCraniDOS en 11 Agosto 2013, 12:54 PM
Ya que se abre un tema así, alguien me puede explicar para que sirven los dos valores en la función main?

Código (cpp) [Seleccionar]
int main (int argc, char *argv[])

Saludos  :silbar:
Título: Re: Duda con parámetros argc y argv
Publicado por: Eternal Idol en 11 Agosto 2013, 14:25 PM
argc = argument count y argv = argument vector.

De 0 a argc - 1 podes acceder a los parametros en argv, normalmente el primero es el mismo programa.