コード例 #1
0
ファイル: calc.cpp プロジェクト: elmirador/calc
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()));
}
コード例 #2
0
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);
}