rendered paste body// LIBRERIAS#include <stdio.h>#include <stdlib.h>#include <conio.h>// MACROS#define TB "\t\t"#define TB3 "\t\t\t"// FUNCIONESint copifich(char *archivo1,char *archivo2); // Copiar Fuente en Destinoint copiasincar(char *archivo1,char *archivo2,char caracter);int pintarfichero(char *archivo1);int contarcar(char *archivo1,char caracter); // NO COGE EL PUTO CARACTERint concatfich(char *archivo1,char *archivo2);int creaymuestra(void);int pintar2fich(char *archivo1,char *archivo2);int guardaletras(void);int impalreves(char *archivo);int guardaymuestra(void);// Falta el de los articulos// MENU PRINCIPALmain(int argc, char *argv[]){ char ficherito1[256]; char ficherito2[256]; char c; int opcion=0; do { clrscr(); printf(TB" Funciones Relacion 9. (* = Sin Hacer).\n"); printf(TB" ---------------------------------------\n"); printf(TB" 0. Para SALIR.\n\n"); printf(TB" 1. Copiar Fuente en Destino.\n"); printf(TB" 2. Copiar Fuente en Destino sin Caracter.\n"); printf(TB" 3. Mostrar el contenido de un fichero.\n"); printf(TB" 4. Contar el n veces que existe ese caracter. *\n"); printf(TB" 5. Concatenar ficheros.\n"); printf(TB" 6. Gestor de fichas de alumnos.\n"); printf(TB" 7. Mostrar un fichero tras otro.\n"); printf(TB" 8. Guardar las teclas pulsadas en un fichero.\n"); printf(TB" 9. Imprimir un fichero de texto al reves.\n"); printf(TB"10. Guardar teclas pulsadas en un fichero y mostrarlas.\n"); printf("\n\n"); printf(TB" Introduzca Opcion: "); scanf("%d",&opcion); switch(opcion) { default: break; case 0: printf(" Eduardo Ortega Acosta.\n"); printf(" 1.CFGS. Desarrollo de Aplicaciones Informaticas.\n\n"); printf(" Gracias por utilizar este software."); getch(); printf("\n"); exit(1); break; case 1: printf(" 1er. Archivo: "); scanf("%s",ficherito1); fflush(stdin); printf(" 2do. Archivo: "); scanf("%s",ficherito2); fflush(stdin); if((copifich(ficherito1,ficherito2))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al copiar el archivo.\n"); printf("\n Comando no completado."); getch(); } break; case 2: printf(" 1er. Archivo: "); scanf("%s",ficherito1); fflush(stdin); printf(" 2do. Archivo: "); scanf("%s",ficherito2); fflush(stdin); printf(" Caracter: "); // NO SE PORKE NO LO COGE scanf("%c",&c); fflush(stdin); if((copiasincar(ficherito1,ficherito2,c))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al copiar sin el caracter.\n"); printf("\n Comando no completado correctamente."); getch(); } break; case 3: printf(" Indique Fichero: "); scanf("%s",ficherito1); if((pintarfichero(ficherito1))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al mostrar el contenido.\n"); getch(); } break; case 4: printf(" Indique Fichero: "); scanf("%s",ficherito1); fflush(stdin); printf(" Caracter: "); scanf("%c",&c); fflush(stdin); if((contarcar(ficherito1,c))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR con el fichero indicado."); getch(); } break; case 5: printf(" El texto se concatenara sobre el primero. \n"); printf(" 1er. Fichero: "); scanf("%s",ficherito1); printf(" 2do. Fichero: "); scanf("%s",ficherito2); if((concatfich(ficherito1,ficherito2))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al concatenar los ficheros."); getch(); } break; case 6: if((creaymuestra())==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al ejecutar la funcion."); } break; case 7: printf(" 1er. Fichero: "); scanf("%s",ficherito1); printf(" 2do. Fichero: "); scanf("%s",ficherito2); if((pintar2fich(ficherito1,ficherito2))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al ejecutar el comando."); getch(); } break; case 8: if((guardaletras())==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al ejecutar el comando."); getch(); } break; case 9: printf(" Fichero a leer, con ext. txt: "); scanf("%s",ficherito1); if((impalreves(ficherito1))==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al procesar el comando."); getch(); } break; case 10: if((creaymuestra())==1) { printf("\n Comando completado correctamente."); getch(); } else { printf("\n Ocurrio un ERROR al procesar el comando."); getch(); } break; } }while(opcion); fcloseall(); return 0;}int copifich(char *archivo1,char *archivo2){ FILE *fichero,*fichero2; char c; if((fichero=fopen(archivo1,"a"))==NULL) return -1; if((fichero2=fopen(archivo2,"r"))==NULL) return -1; while((c=getc(fichero))!=EOF) putc(c,fichero2); fcloseall(); return 1;}int copiasincar(char *archivo1,char *archivo2,char caracter){ FILE *fichero,*fichero2; char c; if((fichero=fopen(archivo1,"r"))==NULL) return -1; if((fichero2=fopen(archivo2,"w"))==NULL) return -1; while((c=getc(fichero))!=EOF) { if(c==caracter) c=NULL; putc(c,fichero2); } caracter='\0'; fcloseall(); return 1;}int pintarfichero(char *archivo1){ FILE *fichero; char c; if((fichero=fopen(archivo1,"r"))==NULL) return -1; while((c=getc(fichero))!=EOF) putc(c,stdout); printf("\n\n"); printf(" ............................................."); printf("\n (Pulse cualquier tecla para volver al menu.)\n"); fclose(fichero); getch(); return 1;}// NO COGE EL CARACTER Y NO SE PORQUEint contarcar(char *archivo1,char caracter){ FILE *fichero; char c; int ncaracter=0; if((fichero=fopen(archivo1,"r"))==NULL) return -1; while((c=getc(fichero))!=EOF) if(c==caracter) ncaracter++; fclose(fichero); printf(" %d veces el caracter: %c ",ncaracter,caracter); return 1;}int concatfich(char *archivo1,char *archivo2){ FILE *fichero,*fichero2; char c; if((fichero=fopen(archivo1,"a"))==NULL) return -1; if((fichero2=fopen(archivo2,"r"))==NULL) return -1; while((c=getc(fichero2))!=EOF) putc(c,fichero); fcloseall(); return 1;}int pintar2fich(char *archivo1,char *archivo2){ FILE *fichero,*fichero2; char c; if((fichero=fopen(archivo1,"r"))==NULL) return -1; if((fichero2=fopen(archivo2,"r"))==NULL) return -1; while((c=getc(fichero))!=EOF) putc(c,stdout); while((c=getc(fichero2))!=EOF) putc(c,stdout); fcloseall(); return 1;}int guardaletras(void){ FILE *fichero; char c; if((fichero=fopen("teclado.txt","w"))==NULL) return -1; while((c=getc(stdin))!=EOF) putc(c,fichero); return 1;}int impalreves(char *archivo1){ FILE *fichero; char c; int i; // Para el for if((fichero=fopen(archivo1,"r"))==NULL) return -1; fseek(fichero,0,SEEK_END); for(i=ftell(fichero);i!=0;i--) { c=getc(fichero); fseek(fichero,-1,SEEK_CUR); if(c=='\n') fseek(fichero,-2,SEEK_CUR); fseek(fichero,-1,SEEK_CUR); putc(c,stdout); } fclose(fichero); return 1;}int guardaymuestra(void){ FILE *fichero; char c; if((fichero=fopen("teclado2.txt","w"))==NULL) return -1; while((c=getc(stdin))!=EOF) putc(c,fichero); fclose(fichero); if((fichero=fopen("teclado2.txt","r"))==NULL) { printf("\n OCurrio un ERROR al leer el fichero."); getch(); return -1; } while((c=getc(fichero))!=EOF) putc(c,stdout); return 1;}int creaymuestra(){ FILE *fichero; int op=0; char nombre[15],apellidos[25],c; do { clrscr(); printf(TB3" GESTION ALUMNOS.\n"); printf(TB3" -----------------\n"); printf(TB3" 0. Para SALIR.\n\n"); printf(TB3" 1. Crear ficha.\n"); printf(TB3" 2. Listar ficha.\n"); printf(TB3" 3. Eliminar ficha.\n\n"); printf(TB3" Opcion: "); scanf("%d",&op); switch(op) { default: break; case 0: printf(" Salir de la gestion de alumnos.\n"); getch(); break; case 1: if((fichero=fopen("alumnos.dat","ab+"))==NULL) return -1; printf(" Nombre: "); scanf("%s",nombre); fflush(stdin); printf(" Apellidos: "); gets(apellidos); fflush(stdin); fputs(nombre,fichero); fputs(" ",fichero); fputs(apellidos,fichero); fputs("\n",fichero); fclose(fichero); break; case 2: if((fichero=fopen("alumnos.dat","rb"))==NULL) return -1; printf(" LISTADO ALUMNOS.\n"); printf(" ----------------\n"); while((c=getc(fichero))!=EOF) putc(c,stdout); getch(); fclose(fichero); break; case 3: if((unlink("alumnos.dat"))==-1) { printf("\n Ocurrio un ERROR al eliminar el fichero."); getch(); break; } printf("\n Fichero eliminado correctamente."); getch(); break; } }while(op); fclose(fichero); return 1;}