buonasera a tutti...ho una difficoltà il programma dovrebbe stampare un file in output
ma mi stampa un output.txt bianco e dovrebbe copiare se trova la parola nel file1 dizionario.txt la corrispettiva parola in inglese sostituita al file 2.txt e stampare un terzo file.txt con, sia le parole della lista del file2 sia quelle sostituite nel file2 in inglese.
grazie tante sono in difficoltà e il programma nn lavora come dovrebbe !
Esempio di dizionario.txt
anatra, duck
cane, dog
farfalla, butterfly
gatto, cat
leone, lion
toro, bull
Esempio di file di input
lepre
anatra
koala
giraffa
leone
cavallo
ape
cane
Esempio di file di output prodotto (in inglese sono evidenziate le righe cambiate)
lepre
duck
koala
giraffa
lion
cavallo
ape
dog
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXS 30
#define DIZ "dizionario.txt"
int main()
{
FILE*fp,*fpin,*fpout;
char str[MAXS],str2[MAXS];
char ita[MAXS],eng[MAXS],nome[MAXS];
fp=fopen(DIZ,"r");
if(fp==NULL)
{
printf("errore\n");
return -1;
}
fpin=fopen("in.txt","r");
if(fpin==NULL)
{
printf("errore\n");
return -2;
}
fpout=fopen("ok.txt","w");
if(fpin==NULL)
{
printf("errore\n");
return -2;
}
while(fgets(str,MAXS,fp)!=NULL)
sscanf(str,"%s %s",ita,eng);
while(fgets(str2,MAXS,fpin)!=NULL )
sscanf(str2,"%s",nome);{
if(strcmp(eng,nome)==0)
{
fprintf(fpout,"%s\n",eng);
}
}
fclose(fp);
fclose(fpin);
fclose(fpout);
return 0;
}