Lee caracteres de la entrada estándar y los replica en la salida encerrados entre corchetes. Obtener código fuente.
Expresiones y condicionales
Validador de ensayos
El siguiente código surgió de aplicar el ciclo de desarrollo para resolver el problema. La solución es modular, escalable, documentada y aplica otras buenas prácticas de programación. Soluciones con menos instrucciones son posibles, pero el código es menos escalable. Programas "hechos a la carrera" son convenientes para situaciones de emergencia o programación competitiva. No es la norma en el ejercicio de la disciplina.
]]>
main.c: Usa las subrutinas del validador de ensayos para crear un programa en línea de comandos. Obtener código fuente.
]]>
essay_validator.h: Encabezado común para los dos archivos fuente. Obtener código fuente.
]]>
essay_validator.c: Valida si ensayos presentados por estudiantes cumplen los requisitos impuestos por el profesor. Obtener código fuente.
]]>
build.sh: Guión de comandos (shell script) que compila los archivos anteriores y genera un ejecutable usando GCC/Clang. Obtener código fuente.
Aunque el ejemplo se ubica en la sección de expresiones y condicionales, se agregan ciclos y subrutinas, dado que son conceptos conocidos del curso Programación I.
Indirección, arreglos y matrices
Imprimir rango de números
Recibe los valores de un rango e imprime los valores separados por un delimitador. Si el rango está invertido, intercambia los valores con punteros.
En la siguiente versión el arreglo también se almacena en el segmento de datos, pero se puede acceder dentro de varias funciones por ser una variable global.
Mediana estadística (arreglo con alojamiento dinámico)
En la siguiente versión el arreglo se almacena en memoria dinámica. Esta programa es menos propenso a fallar que las versiones anteriores. Puede fallar para grandes volúmenes de datos que no pueden alojarse en la máquina donde corre.
Muestra como se declaran, acceden, destruyen y pasan por parámetro diferentes tipos de arreglos en C. Obtener código fuente.
Cadenas de caracteres y registros
chext: cambiar la extensión
chext es un comando en C para renombrar archivos, en especial para cambiarles la extensión. Para descargar el proyecto completo en un archivo comprimido:
test/main.c: Prueba dos subrutinas de la biblioteca contra algunos pocos valores. Falta crear más pruebas y probar todas las funciones de la biblioteca libchext. Obtener código fuente.
El archivo de configuración de Doxygen se generó con el comando doxygen -g. Se le hicieron los siguientes cambios para configurarlo como un proyecto de C:
PROJECT_NAME = "My Project" "chext"
PROJECT_NUMBER = 1.0.0
PROJECT_BRIEF = "An extension renamer"
OUTPUT_DIRECTORY = doc
OPTIMIZE_OUTPUT_FOR_C = NO YES
EXTRACT_ALL = NO YES
EXTRACT_PRIVATE = NO YES
EXTRACT_PACKAGE = NO YES
EXTRACT_STATIC = NO YES
EXTRACT_LOCAL_METHODS = NO YES
INPUT = src
RECURSIVE = NO YES