ayuda con un codigo

Iniciado por ginny1685, 29 Abril 2012, 02:46 AM

0 Miembros y 1 Visitante están viendo este tema.

ginny1685

hola!

tengo este codigo, que es un programa que lee un archivo encuentra palabras de determinada extension y las imprime en otro archivo, todo lo hace bien, solo que quiero agregarle que tambien ademas de imprimir las palabras en el archivo, las muestre en la pantalla del programa junto con la cantidad de palabras que fueron encontradas, pero no se exactamente en que parte del codigo debo colocar las lineas de éstas instrucciones, trate de hacerlo agreggando la parte final del codigo, pero no me trabaja bien..

a ver si me ayudan ..? :)
gracias...

#include<stdio.h>
#include<stdlib.h>

int n, numpal, esp;
char blocnew[' '], pal, cant[' '] ;
FILE *original, *copia;

int main(){

printf("\n\n\n" "-----------------------------------------------------------------------------" "\n\n");
printf("\n\n\n" "Buscando palabras en el poema MAESTRO" "\n\n");

original= fopen("maestro.txt","r+");

printf("\n\n\n" "Ingrese la cantidad de caracteres que deben tener las palabras que se buscaran en el poema:" "\n\n");

scanf("%d",&n);

sprintf(blocnew,"%d.txt",n);
copia= fopen(blocnew, "w+");

while((pal=fgetc(original)) != EOF){

if(pal!=' ' && pal!='\0' && pal!='\13' && pal!='\10' && pal!='\n'){
cant[numpal]=pal;
numpal++;

}

if(pal==' ' || pal=='\0' || pal=='\13' || pal=='\10' || pal=='\n'){

if(numpal!=n){
for(esp==0;esp<numpal;esp++){
fputc(' ', copia);

}}
if(numpal==n){
             
for(esp=0;esp<n;esp++){
                       

fputc(cant[esp], copia);


}}

fputc(pal, copia);

numpal=0;

}

}
printf("VER EL ARCHIVO %s\n\n", blocnew);
int contador=0;
char auxiliar[' '];
while(fscanf(copia, "%s", auxiliar) != EOF);
printf("%s", auxiliar);
contador++;
};
printf ("\nNúmero de palabras = %d \n", contador);
fclose(original);
fclose(copia);
}
system("pause");

}


x64core

no sabes adonde colocar las lineas de codigo? :|
declara una variables int antes de iniciar la funcion o una global e utiliza el prefijo de post incremento por cada vez que
encuentre una palabra como dices y luego al final usa una funcion/procedimiento de alguna libreria para que te muestre el
resultado de la variable

s00rk

En donde pones

for(esp=0;esp<n;esp++)
{   
    fputc(cant[esp], copia);
}


en vez de eso pon

for(esp=0;esp<n;esp++)
{
    fputc(cant[esp], copia);
    printf("%c", cant[esp]);
}
printf("\n");



P.D. deberias acomodar mejor el codigo :/ asi es mucho mas dificil entenderlo y tmb en C no exist switch o que ? o.o te ahorras bastante pero bueno suerte hehe.