کتابخانهٔ روشن (roshanlib) نسخهٔ 1.0.0.0

این کتابخانه که به زبان C نوشته شده، یک کتابخانهٔ Static است که دارای توابعی جهت تبدیل تاریخ‌های هجری شمسی، هجری قمری، میلادی، عبری و جولین به یکدیگر است. از این کتابخانه در زبان سی و سی++ می‌توان استفاده کرد. مجموعهٔ تمام این توابع درون هدرفایل date_converter.h قابل مشاهده است. بعد از include کردن این هدرفایل براحتی می‌توانید از توابع استفاده کنید. دقت محاسبهٔ این توابع بسیار بالاست. توجه داشته باشید که در تقویم هجری قمری بدلیل رویت مستقیم هلال ماه در اول هر ماه ممکن است ۱ روز خطا داشته باشد؛ که تقریبا همهٔ تقویم‌های محاسباتی با کامپیوتر این مشکل را با تقویم هجری قمری دارند. دقت داشته باشید که ۲۵ تابع محاسبه‌ی تاریخ‌ها به یکدیگر، آرگومان‌ها را با ارجاع، ارسال می‌کند (pass-by-reference). این کتابخانه بوسیله‌ی TDM-GCC 4.4.1-2 کامپایل شده است. این کتابخانه در حال توسعه است و در آینده ویژگی‌های جدیدی به آن اضافه خواهد شد.

یک مثال ساده از نحوهٔ فراخوانی سه تابع از توابع درون این کتابخانه:

#include <stdio.h>
#include <date_converter.h>

int main()
{
    printf("%d\n", leap_persian(1387));

    int d = 8, m = 6, y = 1383;
    persian_islamic(&d, &m, &y);
    printf("%d/%d/%d\n", y, m, d);

    char str[100];
    month_name(str, m, y, ISM);
    printf("%s\n", str);

    return 0;
}

خروجی مثال بالا:

1
1425/7/13
Rajab

توجه داشته باشید که عدد 1 در خروجی، به معنای این است که سال 1387 در تقویم شمسی کبیسه است. اگر یک سال مشخص کبیسه نباشد، خروجی 0 خواهد بود.

نحوهٔ لینک کردن کتابخانه به کامپایلر در محیط IDEها کار ساده‌ای است و می‌توانید بسته به نوع IDE خود، در اینترنت جست‌وجو کنید. همراه با این کتابخانه یک مثال نیز ضمیمهٔ همین صفحه شده که در محیط Code::Blocks نوشته شده است.

MD5 checksums:
969a0020fad0960a410cb786433406fa *roshanlib-v1.0.0.0.zip
1fc70898c144653c1273e4be77d38035 *TEST-roshanlib-v1.0.0.0.zip