Código de C/Visual C - ARGUMENTOS.

Imágen de perfil

ARGUMENTOS.gráfica de visualizaciones


C/Visual C

Publicado el 18 de Diciembre del 2022 por Hilario (122 códigos)
331 visualizaciones desde el 18 de Diciembre del 2022
*
****************************************
Extinctus ambitur ídem...
--------------------------------------
Hilario Iglesias Martínez.
---------------------------------------
argumento.c
------------------------------------------
Un pequeño y sencillo ejemplo del tratamiento
de entrada de argumentos a través de main().
Como podemos mediante esta función introducir
-en este caso, cantidades númericas-, para
hacer una comparativa de valores.
Imprimiento los resultados mediante consola Linux.
-----------------------------------------------
Compilacion del programa:
gcc -Wall -Werror -o argumento argumento.c
*****
Ejecución:
./argumento

Requerimientos

---------------------------------------------
El ejercicio fue realizado en una plataforma
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI-C.
---------------------------------------------

V-0.
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 18 de Diciembre del 2022gráfica de visualizaciones de la versión: V-0.
332 visualizaciones desde el 18 de Diciembre del 2022
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
int main( argc, argv)
int argc;
char *argv[];
{
 
int Num1, Num2, Num3, Grande;
 
if (argc==2)
{
	/*
strcmp:
------
Devuelve 0 si las cadenas de texto son iguales
(incluyendo mayúsculas y minúsculas);
si la primera cadena es mayor que la segunda,
devuelve un número positivo; si es mayor la segunda,
devuelve un valor negativo. Existen variantes
(no estándar, dependientes del compilador)
que comparar dos cadenas despreciando mayúsculas
y minúsculas, como stricmp
*/
 
if(strcmp(argv[1],"-?")==0)
{
printf("Para Iniciar la ejecución, teclee\n");
printf("%s Numero1 Numero2 Numero3\n",argv[0]);
printf("Para su comparación.\n");
exit(EXIT_FAILURE);
}
}
if(argc!=4)
 
{
	printf("Número de parámetros incorrecto\n");
    printf("Ejecuta %s -?\n",argv[0]);
    printf("Para ver como introducir los valores.\n");
    exit(EXIT_FAILURE);
 
}
/*atoi(). Analiza la cadena C str interpretando su contenido
como un número entero, que se devuelve como un valor de tipo int.*/
Num1=atoi(argv[1]);
Num2=atoi(argv[2]);
Num3=atoi(argv[3]);
/*Realizamos comparaciones*/
if((Num1>=Num2)&&(Num2>Num3))
	Grande=Num1;
 
if((Num2>=Num3)&&(Num2>Num1))
	Grande=Num2;
 
if((Num3>=Num1)&&(Num3>Num2))
	Grande=Num3;
 
printf("El más grande es %i\n",Grande);
}



Comentarios sobre la versión: V-0. (1)

13 de Enero del 2024
estrellaestrellaestrellaestrellaestrella
Muy buen trabajo. Te paso una segunda versión por si quieres comparar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
char *HELP_CMD = {"-?"};
 
int isHelpCmd(const char *arg) {
    if (strcmp(arg, HELP_CMD) == 0)
        return 1;
    else
        return 0;
}
 
void printHelp(const char *appName) {
    printf("\nDetermina el número mayor de una serie que ingresan como argumento de main.");
    printf("\nEjecute %s seguido de la serie de números separados por espacio y luego presione Enter.", appName);
}
 
int * getSerie(int length, char **values) {
    int *numbers = malloc(length * sizeof(numbers));
    int i;
 
    for (i = 0; i < length; i++)
        numbers[i] = atoi(values[i]);
 
    return numbers;
}
 
int getBiggestInt (int *ptrNumbers, int LENGHT) {
    int i = 0;
    int biggest = ptrNumbers[i++];
    for ( ; i < LENGHT; i++) {
	    if (ptrNumbers[i] > biggest)
		    biggest = ptrNumbers[i];
    }
 
    return biggest;
}
 
 
int main(int argc, char **argv)
{
    char *appName = argv[0];
 
    // Verifico
    if (isHelpCmd(argv[1])) {
        printHelp(appName);
        return 0;
    }
 
    // Obtengo la serie
    int *numbers = getSerie(argc, argv);
 
    // Imprimo resultados
    printf("The biggest numbers is: %i", getBiggestInt(numbers, sizeof(numbers)));
 
    return 0;
}
Responder

Comentar la versión: V-0.

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7321