
se uso SOLO il tuo codice funziona... se lo metto nel mio programma no -.- xkè? ^^
codice:
#include <kcmdlineargs.h>
#include <kaboutdata.h>
#include <klocale.h>
#include <stdio.h>
#include <iostream.h>
#include <vector>
#include <string>
#include "cfr.h"
char fName[100];
double vtime[10000], T1[10000], T2[10000], V[10000], i[10000], c;
int current = 0;
int cWidget = 0;
using namespace std;
FILE *fopen();
inline double LeggiDouble(FILE *f) {
int LetturaIniziata = 0;
double N = 0;
char ch = 0;
int noVirgola = -1;
double Divisore = 1;
while (isdigit(ch) || !LetturaIniziata || ch == '.' || ch == ',') {
ch = fgetc(f);
//putc(ch, stdout);
if (feof(f))
return (N/Divisore);
if (isdigit(ch)) {
if (!LetturaIniziata)
LetturaIniziata = -1;
N *= 10;
N += (ch-'0');
if (!noVirgola) {
Divisore *= 10;
};
}
else if (LetturaIniziata && (ch=='.' || ch==',')) {
//cout << " Virgola! " << endl;
noVirgola = 0;
};
};
return (N/Divisore);
}
static const char *description =
I18N_NOOP("CFR");
// INSERT A DESCRIPTION FOR YOUR APPLICATION HERE
static KCmdLineOptions options[] =
{
{ 0, 0, 0 }
// INSERT YOUR COMMANDLINE OPTIONS HERE
};
int main(int argc, char *argv[])
{
KAboutData aboutData( "cfr", I18N_NOOP("CFR"),
VERSION, description, KAboutData::License_GPL,
"(c) 2004, Alessandro Zucca", 0, 0, "alessandro_zucca@hotmail.com");
aboutData.addAuthor("Alessandro Zucca",0, "alessandro_zucca@hotmail.com");
KCmdLineArgs::init( argc, argv, &aboutData );
KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
//codice da eseguire in console
FILE *file1;
cout << "Cold Fusion Reaction" << endl << "Software di analisi dati - v0.1" << endl;
cout << endl << "Inserire il percorso del file contenente i dati da analizzare" << endl;
cin >> fName;
file1 = fopen(fName, "r");
while (feof(file1) == 0) {
vtime[current] = LeggiDouble(file1);
V[current] = LeggiDouble(file1);
T1[current] = LeggiDouble(file1);
T2[current] = LeggiDouble(file1);
c = LeggiDouble(file1); //dT
i[current] = LeggiDouble(file1);
c = LeggiDouble(file1); //oscillazioni
current++;
}
current--;
cout << endl << vtime[40] << i[40] << endl;
cin >> c;
fclose(file1);
//codice form (qwidget)
//KApplication a[5];
//CFR *cfr = new CFR();
int exit = 0;
while (exit != 1) {
//a[cWidget].setMainWidget(cfr);
//cfr->show();
printf("Uscire? (0/1) \n");
//fflush(stdin);
scanf("%d", &exit);
}
cout << "uscire..." << endl;
getchar();
return(0);
}