Oppure

Loading
25/04/08 14:38
giocala88
Ciao raga vorrei capire cosa sbaglio ma soprattutto perchè mi da un errore del genere:

In function `elemento* leggiDaFile(elemento*)':|
`substring' was not declared in this scope|
||=== Build finished: 1 errors, 0 warnings ===|

cosa significa???
qualcuno di voi sa correggerlo nell'implementazione???...GRAZIE e CIAO!!!

// Inclusione delle librerie
#include <stdio.h>
#include <stdlib.h>
#include <string.h>



// Creo la struttura per contenere il database
typedef struct
{
char cognome[50];
char matricola[5];
char voto[3];

} t_database;

// Creo la struttura per creare la lista
struct elemento
{
t_database inf;
struct elemento *pun;
};

// Prototipi delle funzioni
void visualizzaContatto(struct elemento* p);
struct elemento *leggiDaFile(struct elemento *p);
void salvaSuFile(struct elemento *p);

// Funzione principale - MAIN

int main()
{
// dichiaro la variabile scelta e la lista vuota
int scelta;
struct elemento *lista = NULL;

// Visualizzo i contatti presenti
visualizzaContatto(lista);

// Leggo i contatti da File
lista = leggiDaFile(lista);

// Salvo i contatti su File
salvaSuFile(lista);


return 0;

}

/* Visualizza i contatti presenti */
void visualizzaContatto(struct elemento* p)
{ // visualizzaContatto() - OPEN

if (p == NULL)
{ // IF - OPEN

/* Se non ci sono contatti lo stampo a video */
printf ("\nNessun contatto presente\n";);

}

else
{ // ELSE
/* Stampo il primo contatto presente */

printf (" COGNOME:\n%s\n", p->inf.cognome);
printf (" MATRICOLA:\n%s\n", p->inf.matricola);
printf (" VOTO:\n%s\n", p->inf.voto);

}// IF - CLOSE

while (p != NULL)
{ // WHILE - OPEN

/* Stampo gli altri contatti */

printf (" COGNOME:\n%s\n", p->inf.cognome);
printf (" MATRICOLA:\n%s\n", p->inf.matricola);
printf (" VOTO:\n%s\n", p->inf.voto);

// Leggo l'elemento successivo
p = p->pun;
}// WHILE - CLOSE


} // visualizzaContatto() - CLOSE



/* Leggo i contatti dal file database.txt */

struct elemento *leggiDaFile(struct elemento *p)
{ // leggiDaFile - OPEN

// Dichiaro le variabili
t_database daInserire;
t_database vuoto; // elemento vuoto
struct elemento *punt = p;
char linea[500]; // stringa per l'acquisizione
int index=0; // inizializza l'indice


// Apre il file
FILE *file_database = fopen("database.txt","rt";);

// Salvo la lista di contatti
while(fgets(linea, 500, file_database) != NULL)
{ // WHILE - OPEN

index = strcspn(linea, ",";);

strncpy(daInserire.cognome, linea, index);
substring(daInserire.cognome, daInserire.cognome, 0, index-1);
substring(linea, linea, index+1, strlen(linea));
index = strcspn(linea, ",";);

strncpy(daInserire.matricola, linea, index);
substring(daInserire.matricola, daInserire.matricola, 0, index-1);
substring(linea, linea, index+1, strlen(linea));
index = strcspn(linea, ",";);

strncpy(daInserire.voto, linea, index);
substring(daInserire.voto, daInserire.voto, 0, index-1);
substring(linea, linea, index+1, strlen(linea));

// Aggiunge l'elemento alla lista
p = punt;
punt = (struct elemento *)malloc(sizeof(struct elemento));
punt->inf = daInserire;
punt->pun = p;

// azzera il valore di daInserire
daInserire = vuoto;
} // WHILE - CLOSE

// Chiude il file
fflush(file_database);
fclose(file_database);

// Esce dalla funzione e restituisce la lista
return(punt);
}// leggiDaFile - CLOSE



/* Salvo i contatti inseriti in un file di nome database_ordinato.txt */
void salvaSuFile(struct elemento *p)
{ // salvaSuFile() - OPEN

// Apre il file
FILE *file_database_ordinato = fopen("database_ordinato.txt","w";);

// Salvo la lista di contatti
while (p != NULL)
{ // WHILE - OPEN

// Scrive sul file
fprintf(file_database_ordinato, "%s,%s,%s\n", p->inf.cognome, p->inf.matricola, p->inf.voto);
// legge l'emento successivo
p = p->pun;

} // WHILE - CLOSE

// Chiude il file
fflush(file_database_ordinato);
fclose(file_database_ordinato);

// Esce dalla funzione

}// salvaSuFile() - CLOSE

Ultima modifica effettuata da giocala88 25/04/08 14:38
aaa
25/04/08 20:58
gantonio
Ma cosa e'

substring

?
aaa
26/04/08 8:55
giocala88
kiedevo a voi quale fosse il problema e se si potesse risolvere in qualke altro modo qst substring....fatemi sapere...CIAO
aaa
26/04/08 9:51
FHF93
mmm .. mi sa tanto della rubrica di esempio di html.it ... facendo control-F con firefox ho notato solo che richiami questa substring , che da come si vede è una funzione , ma non hai scritto da nessuna parte nè il prototipo , nè la funzione stessa , come dice gantonio ...
aaa