Oppure

Loading
02/05/20 7:31
sara987
buongiorno devo scrivere una funzione ricorsivi per stampare il file contenente una lista di libri in modo iterativo ho fatto cosi:


fd=fopen("array1.txt", "r";);
if( fd==NULL ) {
perror("Errore in apertura del file";);
exit(1);
}

/* lettura linea per linea */
while(1) {
res=fgets(libreria, 15, fd);
if(res==NULL)
break;

if( libreria[0] != '#' )
printf("%s", libreria);
}

/* chiude il file */
fclose(fd);
return 0;
però non riesco a farlo in modo ricorsivo potete aiutarmi?
grazie in anticipo
02/05/20 7:35
nessuno
Saraciao... non ti basta l'altro forum?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
02/05/20 7:54
sara987
pensavo che potevate aiutarmi....alla fine è una domanda diversa
02/05/20 8:01
nessuno
Sai scrivere una funzione ricorsiva?
Ultima modifica effettuata da nessuno 02/05/20 8:03
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
02/05/20 8:09
sara987
[\code]
void stampaFile(list lista, FILE *fpr)
fdr=fopen("array1.txt", "r";);
if( fdr ==NULL ) {
perror("Errore in apertura del file";);
exit(1);
}
else
return stampaFile
}
/* chiude il file */
fclose(fd);
return 0;
cosi?
[code/]
Ultima modifica effettuata da sara987 02/05/20 8:10
02/05/20 8:14
nessuno
Usa bene i tag CODE che non si capisce nulla ... mancano parentesi ...

E poi, hai provato il tuo codice?

E che c'entra adesso la lista? Avevi detto che volevi solo stamparlo (a video) ... ora parli di una lista??
Nel primo codice che hai mostrato non c'era nessuna lista ma la semplice visualizzazione del contenuto del file ...

Devi essere chiara ...
Ultima modifica effettuata da nessuno 02/05/20 8:17
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
02/05/20 8:19
sara987
void stampaFile(char *array1) {
    FILE *fd;
 fd=fopen(array1, "r" );
 
    if(fd==NULL) {
    perror("Errore in apertura del file");
    exit(1);
  }

  return LeggiFileRic(fd);
}
ed la funzione :
list LeggiFileRic(FILE *fd) {
 list l;
char libreria[15];
  char *res;
res=fscanf(fd, "%s" , &libreria);
  if(res!=1)
    return NULL;
  else {
    l=malloc(sizeof(struct libro));
      l->next=libreria;
    l->next=LeggiFileRic(fd);
    return l;
  }
}
Ultima modifica effettuata da sara987 02/05/20 8:28
02/05/20 8:26
nessuno
Se continui a non rispondere ad alcuna domanda, non ti spieghi e spari codice a caso senza una spiegazione e senza tag CODE, questa discussione non va lontano.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.