Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ALONSOQ en 16 Julio 2012, 17:02 pm



Título: ¿Por donde empiezo con esto por favor?
Publicado por: ALONSOQ en 16 Julio 2012, 17:02 pm
programa en el que la función principal reciba dos parámetros, el primero numérico y el segundo una cadena de texto. Compruebe que son correctos, y si no lo son muestre un mensaje por pantalla indicando la sintaxis del programa.

int main (int argc,char*argv[]);???

No tengo ni idea, ni de que me piden

un saludo


Título: Re: ¿Por donde empiezo con esto por favor?
Publicado por: DickGumshoe en 16 Julio 2012, 17:13 pm
¡Hola!

argc indica el número de parámetros que han sido pasados al programa (el valor mínimo es 1).
argv es la lista de esos parámetros. El parámetro 0 es el nombre del programa.

Saludos!


Título: Re: ¿Por donde empiezo con esto por favor?
Publicado por: do-while en 16 Julio 2012, 17:43 pm
¡Buenas!

Solo es por ampliar un poco mas la explicacion que te han dado.

Para introducir parametros en tu programa desde la linea de comandos, tendras que entrar en la consola, o el terminal o como quiera que se llame en tu sistema, y añadirlos despues del nombre de tu programa:
Código:
linea de comandos? nombre_de_tu_programa parametro1 parametro2 ... parametroN

En este caso argc valdra N+1 (ahora veras porque), y argv tendra los siguientes valores (seran cadenas de caracteres):

argv[0] = "nombre_de_tu_programa"
argv[1] = "parametro1"
...
argv[N] = "parametroN"

¡Saludos!


Título: Re: ¿Por donde empiezo con esto por favor?
Publicado por: DickGumshoe en 16 Julio 2012, 17:47 pm
Se me olvidó pasarte una web para que vieras unos cuantos ejemplos: http://maxus.fis.usal.es/FICHAS_C.WEB/01xx_PAGS/0108.html

Saludos!


Título: Re: ¿Por donde empiezo con esto por favor?
Publicado por: noele1995 en 16 Julio 2012, 17:55 pm
Por tanto base a las explicaciones que te han dado, en tu programa tendras que comprobar si argc tiene un valor de 3, si argv[1] es un numero, y si argv[2] es un texto, y si alguna de las tres anteriores condiciones son falsas entonces imprimir la sintaxis del prgrama.

Saludos, Noele1995