Se necesita Prog. en C++ de Comando Coy y More

Marce
22 de Junio del 2005
Problema: Programar un Comando Copy y un Comando More

Comando Copy:
Se trata de realizar un programa que copie el contenido de un archivo de texto en otro archivo con nombre distinto. El programa recibirá como parámetros a la función main()* tanto el nombre del archivo a copiar como el nombre que tendrá el nuevo archivo, primero se le pasará el nombre de un archivo existente; como segundo parámetro se le pasará otro nombre que será el del nuevo archivo donde irá la copia. Con estos datos, el programa realizará una copia del texto contenido en el primer archivo en otro archivo con el segundo nombre en el mismo directorio. El programa deberá revisar que el primer archivo exista, de lo contrario mostrar un mensaje de error, además, deberá revisar que no exista un archivo con el nombre del archivo que se creará, si no existe crea el archivo, pero si existe, pregunta al usuario si lo desea rescribir, si el usuario contesta que si, lo sobrescribe con el archivo nuevo, si el usuario contesta que no, lo deja intacto y no realiza copia alguna.
*Se trata de realizar un programa que realice la copia de archivos pero dando los nombres de los programas en la línea de comandos, es decir, pasando los nombres como argumentos de la función main(). De esta forma, el programa se deberá ejecutarse así:
C:MyCopy hola.txt adios.txt
Donde MyCopy es el nombre del programa, Hola.txt el nombre del archivo que se desea copiar y adios.txt el nombre con el que debe quedar el archivo cuando se copie
Comando More:
Existe un comando en MS-DOS y en UNIX llamado more que permite presentar los archivos grandes por pantalla de forma paginada, es decir, de modo que la presentación del archivo se detiene al llegar a un número determinado de líneas (normalmente 2 ó 3 líneas menos de las que caben en la pantalla), y prosigue con las líneas siguientes al pulsar una tecla cualquiera (distinta de la "q", que tiene un uso especial como ahora se verá).
Se pide realizar un programa que sea capaz de presentar cualquier archivo de texto de forma paginada: el programa recibirá como parámetro de la función main()* el nombre del archivo a presentar y escribirá tantas líneas como permita el monitor del PC (en este caso, 18 líneas). Al cabo de la primera página, aparecerá la palabra "more?" de tal forma que si se pulsa la letra "q" (por quit), se cierra el archivo, se detiene la ejecución y se acaba el programa, pero si se pulsa cualquier otra letra, se continúa mostrando el fichero con la siguiente página (18 líneas) donde se repetirá el mismo proceso. La ejecución del programa terminará cuando se haya presentado el fichero en su totalidad o se haya pulsado la tecla "q", como ya se ha señalado. Sugerencia: Pruébalo con un fichero que tenga al menos 50 líneas.
* El nombre del programa y del archivo a desplegar en pantalla se pasarán por línea de comandos, es decir, pasando los nombres como argumentos de la función main(). De esta forma, el programa se deberá ejecutarse así:
C:MyMore hola.txt
Donde MyMore es el nombre del programa y Hola.txt el nombre del archivo que se desea desplegar en pantalla.
Al finalizar la ejecución del programa, ya sea por presionar la letra q o porque se desplegó todo el archivo en pantalla, el programa deberá desplegar la cantidad de letras entre la a y la z (Minúsculas), la cantidad de letras entre la A y la Z (Mayúsculas), cantidad de dígitos entre 0 y 9, cantidad de caracteres diferentes a letras o digitos, como por ejemplo espacio, <, >, =, :, ., “, ‘, +, , -, etc.