Etiqueta: DAM
Desarrollo de Aplicaciones Multiplataforma
1×01: Calcular el área de un triangulo
Primeros ejercicios del DAM.
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 |
// 1x01: Este programa calcula el área de un triangulo con los datos proporcionados. // Se incluye la librería que implementa funciones de entrada/salida (teclado/pantalla) // printf Consta de una cadena de texto y, opcionalmente, de unos valores que sustituirán ciertos caracteres especiales de la cadena de texto. // scanf Su primer valor es un carácter especial, y el segundo la dirección de memoria donde se almacenara el dato solicitado. Con & se apunta a una variable previamente definida. #include <stdio.h> //Todo programa en C debe tener su main. main(){ //Se borra la pantalla del Terminal de Linux o Windows: system("clear"); //Linux //system("cls"); //Windows //Se definen las variables de tipo real/decimal. float base, altura; printf("Vamos a calcular el area de un triangulo.\n Introduce la base: "); scanf("%g", &base); printf(" Introduce la altura: "); scanf("%g", &altura); // Con los datos obtenidos se muestra el resultado aplicando la formula b*a/2 printf("\nEl area del triangulo de base %g y altura %g es %g\n\n\n", base, altura, base*altura/2); }; |
1×02: Determina si un número es positivo, negativo o cero
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 |
// 1x02: Este programa determina si un número dado por el usuario es positivo, negativo o cero. #include <stdio.h> main(){ system("clear"); float numero; printf("Introduce un numero para decidir que tipo de numero es: "); scanf( "%g", &numero ); if( numero < 0 ){ printf("El numero %g es negativo.\n\n", numero); } else if( numero > 0 ){ printf("El numero %g es positivo.\n\n", numero); } else{ printf("El numero %g es un cero.\n\n", numero); }; }; |
1×03: Muestra de forma ordenada dos números
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 |
// 1x03: Se piden dos números al usuario y se guardan en variables, si están desordenados se intercambian los valores para mostrarlos ordenados. #include <stdio.h> main(){ system("clear"); float numeroA, numeroB, tmp; printf("Inserte dos numeros para que se los muestre de forma ordenada.\n\nPrimer numero: "); scanf("%g", &numeroA); printf("Segundo numero: "); scanf("%g", &numeroB); if( numeroA > numeroB ){ tmp = numeroA; numeroA = numeroB; numeroB = tmp; } printf("\nEl orden correcto de los numeros es %g y %g\n\n", numeroA, numeroB); } |
1×04: Calcular el año de nacimiento del usuario
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 |
// 1x04: Calcula el año de nacimiento del usuario, para ello se pregunta al usuario el año y la edad actual además de si en el año actual ya se ha cumplido la edad. #include <stdio.h> main(){ system("clear"); int edad, anio, cumplioAnios; printf("A continuacion se calculara su anio de nacimiento a partir de cierta informacion:\n\nIntroduzca su edad actual: "); scanf( "%i", &edad); printf("Introduzca el anio actual: "); scanf( "%i", &anio); // Mientras el dato introducido sea diferente de 0 y 1 re-solicitar el dato. printf("Este anio ha cumplido anios?, 0=No/1=Si: "); do{ scanf( "%i", &cumplioAnios); }while( cumplioAnios != 0 && cumplioAnios != 1); if( cumplioAnios == 0){ printf("\nUsted nacio en el anio: %i\n\n\n", anio-edad-1); } else{ printf("\nUsted nacio en el anio: %i\n\n\n", anio-edad); }; }; |
1×05: Dame H:M:S y devuelvo segundos
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 |
// 1x05: A partir de una cantidad de tiempo expresada en H:M:S se devolverá expresada en S. #include <stdio.h> main(){ system("clear"); int horas, minutos, segundos, totalSegundos; printf("Introduce las horas: "); scanf("%i", &horas); printf("Introduce los minutos: "); scanf("%i", &minutos); printf("Introduce los segundos: "); scanf("%i", &segundos); totalSegundos = (horas*60*60) + (minutos*60) + (segundos); printf("\nSu tiempo introducido: %ih %im %is corresponde a %i segundos.\n\n\n", horas, minutos, segundos, totalSegundos); }; |
1×06: Dame un número de segundos y lo paso a H:M:S
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 |
// 1x06: A partir de una cantidad de segundos se devolverá expresada en H:M:S. /* / División entera % Resto de la división entera */ #include <stdio.h> main(){ system("clear"); int segTotales, horas, minutos, segundos; printf("Introduce una cantidad de segundos: "); scanf("%i", &segTotales); horas = (segTotales / 60) / 60; minutos = (segTotales / 60) % 60; segundos= segTotales % 60; printf("El numero de segundos %i corresponde a %i horas %i minutos %i segundos.\n\n\n", segTotales, horas, minutos, segundos); }; |
1×07 y 1×09: Convierte euros en pesetas y viceversa
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 |
// 1x07: Muestra un menú que te permite convertir euros a pesetas y viceversa además de poder salir del menú. #include <stdio.h> #include <string.h> //Biblioteca para tratamiento de cadenas #define pesetas 166.386 //Se define una constante, durante el tiempo de compilacion se sustituira la palabra pesetas por el valor 166.386 main(){ system("clear"); float moneda; char conversion[8]; //Se crea un array de 8 celdas //puts(conversion); //Permite imprimir un cadena+salto de linea. do{ //Obliga al usuario a elegir entre "euros", "pesetas" o "salir" como únicas opciones. printf( "Escriba:\n1. \"euros\" si quiere pasar Pesetas a Euros.\n2. \"pesetas\" si quiere pasar Euros a Pesetas.\n3. \"salir\" para salir\n" ); do{ scanf("%s", conversion); //Para los arrays no se usa el carácter &. }while( strcmp( conversion, "euros" ) != 0 && strcmp( conversion, "pesetas" ) != 0 && strcmp( conversion, "salir" ) != 0 ); // La función strcmp() compara dos cadenas, si son iguales devuelve 0 if( strcmp( conversion, "euros" ) == 0 ){ //Conversión de Pesetas -> Euros printf( "Introduzca el valor de Pesetas que quiere convertir a Euros: " ); scanf( "%g", &moneda ); printf( "La cantidad de %g de Pesetas son %.2f Euros.\n\n\n", moneda, moneda/pesetas ); } else if( strcmp( conversion, "pesetas" ) == 0 ){ //Conversión de Euros -> Pesetas printf( "Introduzca el valor de Euros que quiere convertir a Pesetas: " ); scanf( "%g", &moneda ); printf( "La cantidad de %.2f de Euros son %g Pesetas.\n\n\n", moneda, moneda*pesetas ); }; }while( strcmp( conversion, "salir" ) != 0 ); }; |