예제 #1
0
파일: Percentile.cpp 프로젝트: niqt/Alice
QString Percentile::getMaleHead(QDateTime birthday, double measure)
{
    QString a;
    a = "Unknown";
    if (isweekMinorOf13(birthday.date())) {
        int nweek = week(birthday.date());
        if (maleMapHead13Week == NULL)
            maleMapHead13Week = new PercentileMap(":/tab_hcfa_boys_p_0_13.txt", this);
        Interval percentile = maleMapHead13Week->find(nweek, measure);

        a = intervalString(percentile);
    }else {
        int nmonth = month(birthday.date());
        if (nmonth >= 0 && nmonth <= 60) {

            if (maleMapHead5Year == NULL)
                maleMapHead5Year = new PercentileMap(":/tab_hcfa_boys_p_0_5.txt", this);
            Interval percentile = maleMapHead5Year->find(nmonth, measure);
            a = intervalString(percentile);
        }

    }

    return a;
}
예제 #2
0
파일: Percentile.cpp 프로젝트: niqt/Alice
QString Percentile::getFemaleWeight(QDateTime birthday, double measure)
{
    QString a;
    a = "Unknown";

    qDebug() << "IN getFemaleWeight "  << endl;

    if (isweekMinorOf13(birthday.date())) {
        int nweek = week(birthday.date());
        if (femaleMapWeight13Week == NULL)
            femaleMapWeight13Week = new PercentileMap(":/data/tab_wfa_girls_p_0_13.txt", this);
        Interval percentile = femaleMapWeight13Week->find(nweek, measure);

        a = intervalString(percentile);

    }else {
        int nmonth = month(birthday.date());

        if (nmonth >= 0 && nmonth <= 60) {
            if (femaleMapWeight5Year == NULL)
                femaleMapWeight5Year = new PercentileMap(":/data/tab_wfa_girls_p_0_5.txt", this);
            Interval percentile = femaleMapWeight5Year->find(nmonth, measure);

            qDebug() << "PErcemtila " << percentile << endl;

            a = intervalString(percentile);
        }
    }

    return a;
}
예제 #3
0
파일: Percentile.cpp 프로젝트: niqt/Alice
QString Percentile::getFemaleHeight(QDateTime birthday, double measure)
{
    QString a;
    a = "Unknown";
    if (isweekMinorOf13(birthday.date())) {
        int nweek = week(birthday.date());
        if (femaleMapHeight13Week == NULL)
            femaleMapHeight13Week = new PercentileMap(":/data/tab_lhfa_girls_p_0_13.txt", this);
        Interval percentile = femaleMapHeight13Week->find(nweek, measure);

        a = intervalString(percentile);
    }else {
        int nmonth = month(birthday.date());
        if (nmonth < 25) {
            if (femaleMapHeight2Year == NULL)
                femaleMapHeight2Year = new PercentileMap(":/data/tab_lhfa_girls_p_0_2.txt", this);
            Interval percentile = femaleMapHeight2Year->find(nmonth, measure);
            fprintf(stdout, "percentile %d", percentile);
            fflush(stdout);

            a = intervalString(percentile);
        } else if (nmonth >= 25 && nmonth <= 60) {
            if (femaleMapHeight5Year == NULL)
                femaleMapHeight5Year = new PercentileMap(":/data/tab_lhfa_girls_p_2_5.txt", this);
            Interval percentile = femaleMapHeight5Year->find(nmonth, measure);
            a = intervalString(percentile);
        }
    }

    return a;
}
예제 #4
0
파일: global.c 프로젝트: Cloudxtreme/x3
static GLOBAL_FUNC(cmd_list)
{
    struct globalMessage *message;
    struct helpfile_table table;
    unsigned int length, nn;

    if(!messageList)
    {
	global_notice(user, "GMSG_NO_MESSAGES");
        return 1;
    }

    for(nn=0, message = messageList; message; nn++, message=message->next) ;
    table.length = nn+1;
    table.width = 5;
    table.flags = TABLE_NO_FREE;
    table.contents = calloc(table.length, sizeof(char**));
    table.contents[0] = calloc(table.width, sizeof(char*));
    table.contents[0][0] = "ID";
    table.contents[0][1] = "Target";
    table.contents[0][2] = "Expires";
    table.contents[0][3] = "From";
    table.contents[0][4] = "Message";

    for(nn=1, message = messageList; message; nn++, message = message->next)
    {
        char buffer[64];

        table.contents[nn] = calloc(table.width, sizeof(char*));
        snprintf(buffer, sizeof(buffer), "%lu", message->id);
        table.contents[nn][0] = strdup(buffer);
        table.contents[nn][1] = messageType(message);
        if(message->duration)
            intervalString(buffer, message->posted + message->duration - now, user->handle_info);
        else
            strcpy(buffer, "Never.");
        table.contents[nn][2] = strdup(buffer);
        table.contents[nn][3] = message->from;
	length = strlen(message->message);
	safestrncpy(buffer, message->message, sizeof(buffer));
	if(length > (sizeof(buffer) - 4))
	{
	    buffer[sizeof(buffer) - 1] = 0;
	    buffer[sizeof(buffer) - 2] = buffer[sizeof(buffer) - 3] = buffer[sizeof(buffer) - 4] = '.';
	}
        table.contents[nn][4] = strdup(buffer);
    }
    table_send(global, user->nick, 0, NULL, table);
    for (nn=1; nn<table.length; nn++)
    {
        free((char*)table.contents[nn][0]);
        free((char*)table.contents[nn][2]);
        free((char*)table.contents[nn][4]);
        free(table.contents[nn]);
    }
    free(table.contents[0]);
    free(table.contents);

    return 1;
}