|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2006
Messaggi: 1
|
C++ Array di struct e blocco struct unione
Salve a tutti io sono nuovo su questo forum, e vorrei porvi un esercizio che io ho già svolto, ma vorrei renderlo più generale, l'esercizio e il seguente:
________________________ | |ALBERTO 24 PALERMO 1 |CICCIO 26 ROMA 2 |CARLO 30 PISA 3 | |1 CARLA 28 ROMA |2 MARIA 28 ROMA |3 GIUSI 28 ROMA |________________________ | Leggere da file nomi.TXT e copiare in "Array di Struct coppie |0_|1_|2_|_|_|_|_|_|_|n_| STRUCT (BLOCCO STRUCT UNIONE) ________________________ nome_lui stringa nome_lei stringa eta_lui intero eta_lei intero citta_lui stringa citta_lei stringa _________________________ Stampare a video il contenuto dell'array "Coppie". Io lo svolto così: /*LEGGI DA FILE 'ARCHIVIO_COPPPIE.txt' E STAMPA A VIDEO COPPIE GENERATE*/ #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char nome_lui[50]; int eta_lui; char citta_lui[50]; char nome_lei[50]; int eta_lei; char citta_lei[50]; }COPPIE; int main() { int i, ncoppie=0, res; FILE *fp; fp=fopen("Archivio_coppie.txt", "r"); COPPIE archivio[50]; if (fp==NULL)/*Si è verificato un errore: il file Achivio_coppie.txt non esiste*/ printf ("Errore: il file 'Archivio_coppie.txt' non esiste\n"); do { res=fscanf(fp,"%s %d %s %s %d %s", archivio[ncoppie].nome_lui, &archivio[ncoppie].eta_lui, archivio[ncoppie].citta_lui, archivio[ncoppie].nome_lei, &archivio[ncoppie].eta_lei, archivio[ncoppie].citta_lei); } while (res!=EOF && ++ncoppie<50); fclose (fp); for (i=0; i<ncoppie; ++i) {printf ("%s\n%s\n%d\n%d\n%s\n%s\n", archivio[i].nome_lui, archivio[i].nome_lei, archivio[i].eta_lui, archivio[i].eta_lei, archivio[i].citta_lui, archivio[i].citta_lei); printf("Premi INVIO per visualizzare la coppia successiva\n\n"); getchar(); } printf ("\nPremi INVIO per terminare il programma\n\n"); getchar(); return 0; }. Sempre, per l'esercizio precedentemente svolto ho dei quesiti da porgervi per rendere più generico l'esercizio, avendo come file di testo "Archivio_coppie.txt" scritto nel seguende modo: Carlo 30 Pisa 3 1 Carla 28 Roma Alberto 24 Palermo 1 2 Maria 28 Roma Ciccio 26 Roma 2 3 Giusi 28 Roma Diciamo con righe mescolate, si potrebbero ricreare le coppie, facendo eseguire al programma delle scansioni che riconoscono i numeri finali per quando riquarda lui tipo: "Alberto 24 Palermo 1" e il numero iniziale per quanto riquarda lei tipo: "1 Carla 28 Roma". Per poter creare le coppie. E controllare se nel file ci sono righe ripetute tipo: Carlo 30 Pisa 3 ....................... ...................... ........................... ......................... .............................. Carlo 30 Pisa 3 E eliminare le righe ripetute, si può fare? Grazie in anticipo e attendo dei consigli |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:11.