Está en la página 1de 7

Manual de Usuario

Primero necesitamos correr el primer programa, en el solo presionamos ENTER y el


programa realizara todo el proceso de conversión.

Después copiamos el archivo creado llamado: Proverviosnew en la carpeta de: Buscador


de Cap Ver y ejecutamos el siguiente programa, en el cual solo se ingresa el Capitulo y
versículo y lo buscara en el archivo creado antes.
Manual Técnico

Primero necesitamos correr el primer programa, en el solo presionamos ENTER y el


programa realizara todo el proceso de conversión.

Después copiamos el archivo creado llamado: Proverviosnew en la carpeta de: Buscador


de Cap Ver y ejecutamos el siguiente programa, en el cual solo se ingresa el Capitulo y
versículo y lo buscara en el archivo creado antes.
Programa 1
//hecho por Hubert Pérez
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
FILE *arch_prob;
FILE *arch_save;
char cadena[256];
int cont1,cont2,cont3,suma;
char *capitulo;
char *versiculo;
char *terminator;
int contador;
void buscar();
using namespace std;
int main()
{

printf("************************************************\n");
printf("** Programa que ordena el libro de proverbios **\n");
printf("************************************************\n");
printf("** Precione enter para procesar el archivo *****\n");
getchar();
buscar();

printf("************************************************\n");
printf("*********** Base de datos creada ***************\n");
printf("************************************************\n");
getchar();
}
void buscar(){
arch_prob=fopen("proverbios.txt","r");
arch_save=fopen("Proverviosnew.txt","a+");

if(arch_prob==NULL){

printf("Archivo no se pudo abrir, intente mas tarde\n");


getchar();
}else{

contador=0;
rewind(arch_prob);
while(!feof(arch_prob)){

fgets(cadena,256,arch_prob);
terminator="";
capitulo="";
versiculo="";
cont1=0;//hecho por Hubert Pérez
cont2=0;
cont3=0;
suma=0;
capitulo=strtok(cadena,":");
versiculo=strtok(NULL," ");
terminator=strtok(NULL, "\n");
cont1=strlen(capitulo);
cont2=strlen(versiculo);
cont3=strlen(terminator);
suma=cont1+cont2+cont3+3;
if(suma>99){
fprintf(arch_save,"%d%s#%s#%s#",suma,capitulo,versiculo,terminator);
}
else if(suma>10){
fprintf(arch_save,"0%d%s#%s#%s#",suma,capitulo,versiculo,terminator);
}
}
}
fclose(arch_prob);
fclose(arch_save);
}
Programa 2
//hecho por Hubert Pérez
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
//Las anteriores lines son las librerias utilizadas en el programa
FILE * arch;
//Se utiliza como apountador a la informacion del fichero
char * texto1;
// se utiliza para guardar una cadena de caracteres
int enc=0,resp=0;
// contador de salida si no encuentra el Capitulo/Versiculo
char numero1[5], numero2[5],n_busc[10],cadena[40000];
//variables utilizadas
void menu();
//se crea la funcion menu para utlilizarla despues
void buscar();
//se crea la funcion buscar para utlilizarla despues
using namespace std;
int main(){
//Programa principal
do{//repetidor
system("cls");
texto1='\0';
numero1[0]='\0';
numero2[0]='\0';
n_busc[0]='\0';
cadena[0]='\0';
enc=0;
menu();
buscar();
getchar();
printf("Desea Repetir el programa p/(1)");
scanf("%i",&resp);
}while(resp==1);
//condicion si se desea repetir el programa
return 0;
//se llama a las funciones/procedimientos ara utilizarlas
}
void menu(){
system("cls");
printf("****************************************\n ");
printf("***** PROGRAMA LECTURA DE ARCHIVOS ***** \n ");
printf("****************************************\n ");
printf("**************BIENVENIDO****************\n ");
printf("****************************************\n");
printf("*** Ingrese Capitulo: ");
scanf("%s",numero1);
printf("*** Ingrese Versiculo: ");
scanf("%s",numero2);
//se imprime mensaje de bienvenida y se piden variables
strcat(n_busc,numero1);
strcat(n_busc,"#");
strcat(n_busc,numero2);
strcat(n_busc,"#");
//se concatena variables, para crear una llave//se crea la funcion menu para utlilizarla
despues

printf("Capitulo/Versiculo a buscar: %s\n\n\n", n_busc,"\n\n");


//se imprime la llave
}
void buscar(){
arch=fopen("Proverviosnew.txt","r");
//se cuardara en arch lo que tenga el archivo Proverviosnew.txt
if(arch==NULL){
printf("archivo no se pudo abrir");
getchar();
//marca error si el archivo no pudo abrirse
}else{
//si todo esta bien, etran en esta parte
rewind(arch);
//se indica que coloque el puntero al inicio
while(!feof(arch)){
//mientras el archivo no se haya terminado que lo siga ejecutando
fgets(cadena,40000,arch);
//guarda los 40000 caracteres que tenga arch para utilizarlos
getchar();
if(strstr(cadena,n_busc)){
//busca la llave, si la encuentra en alguna parte entra.
texto1=strtok(strstr(cadena,n_busc),"#");
//busca la llave y desde ese punto le asigna la informacion a texto1
texto1=strtok(NULL,"#");
//texto1 cambia de valor nuevamente por lo sobrante quitando la parte hasta el #
texto1=strtok(NULL,"#");
//texto1 cambia de valor nuevamente por lo sobrante quitando la parte hasta el #
printf("****************************************\n");
printf("%s\n",texto1);
//Imprime lo sobrante, el texto hasta encontrar el ultimo # que separa los capitulos
printf("************* ENCONTRADO ***************\n");
getchar();
enc=1;
//si lo encontro cambia de valor enc para que no entre al siguiente if
break;
}
}
if(enc==0)
printf("El Capitulo/Versiculo no se encuentra en la Data\n");
//si no lo encontro lanza el siguiente mensaje de error
}
int fclose(FILE *arch);
//se cierra el archivo.
}
//FIN

También podría gustarte