Page 637 - Informatica dalla A a Z
P. 637
[si mostri a video l’array così costruito]
contenga una funzione compatibili() che, date due persone, restituisca vero se le due per-
sone sono compatibili (intendendo con questo che esse sono di sesso diverso e la diffe-
renza di età, riferita solo all’anno, non supera i 5 anni), o falso altrimenti;
[si mostri a video un esempio d’uso della funzione con due persone scelte dall’array a vo-
stro piacere]
chieda all’utente, da console, cognome, nome, sesso e data di nascita
in base a quanto ottenuto al punto precedente, scriva i dati delle persone compatibili con
l’utente sia a video sia su un file binario di nome PARTNERS.DAT.
Soluzione
#include <stdio.h>
#include <stdlib.h>
#define NUMEROPERSONE 20
#define DIMCOGNOME 21
#define DIMNOME 21
struct data {
int giorno, mese, anno;
};
struct persona {
char cognome[DIMCOGNOME], nome[DIMNOME], sesso;
struct data nascita;
};
/* ---------- domanda 1 -------- */
void lettura(char nomefile[], struct persona v[], int* pindice){
struct persona x;
FILE *f = fopen(nomefile, "r");
if (f==NULL) {
printf("Impossibile aprire file di ingresso");
exit(1); } /* se non riesce a creare il file
visualizza un messaggio di errore ed esce dal programma */
633