Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - idee per creare una funzione
Forum - C/C++ - idee per creare una funzione

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
domi90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 07/05/2010

Segnala al moderatore
Postato alle 23:01
Sabato, 29/05/2010
l'esercizio chiede :una biblioteca memorizza i libri richiesti in lettura in un file in cui sono riportati nome e cognome del richiedente,autore e titolo del libro e il codice dell'argomento compreso fra 1 e 25.scrivere un programma che crei un tale file e memorizzi i dati relativi ad alcuni libri in prestito...(fino qua nessuna problema)..
poi chiede di creare una procedura che per ognuno dei 25 argomenti stampi la lista dei libri che sono stati richiesti e il loro numero totale
io la procedura la faccio cosi(posto solo le strutture e la procedura stessa)ma da problemi quando la uso..

struct biblio{
       char nome[10];
       char cognome[10];
       char autore[20];
       char titolo[20];
       int codice;};
struct biblio per;
char*lista[25];
FILE*fp;
void arg(void){
     int i,n;
     fp=fopen("Biblioteca","r");
     for(;;){
              n=fread(&per,sizeof(struct biblio),1,fp);
                        if(n==0){
                        fclose(fp);
                        break;}
                        else
                        strcpy(lista[per.codice],per.titolo);}
                        
             for(i=1;i<25;i++)
             printf("Argomento %d=%s\n",i,lista);
     }

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:22
Sabato, 29/05/2010
Dire che da' problemi non aiuta a risponderti.

E il codice va inserito tra i tag code altrimenti non si puo' leggere.


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à.
PM Quote
Avatar
domi90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 07/05/2010

Segnala al moderatore
Postato alle 3:16
Domenica, 30/05/2010
non da problemi in compilazione,semplicemente quando la chiamo dal main

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:43
Domenica, 30/05/2010
Testo quotato

Postato originariamente da domi90:

non da problemi in compilazione,semplicemente quando la chiamo dal main ...



... cosa succede?

Perchè si devono "strappare" le informazioni ?

In ogni caso, questa riga

char *lista[25];

secondo te, cosa fa?


Ultima modifica effettuata da nessuno il 30/05/2010 alle 9:46


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à.
PM Quote
Avatar
domi90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 07/05/2010

Segnala al moderatore
Postato alle 11:33
Domenica, 30/05/2010
la mia idea era di copiare la stringa li dentro come richiede il testo del problema...l'ho gia detto che era sbagliata....cmq quando la chiamo blocca il programma....

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:36
Domenica, 30/05/2010
Beh ... è ovvio perchè

char *lista[25];

è un vettore di 25 puntatori, non una stringa.


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à.
PM Quote
Avatar
domi90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 07/05/2010

Segnala al moderatore
Postato alle 11:37
Domenica, 30/05/2010
Testo quotato

Postato originariamente da domi90:
é un array di 25 puntatori a carattere...
la mia idea era di copiare la stringa li dentro nella posizione dell'argomento come richiede il testo del problema.....cmq quando la chiamo blocca l'esecuzione del programma....


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:46
Domenica, 30/05/2010
Testo quotato

Postato originariamente da domi90:
é un array di 25 puntatori a carattere...



Non mi parte tu l'abbia mai scritto ...

Ma è proprio questo il problema. Quello è un array di 25 puntatori che non puntano a nulla. Se vuoi usare un array di puntatori, devi inizializzarli facendoli puntare ad una zona di memoria allocata con la malloc prima di usarli.


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à.
PM Quote
Avatar
domi90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 07/05/2010

Segnala al moderatore
Postato alle 12:34
Domenica, 30/05/2010
grazie dell'aiuto ma non mi funziona lo stesso...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo