07/01/07 10:50
gismo
Salve a tutti..
ho un problema nel compilare un mio piccolo programma che esegue la simulazione di un circuito RLC..ma nn è questo il problema..
sta di fatto che i risultati della compilazione devo essere scritti nn solo a video ma bensì anche su un file di testo..con la funzione ofstream..
purtroppo quando vado a compilare (con Visual Studio) sono innumerevoli gli errori sintattici che mi si presentano..
vi prego aiutatemi..ho uno spasmotico bisogno di questo programma funzionante, per motivi scolastici..
vi lascio il sorgenti documentato il più possibile
/*Questo è un programma che dati in input dei valori
sviluppi una simulazione del Modello di un circuito RLC.
I risulatati della simulazione, dipendenti da una costante di tempo,
devono essere stampati a video e contemporaneamente devono essere memorizzati
su un file di testo specifico predefinito.
I valori di output da visualizzare sono quelli specificati nel testo dell'esercizio*/
#include <fstream.h>
#include <iostream.h>
#include <math.h>
#include <stdio.h>
#include <stdafx.h>
using namespace std;
int main()
{
//dichiarazione varibili
double Vc=0, dVc=0.0005, I=0, dI=0.005, C=0.0005;
int t=0, VI=10, R=0, L=0, Vin=0;
{//inizio della ofstream
ofstream out("file.txt",ios::app); //giochino del file, ios::app serve per mantenere il file aperto e continuare a scriverci sopra
if (!out); //if di finezza (chiamala finezza!!)
{ cout<<"Il file in scrittura non e aperto"<<endl;
return -1;
}
{//inizio richiesta dati input
cout<<"Inserisci il valore della Vin.. "<<endl;
cin>> Vin;
cout<<"Inserisci il valore della R.. "<<endl;
cin>> Vin;
cout<<"Inserisci il valore della L.. "<<endl;
cin>> Vin;
//cout<<"Inserisci il valore della C.. "<<endl; //Qui non so se deve essere costante o no
//cin>> C;
}
cout<<"Tempo\t Vin\t Vc\t Ic\t"<<endl; //devono essere scritti una volta sola
out<<"Tempo\t Vin\t Vc\t Ic\t"<<endl;
for (t=0; t<=31; t++){ //per far vedere il progresso dei risultati delle espressioni ad ogni incremento della t (costante di tempo)
//poichè ogni risultato in output deve essere scritto e incolonnato una volta nel file e allo stesso modo a video
Vc+=dVc; //inizio delle espressioni
I+=dI;
dVc=(1/C)*I*t;
VI=L*dI/t;
dI=Vin-(R*I)-(Vc/L*t);
printf(t"\t"Vin"\t"Vc"\t"I"\t\n" //inserimento e tabulazione dati a schermo
out<<t"\t"Vin"\t"Vc"\t"I"\t"<<endl; //inserimento e tabulazione dati sul file
out.close();}
}
printf("================================================"
return 0; //questo return nn so se va bene, ma nn è qui il problema..
}
accetto ogni tipo di critica o correzione
grazie mille
gismo
gismo@email.it
ho un problema nel compilare un mio piccolo programma che esegue la simulazione di un circuito RLC..ma nn è questo il problema..
sta di fatto che i risultati della compilazione devo essere scritti nn solo a video ma bensì anche su un file di testo..con la funzione ofstream..
purtroppo quando vado a compilare (con Visual Studio) sono innumerevoli gli errori sintattici che mi si presentano..
vi prego aiutatemi..ho uno spasmotico bisogno di questo programma funzionante, per motivi scolastici..
vi lascio il sorgenti documentato il più possibile
/*Questo è un programma che dati in input dei valori
sviluppi una simulazione del Modello di un circuito RLC.
I risulatati della simulazione, dipendenti da una costante di tempo,
devono essere stampati a video e contemporaneamente devono essere memorizzati
su un file di testo specifico predefinito.
I valori di output da visualizzare sono quelli specificati nel testo dell'esercizio*/
#include <fstream.h>
#include <iostream.h>
#include <math.h>
#include <stdio.h>
#include <stdafx.h>
using namespace std;
int main()
{
//dichiarazione varibili
double Vc=0, dVc=0.0005, I=0, dI=0.005, C=0.0005;
int t=0, VI=10, R=0, L=0, Vin=0;
{//inizio della ofstream
ofstream out("file.txt",ios::app); //giochino del file, ios::app serve per mantenere il file aperto e continuare a scriverci sopra
if (!out); //if di finezza (chiamala finezza!!)
{ cout<<"Il file in scrittura non e aperto"<<endl;
return -1;
}
{//inizio richiesta dati input
cout<<"Inserisci il valore della Vin.. "<<endl;
cin>> Vin;
cout<<"Inserisci il valore della R.. "<<endl;
cin>> Vin;
cout<<"Inserisci il valore della L.. "<<endl;
cin>> Vin;
//cout<<"Inserisci il valore della C.. "<<endl; //Qui non so se deve essere costante o no
//cin>> C;
}
cout<<"Tempo\t Vin\t Vc\t Ic\t"<<endl; //devono essere scritti una volta sola
out<<"Tempo\t Vin\t Vc\t Ic\t"<<endl;
for (t=0; t<=31; t++){ //per far vedere il progresso dei risultati delle espressioni ad ogni incremento della t (costante di tempo)
//poichè ogni risultato in output deve essere scritto e incolonnato una volta nel file e allo stesso modo a video
Vc+=dVc; //inizio delle espressioni
I+=dI;
dVc=(1/C)*I*t;
VI=L*dI/t;
dI=Vin-(R*I)-(Vc/L*t);
printf(t"\t"Vin"\t"Vc"\t"I"\t\n" //inserimento e tabulazione dati a schermo
out<<t"\t"Vin"\t"Vc"\t"I"\t"<<endl; //inserimento e tabulazione dati sul file
out.close();}
}
printf("================================================"
return 0; //questo return nn so se va bene, ma nn è qui il problema..
}
accetto ogni tipo di critica o correzione
grazie mille
gismo
gismo@email.it
aaa