// RUBRICA // #include #include int inserisci(FILE *fp) // FUNZIONANTE { char nop[0]; char nome[20]; char cognome[20]; char numero [20]; printf("Inserisci il nome\n"); gets (nop); gets(nome); printf("Inserisci il cognome\n"); gets(cognome); printf("Inserisci il telefono\n"); gets(numero); if ((fp=fopen("agenda.dat","a")) != NULL) { fprintf(fp,"%s %s %s\n", nome, cognome, numero); printf("Operazione eseguita\n"); fclose(fp); } else printf("Si e' verificato un errore"); return 1; } int stampa(FILE *fp) // FUNZIONANTE { int n=0; char string[20]; if ((fp=fopen("agenda.dat","r")) != NULL) while(!feof(fp)) { fscanf(fp,"%s",string); printf("%s ", string); fscanf(fp,"%s",string); printf("%s ", string); fscanf(fp,"%s \n",string); printf("%s \n", string); n++; if(n==22 || n==44) { printf("\n Premere un tasto per continuare\n"); getch(); } } return 1; } int cerca(FILE *fp) { int w=0; printf("\n"); printf(" - RICERCA RAPIDA - \n"); printf("\n"); printf("Scegli il tipo di ricerca:\n\n"); printf("Ricerca per nome .......... digita 1\n\n"); printf("Ricerca per numero di telefono .......... digita 2\n\n"); printf("Esci .......... digita 0\n"); printf("\n"); int scelta; scanf("%d", &scelta); while(!feof(fp) && scelta!=0) { if ((fp=fopen("agenda.dat","r")) != NULL) { int risultato=0; if(scelta==1 && risultato !=1) { char nome[20]; char string[20]; printf("inserisci il nome da cercare\n"); scanf("%s",&nome); while(!feof(fp)) { fscanf(fp,"%s",string); if(stricmp(string,nome)==0) { printf("\n"); printf("%s ", string); fscanf(fp,"%s",string); printf("%s ", string); fscanf(fp,"%s",string); printf("%s \n", string); w=1; } else { fscanf(fp,"%s",string); fscanf(fp,"%s",string); } if(feof(fp) && w==0) { printf("\n PERSONA NON PRESENTE NELL'ELENCO\n"); return 0; } } risultato=0; } if(scelta==2 && risultato !=1) { char nomec[20]; char cognomec [20]; char numero [20]; char cerca[20]; printf("inserisci il numero da cercare\n"); scanf("%s",&cerca); while(risultato!=1) { fscanf(fp,"%s",nomec); fscanf(fp,"%s",cognomec); fscanf(fp,"%s",numero); if(strcmp(numero,cerca)==0) { printf("\n"); printf(" ---> "); printf("%s ", nomec); printf("%s ", cognomec); printf("%s \n", numero); risultato=1; return 1; } if(feof(fp)) { printf("\n NUMERO NON PRESENTE NELL'ELENCO\n"); return 0; } } risultato=0; } } } return 0; } main() { FILE *fp; printf("\n"); printf(" +-+-+-+-+-+-+-+-+ R U B R I C A +-+-+-+-+-+-+-+-+\n"); printf("\n"); printf("\n"); printf(" MENU DEI COMANDI:\n"); printf("\n"); printf(" i): inserisci un nuovo numero\n"); printf(" s): stampa tutta la rubrica\n"); printf(" c): cerca \n"); printf(" d): cancella \n"); printf(" ?): stampa il menu\n"); printf(" x): esci dal menu\n"); printf("\n"); printf("Scelta: \n"); char ris; int durata=0; while (durata==0) { scanf("%s",&ris); switch(ris) { case 'i': inserisci(fp); printf(" Sono in attesa... \n"); break; case 's': stampa(fp); printf(" Sono in attesa... \n"); break; case 'c': cerca(fp); printf(" Sono in attesa... \n"); break; case 'd': printf(" Sono in attesa... \n"); break; case '?': printf("\n"); printf(" MENU DEI COMANDI:\n"); printf("\n"); printf(" i): inserisci un nuovo numero\n"); printf(" s): stampa tutta la rubrica\n"); printf(" c): cerca \n"); printf(" d): cancella \n"); printf(" ?): stampa il menu\n"); printf(" x): esci dal menu\n"); printf("\n"); printf("Scelta: \n"); break; case 'x': printf("\n\n\n\n\n"); printf(" +-+-+-+-+-+-+-+-+-+ - Fine Programma - +-+-+-+-+-+-+-+-+-+\n"); printf("\n\n\n\n\n"); printf(" R U B R I C A T E L E F O N I C A \n"); printf("\n P r o f e s c i o n a l !\n"); printf("\n Versione 1.0 "); printf("\n\n\n\n\n\n\n\n\n"); printf("Powered by Flavio Demichelis\n\n"); printf("2003 Tutti i diritti riservati\n\n"); durata=1; break; default: printf(" Scelta non prevista \n"); printf(" Sono in attesa... \n"); break; } } getch (); }