salve a tutti...ho questo problema dato il seguente codice dovrei implementare le funzioni sotto riportate
Funzione crea_file questa funzione mi crea un file e con all'interno delle parole e successivamente le confronta con l'array confronto e vede se le parole contenute in confronto sono il prefisso delle parole inserite dall'utente, copiando tutto in un nuovo file.Codice:#include<stdio.h> #include<stdlib.h> #include<string.h> #define NUM 4 typedef struct data *next; typedef struct data{ char string1[20]; char string2[20]; int dim_string1; int dim_string2; next successivo; }data; void crea_file(char *); void crea_lista(char *[] ,char[]); void cambio_testa_coda(data **); void scrivi_file(data*,FILE *); void scrivi_file(data *,FILE *); /*RICORSIVA */ int main(){ char *parole[NUM]={"agosto","lunare","lunatico","agognato"}; char v[20]; data *head; FILE *in, *out; printf("Inserire il nome del file da creare: "); scanf("%s",v); crea_file(v); crea_lista(parole,in,&head); system("PAUSE"); return 0; }
il mio problema sorge nel momento in cui devo copiare la parola che contiene il prefisso sole mare ago o luna in una struttura insieme al prefisso stesso ad esempio...Codice:void crea_file(char *v){ struct data d={"",""}; FILE *fp,*out,*fp2; int fine=0; int l=0; int i=0; int j=0; int cont=0; char buff[20]; char parole[30]; char *confronto[NUM]={"ago","luna","sole","mare"}; if((fp=fopen(v,"w"))==NULL){ printf("ERRORE\n"); } else while(!fine){ printf("Inserisci parola:"); scanf("%s",parole); fprintf(fp,"%s\n",parole); cont++; printf("Finito? (Si=1, No=0) "); scanf("%d",&fine); } fclose(fp); fp=fopen(v,"r"); out=fopen("copia.txt","w"); for(i=0;i<cont;i++){ fscanf(fp,"%s",buff); for(j=0;j<4;j++){ l=strlen(confronto[j]); if(!strncmp(buff,confronto[j],l)){ fprintf(out,"%s\n",buff); printf("\ntrovata la parola: %s in: %s",confronto[j],buff); } } } printf("\n"); printf("\n...copia in corso...\n"); fclose(out); fclose(fp);
l'utente inserisce mareggiata lunatico... l'output dovrebbe essere
lista
string1=mare
string2=mareggiata
dim_str1=4
dim_str2=10
lista
string1=luna
string2=lunatico
dim_str1=4
dim_str2=8
tutto copiato in un file...io pur troppo questo passaggio non riesco a farlo...potreste aiutarmi...grazie mille
---------- Post added at 18:29 ---------- Previous post was at 17:28 ----------
in pratica dovrei associare all'interno di un ciclo le parole trovate con gli elementi della lista
pseudocodice: d.string1=elemento trovato...
conoscete qualche funzione utile???? grazie


Software & OS
LinkBack URL
About LinkBacks
Rispondi Citando