Lenguaje C - Trabajo FinalModalidad del trabajo
El trabajo consiste en el desarrollo de una aplicacion empleando el lenguaje C. La aprobacion del
trabajo se realizara en dos etapas:
*
Etapa 1: analisis y diseno del desarrollo
*
Etapa 2: desarrollo del diseno presentado en la Etapa 1
La Etapa 1 se evaluara en coloquio presencial mediante una entrevista entre el alumno y un docente
a fin de coordinar la implementacion de la Etapa 2.
La Etapa 2 se evaluara con un conjunto de pruebas al cual se sometera el programa desarrollado y
luego se observara la codificacion a fin de verificar la implementacion del programa
Alcance del desarrollo
Implementar un programa que lee de un archivo registros con campos separados por coma o CSV,
un archivo template y un directorio.
El objetivo del programa es el de generar para cada fila del archivo con registros, un template
especifico con los datos de cada registro en el directorio especificado.
Supongamos el siguiente escenario:
Archivo CSVJuanPerez;10/08/1980;Tecnicoelectronico;200
MariaRodriguez;21/03/1987;ReparadordePC;150
AnaMartinez;15/05/1992;Ayudantedecocina;180
TemplateCertificadodecursadaCertificoqueel/lasenor/a<$1>,nacido/ael<$2>acursado<$4>
horasyhaobtenidoeltitulode<$3>ennuestracasadeestudios
InsitutoparalaaprobaciondelLenguajeCResultado del programa
Por tanto al correr el programa, se generarian tres templates, donde se reemplazarian las etiquetas
<$1> por el campo 1 de cada registro, el <$2> por el campo 2 de cada registro, etc.
El resultado obtenido seria para el ultimo registro:
CertificadodecursadaCertificoqueel/lasenor/aAnaMartinez,nacido/ael15/05/1992a
cursado180horasyhaobtenidoeltitulodeAyudantedecocinaen
nuestracasadeestudios
InsitutoparalaaprobaciondelLenguajeC
Desarrollo del programa
El programa debera admitir los siguientes parametros (la \ significa que continua en la linea
siguiente, no es un parametro)
programa
i<archivocsv>t<template>\
d<directorio_destino>[s<caracter_separador_CSV>]
Donde:
*
La opcion -i es obligatoria e indica el archivo con registros separados por coma1
*
La opcion -t es obligatoria e indica el archivo con el template a reemplazar
*
La opcion -d es obligatoria e indica un directorio de destino donde se creara cada uno de los
archivos generados. El nombre de cada archivo se correspondera con la linea procesada en
el archivo CSV
*
La opcion -s permite cambiar el separador de campos del CSV. Si no se especifica se
asume ;
Formato del CSV
Los archivos con registros separados por coma en realidad son archivos separados por
punto y
coma o algun otro separador. Un separador es un caracter cualquiera. Se asume que el separador
no aparece en ningun campo. Es decir que si el separador es ; no puede haber un campo que
contenga como dato el ;
Todas las lineas tienen la misma cantidad de campos.
Formato del Template
El template sera un archivo de texto cualquiera con etiquetas. Una etiqueta tendra el formato
<$i>
es decir, simbolo menor (<), simbolo pesos ($), un numero natural, simbolo mayor (>). El numero
de campo sera a partir del numero 1.
No hay espacios entre los caracteres del templateNombre de los archivos generados como salida
Los archivos generados como salida seran un numero de 5 cifras que representa la linea del CSV
que dio origen al template generado. La extension sera .txt
Por ejemplo:
*
La primer linea del CSV creara el archivo 00001.txt
*
La linea 100 del CSV creara el archivo 00100.txt
Precondiciones y controles*
Si alguno de los parametros especificados no se especifica, el programa no debera continuar
indicando que hubo un error en los parametros definidos
*
Si alguno de los parametros obligatorios indica un archivo o directorio que no existe
entonces el programa no debera continuar indicando el error que se produjo
*
Si al procesar el template, se indica un campo que no existe en el CSV no se debera
continuar indicando el error que se produjo
1 El separador generalmente es ; pero puede modificarse con la opcion -s
Document Outline
Add New Comment