Foros del Web » Programación para mayores de 30 ;) » C/C++ »

buscador de txt en c++

Estas en el tema de buscador de txt en c++ en el foro de C/C++ en Foros del Web. Hola soy nuevo en esto y tengo un problema con el sgte ejercicio que me dieron consiste en crear un codificador y decodificador de clave ...
  #1 (permalink)  
Antiguo 26/07/2008, 19:26
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
buscador de txt en c++

Hola soy nuevo en esto y tengo un problema con el sgte ejercicio que me dieron
consiste en crear un codificador y decodificador de clave morse.

Yo utilizo fichero de texto fopen, fprintf, fgets, fscanf, etc.

Ahora creo el archivo txt y dentro del archivo coloco las palabras a buscar por ejemplo:

a .-
b .--
c ..---

y en otro archivo txt coloco al reves .- a, .-- b
ahora lo que necesito es que el programa busque obviamente la palabra que necesito pero cuando yo coloque en el buscador ( a ) debe salirme ( .- ), se que con fgets mostrara toda la palabra pero necesito que solo muestre ( .- )
tambien se que la funcion strcmp() busca las palabras si le aplico una condicion if

le mostrare lo que llevo avanzado

#include<stdio.h>
#include<conio.h>
#include<iostream>

void main(){
FILE*archivo;
char buscar[50], cadena[50];

archivo=fopen("codificar","r");

cout<<"Ingrese palabra a codificar: ";
gets(buscar);
while(!feof(archivo)){
fgets(cadena,50,archivo);

if(strcmp(cadena,buscar)==0){

cout<<"palabra en morse: "<<cadena;
}
}

}

tengo que agregar lo siguiente: al poner este codigo si no tiera un error al compilar, tira un warning, y muestra todo el fichero de texto o puras leseras y eso se debe al fgets...

por favor necesito que me ayuden...
  #2 (permalink)  
Antiguo 27/07/2008, 21:51
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: buscador de txt en c++

Cita:
cuando yo coloque en el buscador ( a ) debe salirme ( .- ), se que con fgets mostrara toda la palabra pero necesito que solo muestre ( .- )
Y si en el archivo de texto colocas la conversión en la siguiente línea, algo como esto:
a
.-
b
.--
c
..---
así solo tendrás que leer y mostrar la siguiente linea cuando encuentres una coincidencia.

Cita:
tambien se que la funcion strcmp() busca las palabras si le aplico una condicion if
Recuerda que al leer una línea con la función fgets, la línea que ha leído incluye el carácter de salto de línea por lo que deberás omitirlo en la comparación, te recomiendo uses strncmp, por ejemplo if(strncmp(cadena,buscar,1)==0) para que compare solo la primera letra.

Cita:
tengo que agregar lo siguiente: al poner este codigo si no tiera un error al compilar, tira un warning,
Si pudieras poner el texto de salida del warning tal vez podría ayudarte a definir en donde está el problema.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:45.