Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #define m 0.004
- #define a 13.5
- #define vmax 327
- #define consumo 0.07
- #define densita 0.72
- void stampa(double[], double, int);
- void stampa(double massa[], double Icarburante, int i){
- FILE *fp;
- if((fp=fopen("report.txt", "w"))==NULL){
- printf("Errore nell'apertura del file report.txt\n");
- exit(EXIT_FAILURE);
- }
- fprintf(fp, "Carburante imbarcato = %lf l \nMassa finale = %lf kg \nMassa dell'auto a metà del percorso = %lf kg\n", Icarburante, massa[i-1]-80, massa[i/2]-80);
- }
- main(){
- int i;
- double carburante, Icarburante, dvt=0., dt, dv, mt=605., massa[300]={0}, velocita[300]={0};
- srand48(time(0));
- printf("Inserisci la quantita' di carburante che vuoi inserire nella vettura e ricorda che il valore deve variare tra 0 l e 195 l.\n carburante = ");
- scanf("%lf", &carburante);
- while(carburante<0 || carburante>195){
- printf("Il valore inserito è errato. Inseriscilo nuvamente.\n carburante = ");
- scanf("%lf", &carburante);
- }
- Icarburante=carburante;
- for(i=0, dt=0.; dvt<vmax && carburante>0.; dt+=0.1, i++){
- massa[i]=mt+carburante*densita;
- dvt=(a - m*(mt+carburante*densita))*dt*(((double)lrand48()/RAND_MAX)*0.2+0.9);
- carburante=carburante-consumo/(10.*densita);
- velocita[i]=dvt;
- }
- printf("Velocità raggiunta = %lf m/s \nTempo trascorso = %lf s \n", dvt, (dt*10.));
- stampa( massa, Icarburante, i );
- }
Advertisement
Add Comment
Please, Sign In to add comment