Ciao a tutti,
sto provando a costruire un programma che mi dia il risultato di questa operazione "t = t + dt"
con "t" che parte da zero e "dt" che scelgo io insieme al valore massimo da raggiungere per poi visualizzare tutti i risultati intermedi.Fino a qui non ci sono problemi.
Il problema vero e proprio è fare in modo che il programma in uscita non mi dia tutti i valori di "t" passo dopo passo (cioè dt dopo dt) ma vorrei che mi facesse visualizzare solo i valori che voglio io.Ad esempio se "dt=0.5" il programma calcolerà "t=0.5" poi "t=1" poi "t=1.5" e così via fino al valore che voglio(per es 20) ma visualizzera i risultati ad un passo 5.Nel programma ho pensato di fornire da tastiera il numero di stampe "nstampe"che deve essere visualizzato e il programma calcola il passo.Non riesco però a ottenere nulla...mi date una mano? ecco il programma:
#include <iostream>
#include <iomanip>
using namespace std;
typedef float dp;
dp t,dt,d;
void loop(dp t,dp tstampa,dp nstampe);
void calc (dp t, dp dt,dp d);
void inizia();
int main () {
dp d,h,tstampa,nstampe;
cout<<"dimmi quando fermarmi"<<endl;
cin>>d;
cout<<"dammi ora dt"<<endl;
cin>>dt;
cout<<"dammi nstampe"<<endl;
cin>>nstampe;
tstampa=d/nstampe;
loop(t,tstampa,nstampe);
}
void inizia(){
t=0;
}
void calc (dp t, dp dt,dp d){
while (t<d){
t = t + dt;
}
}
void loop(dp t,dp tstampa,dp nstampe){
int i;
for(i=1;i<=nstampe;i++){
calc(t+tstampa);
cout<<setw(4)<<i<<setw(6)<<t<<setw(10)<<tstampa<<endl;
}
}