c#

Instalar compilador de C y C++ sobre Windows de 32 bits

Resumen

En este post te voy a mostrar cómo instalar el compilador gcc y c++ sobre Windows, en la versión de 32 bits. Al final podrás ejecutar y programar en C y C plus plus.

Hago esto por dos cosas:

  1. Para mostrarte cómo instalar el compilador de C en una PC de 32 bits
  2. Para recordarme a mí mismo cómo hacerlo cuando necesite compilar un programa de Go que lleva SQLite 3 pero para 32 bits, desde mi PC de 64 bits, ya que el mismo requiere un compilador C de 32 bits si se compila para 32 bits debido a que utiliza CGO

Continue reading…

Android y C# - Compilar hola mundo

Android y C#: compilar y ejecutar código de C sharp con Mono Project

Están llegando grandes cosas al mundo de Linux y sobre todo de Android. No sé la fecha exacta (seguramente han pasado años) pero C# ya está disponible para Linux con el proyecto Mono.

Ubuntu también está disponible para Android como lo vimos en otro post, así que basta con instalar los paquetes sobre Ubuntu y podremos programar en C# desde Android; sin sacrificar el rendimiento ni esas cosas.

Android y C# - Ejecutar hola mundo

Android y C# – Ejecutar hola mundo

Recuerda que si quieres instalar C# en Ubuntu (pero no en Android) puedes mirar este post.

Continue reading…

Recorrer vectores en C++

Un vector en C++ es como un arreglo mejorado, es algo así como una lista o arraylist de Java.

Los vectores tienen muchos métodos que hacen que sean dinámicos, y no estáticos como los arreglos.

Hoy vamos a ver algunas maneras de recorrer o iterar vectores en C++.

Continue reading…

Número narcisista en C++

Introducción

Comenzaremos resolviendo el algoritmo para determinar si un número es narcisista en CPP o C++. Escribiremos una función que recibe un entero y regresa un booleano indicando si el número recibido es narcisista.

Narcisista en CPP

Narcisista en CPP

 

Nota: si quieres saber qué es un número narcisista, así como el algoritmo para determinarlo lee: Solución al algoritmo de número narcisista en muchos lenguajes de programación.

Continue reading…

Instalar GCC 64 bits en Windows con MinGW

Introducción

GCC es, si no me equivoco, el compilador de GNU para código C y CPP, entre otros. Es decir, compila código C en un ejecutable; fácil y sencillo.

Viene instalado en la mayoría de distribuciones Linux, pero si queremos un compilador bonito y libre corriendo sobre Windows podemos recurrir a MinGW.

Normalmente, para programar en C y C++ nos bastaría con una instalación de 32 bits , pero resulta que por alguna razón hoy necesité la versión de 64 bits; y vengo a mostrar cómo instalar el compilador de C y C++ en sistemas de 64 bits.

Continue reading…

Ejercicio resuelto con C: Refaccionaria SUV y filtros

Introducción

Hoy resolví un pequeño problema/algoritmo en C y ahora vengo a publicarlo por si le sirve a alguien. Principalmente veremos el ciclo while, la entrada de datos con scanf, toma de decisiones con switch y algunas operaciones aritméticas básicas.

Definición del problema

El problema dice más o menos así. Es copiado y pegado.

En la refaccionaria SUV se venden 5 tipos de filtros de gasolina.

FiltroPrecio
A$10.00
B$15.00
C$20.00
D$25.00
E$30.00

Elabore un programa que resuelva lo siguiente

  1. Determine la cantidad a pagar por el cliente (N clientes), dependiendo de:
    1. El tipo de Filtro
    2. Cantidad de Filtros
  2. Si el filtro es de tipo C se le hace un 5% de descuento en la compra
  3. Calcule el corte de caja del día.
  4. Contabilice el número de clientes atendidos.

Escribir y ejecutar el código en lenguaje de programación c.

Solución al problema

Explicación del algoritmo y solución

Vamos a analizar lo que se pide, paso a paso. Si quieres ir directo al código fuente, ve más abajo.

Variables

Comencemos leyendo que se desea contabilizar el total y el número de clientes. Para ello, vamos a definir 2 variables: una para contar los clientes, que iremos aumentando de uno en uno. Y otra, para el total de todo el día. En este caso, para contabilizar usamos numeroDeClientes y para el precio total, la variable precioTotal.

También necesitamos una variable para ir sumando el total de la compra del cliente, ya que un cliente puede comprar múltiples filtros. En este caso, la llamamos precioParaElCliente.

Cuando declaramos variables vemos a 2 de ellas de tipo char. Almacenaremos ahí la elección del usuario. Alojamos, más tarde, en eleccionFiltro cuál filtro quiere el cliente. Y en eleccionCliente almacenamos si se desea hacer otra venta.

Toma de decisiones

Dentro de los ciclos hacemos un switch comparando lo que el usuario ha elegido. Evaluamos si es A, B, C, D o E. Si es C, entonces aplicamos descuento.

Ciclos

Luego, hacemos un while dentro de otro while. El while padre se encarga de decir cuál cliente estamos atendiendo. Dentro de él, hacemos otro ciclo que se romperá sólo si el usuario escribe N como respuesta al filtro.

El ciclo while padre se rompe cuando el usuario elige N como respuesta a “¿Desea atender otro cliente?”.

Por cierto, pido disculpas por no escribir acentos o el signo de interrogación de apertura, pero lo que pasa es que no se ven bien en consola.

Cuando el ciclo padre se rompe, imprimimos el total vendido. Y también el total de clientes atendidos.

Quiero recalcar que en cada iteración del ciclo padre, la elección del filtro se pasa a su estado inicial, para evitar que se caiga en un ciclo infinito. Y cuando hacemos:

numeroDeClientes++

es como si hiciéramos:

numeroDeClientes = numeroDeClientes + 1;

Por otro lado, utilizamos toupper para cambiar el caracter de entrada a mayúsculas. Así, no importa si el usuario escribe ‘a’ o ‘A’ ya que al pasarlo a mayúsculas ambas letras serán ‘A’.

Código fuente

Aquí dejo el código fuente. Le faltan algunas optimizaciones; por ejemplo, podríamos ahorrarnos la impresión de “OK. Ha seleccionado…” en cada case; podríamos hacerlo simplemente al final.

Ejecución del programa

Así se ve al ejecutarse. Obviamente la salida es distinta dependiendo de lo que el usuario elija. Qué bonitos se ven los asteriscos.

Ejecución y salida del programa en C

Ejecución y salida del programa en C

Conclusión

C es un bueno y bonito lenguaje de programación. La mayoría de lenguajes de programación más populares hereda su sintaxis. Además, personalmente me gusta y lo respeto porque fue el primer lenguaje de programación que me enseñaron.

Y por cierto, luego de trabajar con tantas interfaces gráficas, páginas web y otras cosas, se siente bien regresar a hacer aplicaciones en consola.

Compilar y programar en C# sin visual Studio

Introducción

Personalmente se me hace muy tardado y pesado instalar Visual Studio para poder compilar algunos pequeños ejercicios de C#. Hoy les mostraré cómo podemos compilar código C# sin instalar Visual Studio.

Para hacer esto, debemos tener instalado .NET framework versión 4. No deberíamos preocuparnos si nuestro sistema está actualizado.

Si deseamos comprobar si lo tenemos, podemos checar si existe la carpeta C:\Windows\Microsoft.NET\Framework\v4.0.30319 en nuestra máquina. Si es que sí, podemos proseguir con el tutorial. En caso de que no, por favor instala las actualizaciones más recientes.

Probar compilador

El compilador que usaremos en este caso se llama csc (supongo que quiere decir C sharp compiler) y está ubicado en la carpeta que mencioné en la introducción. Para ver si funciona vamos a abrir el símbolo del sistema, pegar lo siguiente: C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe y finalmente presionar enter. Debería aparecer algo así:

El error que arroja no debe alarmarnos. Simplemente está diciendo que no especificamos ningún archivo para compilar, cosa que no hicimos porque sólo estamos probando.

Para compilar, navegaremos hasta donde esté nuestro código fuente y ejecutaremos lo siguiente:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe nombre_archivo.cs

Lo que dará salida a un archivo .exe con el mismo nombre. Voy a probar con un hola mundo. El código quedaría así:

Y para compilarlo simplemente navegamos hasta donde hayamos guardado el archivo y ejecutamos lo siguiente: C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe hola_mundo.cs

Al compilarlo podemos ver que se crea un archivo ejecutable que podemos llamar desde la línea de comandos como se ve en el paso 3. En el paso 2 nos arrojará los errores si es que tenemos algunos en nuestro código. Y en el paso 1 simplemente estoy llamando al compilador.

Extra: Agregar a la variable PATH

Como se vio anteriormente, cada que deseemos compilar tenemos que escribir la ruta completa del compilador y al menos a mí se me hace engorroso. ¿No sería mejor simplemente escribir csc hola_mundo.cs? para ello podemos agregar la ruta de la carpeta a la variable PATH y de esta forma compilar sin escribir toda la ruta.

Para hacerlo, simplemente tenemos que agregar C:\Windows\Microsoft.NET\Framework\v4.0.30319\ a dicha variable, como lo explico en este post.

Una vez agregada, compilamos con csc hola_mundo.cs así:

Si nos fijamos bien, el resultado es el mismo pero no tuve que escribir toda la ruta.

Conclusión

Si no queremos usar el IDE que nos proporciona Microsoft, o si sólo queremos hacer pequeños ejercicios, este truco viene de maravilla. Así podemos aprender un poco de este potente lenguaje que, en lo personal, no me gusta pero es muy bueno.

Obviamente no soy un genio, y este tutorial parte de algo que leí en https://stackoverflow.com/questions/18286855/how-can-i-compile-and-run-c-sharp-program-without-using-visual-studio