Registrar nuevo cliente de sistema bancario en C - Solicitar datos y generar número de cuenta

Simular banco con C – Ejercicio resuelto

Hoy vamos a resolver un ejercicio en ANSI C, C o como lo conozcas. Se trata de simular un banco con usuarios, depósitos, retiros y administradores.

Vamos a usar archivos, structs, listas y varias cosas para este ejercicio de banco con C.

Entre las opciones tenemos el registro de usuarios, inicio de sesión, creación de administrador, inhabilitar usuarios, validar contraseñas, retirar, depositar, transferir entre usuarios, ver detalles de usuarios (incluyendo número de cuenta y saldo) entre otros.

(más…)

Validar correo electrónico en C

En este artículo de programación en C, ANSI C, C99 o como lo llames vamos a ver cómo validar, de una manera simple, un correo electrónico.

Para lograr esto vamos a comprobar que el correo tiene un punto y un símbolo arroba, además de que el punto aparece después del arroba.

Sí, ya sé que hay que hacer cosas más complejas para validar, usar expresiones regulares, etcétera, pero lo haremos solo para ejercicios de programación.

(más…)

Posición de carácter (letra) en cadena de C

En este corto post de programación en C vamos a ver cómo encontrar el índice y último índice de un carácter en C, o dicho de otra manera, la primera y última aparición de una letra en una cadena de C.

Ya sabemos que en C no existen las cadenas como tal y que tenemos arreglos de caracteres, pero aquí llamaremos “cadenas” o “strings” a esos arrays de tipo char.

Entonces veamos cómo saber la primera y última aparición de un char en una cadena de C.

(más…)

Salida de carro o moto en programa simulador de estacionamiento en ANSI C

Estacionamiento en ANSI C – Ejercicio de programación resuelto

Hoy vamos a ver un pequeño sistema de estacionamiento en el lenguaje de programación C, también conocido como ANSI C. Es un ejercicio resuelto. El mismo dice así:

Un estacionamiento posee 10 puestos para carros y 6 para moto. La empresa desea un software que le permita mantener el registro de los autos que entran y salen del estacionamiento para saber cuáles puestos quedan libres.

Consideraciones del sistema.

  1. Los puestos del estacionamiento están enumerados y el usuario podrá elegir en donde desea estacionarse, adicionalmente se deberá marcar la hora de entrada y la hora de salida.
  2. En cada puesto solo puede haber un único auto/moto.
  3. A medida que los puestos se estén llenando se deberá mostrar por pantalla cuales están disponibles.
  4. El valor por hora es de 3 mil pesos los carros y 1 mil pesos las motos.
  5. No se debe registrar dos veces el mismo vehículo.
  6. Al final cada usuario se le imprimirá la factura de la cantidad de horas, minutos y segundos que usó el estacionamiento. Y si se pasó por 2 minutos las horas que indicó en el registro, este deberá pagar un excedente de 200 pesos por cada minuto.
  7. Adicional, se deberá imprimir en la factura la placa del vehículo. Horas/minutos extras, Total a pagar, Hora de entrada del vehículo, hora de salida del vehículo y Horas consumidas.
  8. Una vez que alguien paga y sale del estacionamiento, el puesto debe quedar libre para otro usuario pueda usarlo.

Veamos cómo hacer este ejercicio de estacionamiento en C.

(más…)

Cola en C - Programación de estructuras de datos con listas

Cola en C – Estructura de datos

En este post vamos a implementar una estructura de datos en C de tipo lista ligada.

Se trata de una cola, que a su vez es una lista en donde iremos colocando los elementos al final de la misma, contrario a una pila en donde cada elemento va a la parte superior.

Hay varias operaciones para una cola en C, pero por ahora te mostraré las 2 básicas: la de encolar un elemento y la de recorrer la cola.

Con esos dos métodos ya puedes calcular el tamaño de la lista, comprobar si un elemento existe en la cola y muchas cosas más.

Recuerda que la cola en C puede ser de cualquier tipo y guardar cualquier cantidad de datos de cualquier tipo. Al final nosotros le asignamos memoria dinámicamente con malloc.

(más…)

Recorrer cadena letra por letra en C - Programación

Recorrer cadena carácter por carácter en C

En el post de hoy vamos a ver cómo recorrer una cadena letra por letra en C. Te mostraré dos ejemplos de recorrer, char por char, una cadena en C.

Veremos cómo usar un ciclo for con la longitud de la cadena para iterarla y también un ciclo while verificando si hemos llegado al carácter nulo.

Nota: esto también funciona en C++ aunque ahí hay métodos más fáciles.

(más…)

Por parzibyte, hace
Leer contraseña en C sin mostrar caracteres escritos (mostrar asteriscos)

C – Leer contraseña sin mostrarla

En el post de hoy vamos a leer una cadena usando C (compatible con C++) pero no vamos a mostrarla, simplemente vamos a mostrar asteriscos o cualquier otro carácter mientras el usuario escribe.

Esto será hecho en C con MinGW en Windows pero lo he probado igual con Dev-C++. Al final tendremos un programa que va a solicitar una contraseña, no la va a mostrar y mostrará asteriscos en su lugar.

(más…)

Por parzibyte, hace

Diferencia entre 2 fechas con C (tiempo transcurrido)

En el tutorial de hoy vamos a trabajar con C y marcas de tiempo o timestamps para obtener la diferencia entre una fecha y hora y otra.

Te mostraré ejemplos para saber la diferencia que hay entre un timestamp y otro, logrando así calcular el tiempo transcurrido entre 2 marcas de tiempo.

Por otro lado veremos cómo formatear el tiempo transcurrido en C y obtener la diferencia en horas, minutos y segundos.

(más…)

Por parzibyte, hace
Conjetura de Collatz en C - Contar iteraciones e imprimir secuencia

Conjetura de Collatz en C

Hoy vamos a implementar la conjetura de Collatz en C. Aunque decir “implementar” la conjetura de Collatz no tiene sentido, así que mejor dicho vamos a tratar de probar la conjetura de Collatz.

Si en algún momento entramos a un ciclo infinito podríamos decir que la conjetura de Collatz es falsa, pero eso no ha pasado hasta el día de hoy.

Como sea, vamos a hacer una función que te indica las iteraciones que le llevan a un número llegar a 1 siguiendo la operación de 3N+1 si el mismo es impar, y dividiendo al número entre 2 si es par.

Además de indicar las iteraciones vamos a imprimir la secuencia de números.

(más…)