Redondear si parte decimal es 0.5

Al redondear números en cualquier lenguaje de programación como puede ser Python, Java, JavaScript, PHP, C, etcétera podemos usar floor, round y ceil para redondear hacia abajo, dependiendo del número o hacia arriba. Sin embargo cuando usamos round para redondear dependiendo del número, pasa algo. Si el número termina en .5 sube al siguiente, por ejemplo el 6.5 sube a 7. En ocasiones necesitamos que el número se redondee hacia abajo si su parte decimal es 0.5 o menos, y se redondee hacia arriba si no lo es. Así que en este post te mostraré cómo redondear dependiendo si el número termina en 0.5 sin importar el lenguaje de programación. ...

marzo 15, 2021 · 2 min · 390 palabras · Parzibyte

Tres en línea en C - Programación de juego

En este post de programación en C te mostraré el código fuente para el juego conocido como tres en línea, tres en raya, tic tac toe, gatitos, etcétera. He programado el juego en C estándar así que se puede compilar en varios sistemas operativos, y también se puede compilar con un compilador de C++. El juego de tres en línea que he desarrollado en C soporta el modo jugador contra jugador, jugador contra CPU (con una pequeña inteligencia artificial) y CPU contra CPU. A lo largo del post te explicaré el código y cómo es que funciona cada parte del programa. Por cierto, en este caso el juego se desarrolla en la consola pero se le puede agregar una interfaz usando alguna librería como Allegro. ...

marzo 10, 2021 · 9 min · 1731 palabras · Parzibyte

C - Escanear números separados por coma

En este post sobre C y scanf te enseñaré cómo leer dos números separados por coma. Es decir, solicitar al usuario que ingrese dos números separados por coma y escanearlos por separado usando scanf. Por ejemplo, que el usuario digite 12,34 y que nosotros leamos los dos números 12 y 34 por separado. Lo único que vamos a usar será scanf; función presente en stdio.h. ...

marzo 8, 2021 · 2 min · 270 palabras · Parzibyte

C - Ejercicio con cadenas

Hoy vamos a resolver un ejercicio propuesto en C. Se trata del trabajo con cadenas, vamos a solicitar dos cadenas y a partir de ellas hacer determinadas cosas. El problema dice así: Escribir un programa que solicite dos cadenas que puede contener espacios, el programa deberá: Decir qué cadena es mayor y cuál es menor alfabéticamente Generar una nueva cadena que será la primera cadena leída, con las vocales convertidas a MAYÚSCULAS Generar una nueva cadena que será la segunda cadena leída, con las consonantes convertidas a MAYÚSCULAS Generar una nueva cadena concatenando las dos que ya fueron convertidas Generar una nueva cadena que contenga la cadena concatenada invertida Al finalizar el programa, este deberá: Imprimir las dos cadenas originales Imprimir las dos cadenas con las conversiones Imprimir la cadena concatenada Imprimir la cadena concatenada invertida Veamos cómo resolver este problema usando ANSI C. ...

marzo 2, 2021 · 5 min · 1004 palabras · Parzibyte

C - Extraer contenido de archivo HTML

En este post de programación en C te enseñaré cómo obtener el texto (ignorando etiquetas) que se encuentra dentro de las etiquetas <body> de un archivo HTML. Vamos a extraer lo que hay en el cuerpo de la página, pero además vamos a obtener solo el texto, ignorando todas las etiquetas que existan. Por poner un ejemplo, si la página es: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mi página web - By Parzibyte</title> </head> <body> Aquí va el contenido <p> Soy un párrafo</p> Yo no estoy dentro de una etiqueta <h1> Yo soy un encabezado</h1> <strong>Ejemplo de otra etiqueta</strong> </body> </html> El programa en ANSI C debe extraer el contenido y además ignorar las etiquetas, produciendo la siguiente salida: Aquí va el contenido Soy un párrafo Yo no estoy dentro de una etiqueta Yo soy un encabezado Ejemplo de otra etiqueta Veamos cómo resolver este ejercicio propuesto en C, ya que en otro lenguaje con soporte nativo de expresiones regulares sería fácil, pero aquí no lo es tanto. ...

marzo 2, 2021 · 7 min · 1347 palabras · Parzibyte

C - Convertir decimal con parte fraccionaria

En este post de programación en ANSI C te mostraré 3 conversiones entre bases numéricas: de decimal a binario, a octal y a hexadecimal. La diferencia con mis otros posts es que en este caso vamos a convertir también la parte fraccionaria, decimal o como le llames a lo que va después del punto decimal. Entonces vamos a convertir entre binario y decimal con punto decimal, además de convertir a octal, hexadecimal y a todas las otras bases. Así que al final, con el código que te mostraré, podrás convertir números en base 10 con parte fraccionaria a cualquier base. Por ejemplo, convertir 3722.24 base 10 a E8A.3D70 base 16. Te repito que la principal diferencia es que ahora este conversor en C soporta conversiones con punto decimal, cosa que me habían solicitado varios usuarios en mis otros posts. ...

febrero 14, 2021 · 8 min · 1521 palabras · Parzibyte

Compilando Allegro 5 con GCC en Windows

En este post te mostraré cómo compilar programas con Allegro (librería para desarrollo de videojuegos en C y C++) desde Windows usando el compilador gcc y obviamente Allegro en su versión 5. A lo largo del tutorial te enseñaré cómo instalar el compilador, agregarlo a la PATH, incluir los headers y cosas necesarias de allegro para finalmente compilar nuestro hola mundo con Allegro 5 . ...

febrero 14, 2021 · 4 min · 702 palabras · Parzibyte

C - Saber si es consonante o vocal

En este post de programación en ANSI C te enseñaré a comprobar si una letra es consonante o vocal. Recordemos que las vocales son aeiou y las consonantes son aquellas letras que son del alfabeto pero no son vocales. Vamos a usar algunas funciones de ctype.h, incluyendo aquellas para convertir a minúscula para hacer la comparación más simple. ...

febrero 13, 2021 · 3 min · 528 palabras · Parzibyte

C - Ejercicio con código Morse y archivos de texto

En esta ocasión vamos a ver un ejercicio en ANSI C que trata sobre código Morse y persistencia de datos en un archivo. Se trata de algunas opciones que son: Cargar las traducciones en memoria usando una pila, leyendo el archivo de texto Leer una cadena y mostrar su traducción en Morse Leer un archivo de texto y escribir su contenido en otro archivo, pero traducido a Morse Leer un archivo codificado y escribir su contenido en un archivo, pero traducido a texto plano Tiene algunos requisitos que son: Cada código Morse va separado por 3 espacios Los espacios entre palabras se codifican como 5 espacios Veremos paso por paso, lo que más vamos a practicar será el parseo de cadenas así como el trabajo con cadenas, que son un verdadero dolor de cabeza en C pero que al aprender a usarlas son relativamente sencillas. ...

febrero 6, 2021 · 13 min · 2566 palabras · Parzibyte

C - Extraer subcadena de cadena

En este post de programación en ANSI C te enseñaré cómo cortar una cadena o mejor dicho cómo extraer parte de una cadena para colocarla en otra cadena. Para hacer esto en C necesitamos trabajar con apuntadores y con funciones que copian cadenas. ...

febrero 2, 2021 · 2 min · 354 palabras · Parzibyte