#include <stdio.h> #include <stdlib.h> #include <string.h> #define NMAX 200 struct contatto { char nome[50]; char cognome[50]; char tel[15]; int pub; }; typedef struct contatto Contatto; void inserisci(Contatto r[], int *n); void ricercac(Contatto r[], int n); int main() { Contatto rubrica[NMAX]; int n=0; for(int i=0;i<3;i++) inserisci(rubrica,&n); ricercac(rubrica,n); return 0; } void ricercac(Contatto r[], int n) { char s[50]; printf("cognome da cercare?\n"); scanf("%s",s); for(int i=0;i<n;i++) { if(strncmp(r[i].cognome,s,strlen(s))==0) { printf("%d) %s, %s, %s, %d\n",i,r[i].cognome,r[i].nome,r[i].tel,r[i].pub); } } } void inserisci(Contatto r[], int *n) { printf("nome?\n"); scanf("%s",r[*n].nome); printf("cognome?\n"); scanf("%s",r[*n].cognome); printf("tel?\n"); scanf("%s",r[*n].tel); printf("pubblico [S/n]\n"); getchar(); char p=getchar(); if(p!='n') r[*n].pub=1; *n=*n+1; }