• Source
    1. #include<stdio.h>
    2. #include<stdlib.h>
    3. #include<math.h>
    4. int main(){
    5. float v1,v2; //velocità 1 partirà da 6 gbit/sec ..v2 sarà la variabile che conterrà i valori delle altre 2 velocità
    6. int resto,ore,min,sec; //variabili per il calcolo da secondi a ore min sec
    7. int i2=1; //indice per ore min sec
    8. int i=0; //indice per hd
    9. float hd1,hd2; //hd1 =500 GByte ...hd2 = 1TByte
    10. hd1=500*1024; //GByte a MB
    11. hd2=hd1*2; //1 TByte espresso in MByte
    12. v1=((6*pow(10,9))/8)/pow(1024,2);// da Gbit/s a bit/sec a byte/sec a MByte/s
    13. while (i>=0 && i <2){ //ciclo per passare da un dispositivo ad un altro HD1 HD2
    14. if (i==0){
    15. printf("\n\n Hard disk %d\n Capacita': %.0f MByte\n",i,hd1);
    16. }
    17. else{
    18. printf("\n\n Hard disk %d\n Capacita': %.0f MByte\n",i,hd2);
    19. }
    20. i2=0; //inizializzo variabili per il prossimo ciclo che calcola le ore
    21.  
    22. while(i2>=0 &&i2<3){ //in entra con 0 ed esce con 3 ...il ciclo viene ripetuto 3 volte
    23. v2=v1/(pow(2,i2)); // 2^0=1..2^1=2..2^2=4...6/1=6...6/2=3...6/4=1.5...le velocità sono tutte una la metà della velocità precedente
    24. printf("\n - Velocità di trasferimento = %.3f MByte/sec \n",v2);
    25. if(i==0){
    26. sec=hd1/v2; //se la i è 1 calcola sec HD1
    27. }
    28. else{
    29. sec=hd2/v2; //altrimenti dell'HD2
    30. }
    31. ore= sec/3600; //ore
    32. resto=sec%3600;
    33. min=resto/60 ; //minuti
    34. sec=resto%60; //secondi
    35. printf(" Tempo stimato per il trasferimento : %d:%d:%d\n\n",ore,min,sec); //stampa il tempo di trasferimento di hd[i] con v[i2]
    36. i2++;
    37. }
    38. i++;
    39. }
    40. }