calc::calc(QWidget *parent) : QMainWindow(parent) { setupUi(this); setFixedSize(sizeHint()); clearall(); connect (Button1,SIGNAL(clicked()),this,SLOT(add1())); connect (Button2,SIGNAL(clicked()),this,SLOT(add2())); connect (Button3,SIGNAL(clicked()),this,SLOT(add3())); connect (Button4,SIGNAL(clicked()),this,SLOT(add4())); connect (Button5,SIGNAL(clicked()),this,SLOT(add5())); connect (Button6,SIGNAL(clicked()),this,SLOT(add6())); connect (Button7,SIGNAL(clicked()),this,SLOT(add7())); connect (Button8,SIGNAL(clicked()),this,SLOT(add8())); connect (Button9,SIGNAL(clicked()),this,SLOT(add9())); connect (Button0,SIGNAL(clicked()),this,SLOT(add0())); connect (backButton,SIGNAL(clicked()),this,SLOT(delnum())); connect (pointButton,SIGNAL(clicked()),this,SLOT(insertpoint())); connect (plusButton,SIGNAL(clicked()),this,SLOT(plus())); connect (minusButton,SIGNAL(clicked()),this,SLOT(minus())); connect (multiplyButton,SIGNAL(clicked()),this,SLOT(multiply())); connect (divideButton,SIGNAL(clicked()),this,SLOT(divide())); connect (equalButton,SIGNAL(clicked()),this,SLOT(equal())); connect (CButton,SIGNAL(clicked()),this,SLOT(clearall())); connect (actionAbout_Qt,SIGNAL(triggered()),this,SLOT(about())); connect (actionExit,SIGNAL(triggered()),this,SLOT(close())); connect (pmButton,SIGNAL(clicked()),this,SLOT(togglepm())); }
void readandcalcspline(FILE *infile, const char *inname, int d, double xstep, double llimit, double ulimit, int calclimit, int verbose, int *s) /* s is the dataset number */ { int n, l; char *line; if (infile != stdin) { infile=fopen(inname, "r"); if (infile == NULL) { fprintf(stderr, "%s: can't open \"%s\": %s.\n", progname, inname, strerror(errno)); return; } } if (verbose) printf("# %s\n", inname); /* Read the points and build an array with the samples (using insertpoint()). */ n=0; l=0; x=NULL; y=NULL; line=NULL; do { char *il; if (line != NULL) free(line); line=gettextline(infile); il=line; l++; if (il != NULL) while (isspace(*il)) il++; if ((line == NULL) || (il[0] == '\0')) { if (n > 0) { if (*s > 0) printf("\n"); calcspline(n, d, xstep, llimit, ulimit, calclimit); (*s)++; free(x); free(y); x=y=NULL; n=0; } } else if (il[0] != '#') { int k; /* number of values */ double f1, f2; /* doubleing point numbers */ /* read point */ k=sscanf(line, "%lf %lf", &f1, &f2); if (k < 1) fprintf(stderr, "%s:%s:%d: parse error at '%s'\n", progname, inname, l, line); else if (k==1) insertpoint(inname, llimit+n*xstep,f1,&n); /* Auto xscale */ else insertpoint(inname,f1,f2,&n); } } while (line != NULL); if (infile != stdin) fclose(infile); }