Guest User

Untitled

a guest
Jun 20th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. #include "oph.h"
  2.  
  3. void StampaFile (FILE *fp) {
  4. char c;
  5.  
  6. printf("CONTENUTO DEL FILE 'anagrafe.txt'\n\n");
  7. fp = fopen("anagrafe.txt","r");
  8. if (fp==NULL) printf("\nERRORE NELL' APERTURA DEL FILE\n");
  9. else while ((c=fgetc(fp))!=EOF) printf("%c",c);
  10. fclose(fp);
  11. }
  12.  
  13. void LeggiFile (FILE *fp, dipendente *vet, int *nPtr) {
  14. int i;
  15.  
  16. fp = fopen("anagrafe.txt","r");
  17. if (fp==NULL) printf("\nERRORE NELL' APERTURA DEL FILE\n");
  18. else {
  19. i = 0;
  20. while (!feof(fp)) {
  21. fscanf(fp,"%s%s%d",&vet[i].cognomeDip,&vet[i].nomeDip,&vet[i].stipAnnuo);
  22. i++;
  23. }
  24. *nPtr = i;
  25. }
  26. fclose(fp);
  27. }
  28.  
  29. void StampaDipendenti (dipendente *vet, int num) {
  30. int i;
  31.  
  32. printf("\n\nDIPENDENTI CARICATI NEL VETTORE\n");
  33. for (i=0;i<num;i++) {
  34. printf("\nDIPENDENTE %d\n",i+1);
  35. printf("\nCognome: %s",vet[i].cognomeDip);
  36. printf("\nNome: %s",vet[i].nomeDip);
  37. printf("\nStipendio annuo: %d\n",vet[i].stipAnnuo);
  38. }
  39. }
  40.  
  41. void RicercaDipendente (dipendente *vet, int num, int *posizPtr) {
  42. int m, inf, sup, posizione, val;
  43. char car;
  44. boolean trovato;
  45.  
  46. printf("\nRICERCA DI UN DIPENDENTE PER STIPENDIO ANNUO\n");
  47. printf("\nInserisci lo stipendio annuo da ricercare: ");
  48. scanf("%d%c",&val,&car);
  49. posizione = -1;
  50. inf = 0;
  51. sup = num - 1;
  52. trovato = FALSE;
  53. while ((inf<sup)&&(trovato==FALSE)) {
  54. m = (inf + sup) / 2;
  55. if (val==vet[m].stipAnnuo) {
  56. trovato = TRUE;
  57. posizione = m;
  58. }
  59. else if (val<vet[m].stipAnnuo) sup = m - 1;
  60. else if (val>vet[m].stipAnnuo) inf = m + 1;
  61. }
  62. *posizPtr = posizione;
  63. }
  64.  
  65. void StampaVal (dipendente *vet, int posiz) {
  66. if (posiz==-1) printf("\nNON ESISTE UN DIPENDENTE CON STIPENDIO UGUALE A VAL\n");
  67. else if (posiz>=0) {
  68. printf("\nDIPENDENTE TROVATO\n");
  69. printf("\nCognome: %s",vet[posiz].cognomeDip);
  70. printf("\nNome: %s",vet[posiz].nomeDip);
  71. printf("\nStipendio annuo: %d\n",vet[posiz].stipAnnuo);
  72. }
  73. }
Add Comment
Please, Sign In to add comment