C++ Developer



در این پروژه میتوان حروفی خاص را در رشته جست و جو کرد و به طور دلخواه آن را با حروفی دیگر جایگزین کرد. این قابلیت به طور معمول در نرم افزارهای واژه پرداز کاربرد دارد. کارکرد کلی به این صورت است که میتوان عبارتی را در متن جست و جو کرد، پس از پیدا کردن آن ارایه‌ای، موقعیت ابتدا و انتهای حروف پیدا شده را در خورد ذخیره می‌کند و سپس میتوان قسمت‌های مشخص (های‌لایت) شده را با حرف یا حروفی جدید جایگزین کرد. برای بهره‌مندی از توضیحات میتواندید هر یک از دو فایل با پسوند cpp. را دریافت کنید. در غیر این صورت فایل را با پسوند hpp. دریافت کرده و به عنوان سرفایل در پروژه خود بکار گیرید.

 

دریافت فایل‌ها:

wordfinder.cpp (پیشنهادی)

wordfinder.cpp

wordfinder.hpp


منبع:

cppdev.blog.ir


در این سری آموزشی، با استفاده از openGL، روابط مثلثاثی و توابع آن (سینوس، کسینوس، تانژانت و.) و کتابخانه cmath کد نویسی خواهیم کرد.

در بخش اول با کمک نقاط A و B و C مثلثی را رسم کرده، طول فاصله‌ی نقاط را بدست آورده و سپس زوایای مثلث را محاسبه می‌کنیم. همچنین برای بدست آوردن زوایای مربوط از تابع مع کسینوس (reverse cosine) استفاده می‌شود.

برنامه‌ای که مینویسیم به گونه‌ای خواهد بود که کار بر با کلیلک کردن بر صفحه، نزدیکترین نقطه (از نقاط A, B, C) به موقعیت نشانگر تغییر مکان خواهد داد. سپس در محیط کنسول، طول پاره خط‌های AB, BC و CA و همیچنین زوایای نقاط A و B و C چاپ خواهد شد.

واحدهای اندازه‌گیری تماماً بر مبنای پیکسل است.

 

void mouse (int btn, int state, int x, int y)
{
    switch (state)
    {
    case GLUT_DOWN:
        if (btn == GLUT_RIGHT_BUTTON)
            exit(0);
        else if (btn == GLUT_LEFT_BUTTON)
        {
            dot1_distance = sqrt (pow((trianglePos[0]-x), 2) + pow((trianglePos[1]-y), 2));
            dot2_distance = sqrt (pow((trianglePos[2]-x), 2) + pow((trianglePos[3]-y), 2));
            dot3_distance = sqrt (pow((trianglePos[4]-x), 2) + pow((trianglePos[5]-y), 2));

            if (dot1_distance < dot2_distance && dot1_distance < dot3_distance)
                pos = 1;
            else if (dot2_distance < dot1_distance && dot2_distance < dot3_distance)
                pos = 2;
            else if (dot3_distance < dot1_distance && dot3_distance < dot2_distance)
                pos = 3;


            if (pos == 1)
            {
                trianglePos[0] = x;
                trianglePos[1] = y;
            }
            else if (pos == 2)
            {
                trianglePos[2] = x;
                trianglePos[3] = y;
            }
            else if (pos == 3)
            {
                trianglePos[4] = x;
                trianglePos[5] = y;
            }
            
            AB = sqrt (pow((trianglePos[2]-trianglePos[3]), 2) + pow((trianglePos[4]-trianglePos[5]), 2));
            BC = sqrt (pow((trianglePos[4]-trianglePos[5]), 2) + pow((trianglePos[0]-trianglePos[1]), 2));
            CA = sqrt (pow((trianglePos[0]-trianglePos[1]), 2) + pow((trianglePos[2]-trianglePos[3]), 2));
            
            A = acos((pow(BC, 2) + pow(CA, 2) - pow (AB, 2))/(2*BC*CA)) * 180 / 3.1415;
            B = acos((pow(AB, 2) + pow(CA, 2) - pow (BC, 2))/(2*AB*CA)) * 180 / 3.1415;
            C = acos((pow(AB, 2) + pow(BC, 2) - pow (CA, 2))/(2*AB*BC)) * 180 / 3.1415;

            system ("cls");
            cout    << "mouse x: " << x << " | mouse y: " << y << endl
                    << "AB: " << AB << " | BC: " << BC << " | CA: " << CA << endl
                    << "A: " << A << " | B: " << B << " | C: " << C << ends;
        }
    break;
    }
}


منبع: cppdev.blog.ir

این مطلب توسط 

GreatMAK نوشته شده است و منبع آن وبلاگ cppdev.blog.ir می باشد.


در این پروژه میتوان حروفی خاص را در رشته جست و جو کرد و به طور دلخواه آن را با حروفی دیگر جایگزین کرد. این قابلیت به طور معمول در نرم افزارهای واژه پرداز کاربرد دارد. کارکرد کلی به این صورت است که میتوان عبارتی را در متن جست و جو کرد، پس از پیدا کردن آن ارایه‌ای، موقعیت ابتدا و انتهای حروف پیدا شده را در خورد ذخیره می‌کند و سپس میتوان قسمت‌های مشخص (های‌لایت) شده را با حرف یا حروفی جدید جایگزین کرد. برای بهره‌مندی از توضیحات میتواندید هر یک از دو فایل با پسوند cpp. را دریافت کنید. در غیر این صورت فایل را با پسوند hpp. دریافت کرده و به عنوان سرفایل در پروژه خود بکار گیرید.

 

دریافت فایل‌ها:

wordfinder.cpp (پیشنهادی)

wordfinder.cpp

wordfinder.hpp

 

لینک گیت‌هاب این پروژه:

https://github.com/greatmak/public/blob/master/word_finder_replacer_withVisualContent.cpp


منبع:

cppdev.blog.ir


در این سری آموزشی، با استفاده از openGL، روابط مثلثاثی و توابع آن (سینوس، کسینوس، تانژانت و.) و کتابخانه cmath کد نویسی خواهیم کرد.

در بخش اول با کمک نقاط A و B و C مثلثی را رسم کرده، طول فاصله‌ی نقاط را بدست آورده و سپس زوایای مثلث را محاسبه می‌کنیم. همچنین برای بدست آوردن زوایای مربوط از تابع مع کسینوس (reverse cosine) استفاده می‌شود.

برنامه‌ای که مینویسیم به گونه‌ای خواهد بود که کار بر با کلیلک کردن بر صفحه، نزدیکترین نقطه (از نقاط A, B, C) به موقعیت نشانگر تغییر مکان خواهد داد. سپس در محیط کنسول، طول پاره خط‌های AB, BC و CA و همیچنین زوایای نقاط A و B و C چاپ خواهد شد.

واحدهای اندازه‌گیری تماماً بر مبنای پیکسل است.

 

void mouse (int btn, int state, int x, int y)
{
    switch (state)
    {
    case GLUT_DOWN:
        if (btn == GLUT_RIGHT_BUTTON)
            exit(0);
        else if (btn == GLUT_LEFT_BUTTON)
        {
            dot1_distance = sqrt (pow((trianglePos[0]-x), 2) + pow((trianglePos[1]-y), 2));
            dot2_distance = sqrt (pow((trianglePos[2]-x), 2) + pow((trianglePos[3]-y), 2));
            dot3_distance = sqrt (pow((trianglePos[4]-x), 2) + pow((trianglePos[5]-y), 2));

            if (dot1_distance < dot2_distance && dot1_distance < dot3_distance)
                pos = 1;
            else if (dot2_distance < dot1_distance && dot2_distance < dot3_distance)
                pos = 2;
            else if (dot3_distance < dot1_distance && dot3_distance < dot2_distance)
                pos = 3;


            if (pos == 1)
            {
                trianglePos[0] = x;
                trianglePos[1] = y;
            }
            else if (pos == 2)
            {
                trianglePos[2] = x;
                trianglePos[3] = y;
            }
            else if (pos == 3)
            {
                trianglePos[4] = x;
                trianglePos[5] = y;
            }
            
            AB = sqrt (pow((trianglePos[2]-trianglePos[3]), 2) + pow((trianglePos[4]-trianglePos[5]), 2));
            BC = sqrt (pow((trianglePos[4]-trianglePos[5]), 2) + pow((trianglePos[0]-trianglePos[1]), 2));
            CA = sqrt (pow((trianglePos[0]-trianglePos[1]), 2) + pow((trianglePos[2]-trianglePos[3]), 2));
            
            A = acos((pow(BC, 2) + pow(CA, 2) - pow (AB, 2))/(2*BC*CA)) * 180 / 3.1415;
            B = acos((pow(AB, 2) + pow(CA, 2) - pow (BC, 2))/(2*AB*CA)) * 180 / 3.1415;
            C = acos((pow(AB, 2) + pow(BC, 2) - pow (CA, 2))/(2*AB*BC)) * 180 / 3.1415;

            system ("cls");
            cout    << "mouse x: " << x << " | mouse y: " << y << endl
                    << "AB: " << AB << " | BC: " << BC << " | CA: " << CA << endl
                    << "A: " << A << " | B: " << B << " | C: " << C << ends;
        }
    break;
    }
}


منبع: cppdev.blog.ir

منبع آن وبلاگ cppdev.blog.ir می باشد.


آخرین ارسال ها

آخرین وبلاگ ها

آخرین جستجو ها