Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
allora io ho un file, in cui precedentemente ho aperto in modalità "a", e ho scritto il record:
Codice sorgente - presumibilmente C++
typedefstruct recDatiAnagrafici
{
char Nome [12];
char Cognome [12];
char Telefono [11];
t_Data Nascita;//record nascita composto da 3 campi
t_Prestazioni prestazioni;//record prestazioni composto da 3 campi
t_Importo importo;//record importo composta da 3 campi
}t_Dati;
con la fprintf. il problema è che adesso dovrei ricercare nella banca data un cliente in base al cognome, e stampare poi i suoi dati in caso di successo, in caso di insuccesso devo far visualizzare un messaggio di errore ma non è quello il problema, non so come ricercare, ho trovato questa cosa su internet:
Codice sorgente - presumibilmente Delphi
Inizio
Vis: “Come si chiamano di nome di battesimo le persone che devo trovare nel file?”
Acq: nomecerc
Apri il filein input
Leggi primo record nel buffer buf
trovati = 0
Mentre non ho raggiunto lÂ’eof
Se buf.nome= nomecerc
Vis: buf.codfis, buf.cognome, buf.nome
trovati = trovati + 1
Finese
Leggi prossimo record nel buffer buf
FineMentre
Chiudi il file
Se trovati = 0 allora
Vis: “Nessuna persona registrata all’interno di questo file si chiamava in quel modo”
Finese
Fine
ho provato a fare così:
Codice sorgente - presumibilmente C#
void ricerca_cognome(){
char cognome[12];//cognome da cercare all'interno della banca dati
char scelta[3];//scelta utente si/no
int found;//variabile sentinella
FILE *f;
t_Dati buf;//record contenete i campi letti da file
do{//ricerca il cliente in base al cognome
f = fopen("BancaDati.txt","r");
if(f==NULL){//se il file non esiste
printf("\nFile inesistente\n");
return;
}
printf("\n\tInserisci il cognome del paziente da cercare nella banca dati: ");
Dire che qualcosa ti dà errore non significa nulla ...
Quale errore specifico?
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à.
cannot convert `t_Dati' to `char*' for argument `1' to `char* fgets(char*, int, FILE*)' dovrei utilizzare una variabile stringa al posto di buf che è di tipo t_Dati??
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à.
Ultima modifica effettuata da nessuno il 30/10/2014 alle 13:45
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à.
Ultima modifica effettuata da nessuno il 30/10/2014 alle 14:02
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à.