Advertisement
Guest User

telefono

a guest
Jan 17th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5. #define NOMEFILE "conto.dat"
  6. #define NT 10
  7.  
  8. int main()
  9. {
  10. int sec, flag=0;
  11. float costo, sec_tot, maxdur;
  12. char numero_telefonico[NT], numtelfile[NT];
  13. char ent, data[NT], maxdata[NT], usen;
  14. FILE *fp;
  15. fp=fopen("conto.dat", "r");
  16. if(fp==NULL){
  17. printf("ERRORE: Impossibile trovare il file.");
  18. return -1;
  19. }
  20. printf("Benvenuto!\nPremere un tasto per inserire un numero,\naltrimenti premi ESC per uscire.\n");
  21. while(scanf("%c", &ent)){
  22. if(ent==32){
  23. break;
  24. }
  25. costo=0.0;
  26. sec_tot=0.0;
  27. maxdur=0.0;
  28. printf("Inserire un numero telefonico:\n");
  29. scanf("%s", numero_telefonico);
  30. printf("numero_telefonico=");
  31. puts(numero_telefonico);
  32. while(fscanf(fp, "%s %s %d %c", numtelfile, data, &sec, &usen)!=EOF){
  33. printf("numtelfile=%s\nnumero_telefonico=%s\ndata=%s\nsec=%d\nusen=%c\n", numtelfile, numero_telefonico, data, sec, usen);
  34. if(strcmp(numtelfile, numero_telefonico)==1&&usen=='U'){
  35. printf("SI\n");
  36. flag=1;
  37. costo=costo+0.20+(ceil(sec/60)*0.12);
  38. printf("costo=%.2f\n", costo);
  39. sec_tot=sec_tot+sec;
  40. printf("sec_tot=%.2f\n", sec_tot);
  41. if(sec>maxdur*60){
  42. maxdur=sec;
  43. printf("maxdata=%s", maxdata);
  44. strcpy(data,maxdata);
  45. printf("maxdata=%s", maxdata);
  46. }
  47. }
  48. }
  49. sec_tot=sec_tot/60;
  50. maxdur=maxdur/60;
  51. if(flag==1){
  52. printf("Tempo totale chiamate in uscita: %.2f minuti\n", sec_tot);
  53. printf("Chiamata in uscita piu' lunga: %.2f minuti effettuata il %s", maxdur, maxdata);
  54. printf("Costo totale chiamate in uscita: %.2f Euro\n", costo);
  55. }
  56. else{
  57. printf("Non sono state riscontrate chiamate in uscita verso il numero inserito.\n");
  58. }
  59. printf("--------------------------------\nPremere un tasto per inserire un altro numero,\naltrimenti premere ESC per uscire.\n");
  60. fclose(fp);
  61. }
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement