مطالعه موردی کلاسها: آرایه پویا
نوشته شده توسط مدیر سایت چهارشنبه 27 آبان 1388 ساعت 23:28
تعریف این کلاس در لیست زیر آمده است:
تمرین ششم درس برنامه نویسی پیشرفته
نوشته شده توسط مدیر سایت سه شنبه 26 آبان 1388 ساعت 13:22
در برنامه نمایش تصویر دیدیم که می توان مختصات نقطه ای که تصویر از آنجا نقاشی شود و طول و عرضی که باید اشغال کند را به دلخواه تغییر داد. می خواهیم این پارامترها را از کاربر بگیریم. یعنی دو مختصات x و y که نقطه شروع را تعیین کنند و دو پارامتر طول و عرض که طول و عرض نمایش تصویر را مشخص کنند. برای این منظور یک دیالوگ به برنامه نمایش تصویر اضافه کنید که چهار پارامتر فوق را از کاربر بگیرد (مثلا یک منوی تنظیمات اضافه کنید که با کلیک روی آن دیالوگ فوق باز شود) ضمنا این چهار پارامتر را به صورت باینری در یک فایل با نام settings.bin ذخیره کنید و در اجرای بعدی برنامه آنها را خوانده و اعمال کنید. برای دیدن مثال، ادامه مطلب را ببینید.
مثال پانزدهم: برنامه نمایش تصویر
نوشته شده توسط مدیر سایت سه شنبه 26 آبان 1388 ساعت 13:16
مثال پانزدهم از درس برنامه نویسی پیشرفته
در این مثال به کمک MFC یک برنامه تک سندی (SDI) ایجاد کرده ایم که قابلیت بازکردن و نمایش تصاویر را دارد.
پروژه درس برنامه نویسی پیشرفته C++
آخرین به روز رسانی در سه شنبه 26 آبان 1388 ساعت 10:07 نوشته شده توسط مدیر سایت جمعه 22 آبان 1388 ساعت 19:46
پروژه اول (احتمالا 9 نمره):
به کمک MFC یک پروژهی مبتنی بر دیالوگ بنویسید که یک رشته ریاضی از کاربر بگیرد و آن را تحلیل و ترسیم کند.
امکاناتی که باید برنامه داشته باشد:
- رشته مذکور می تواند شامل عملگرهای اصلی، عملگر توان ^، پرانتز و توابع sin, cos, tan, log, log10, sqrt, abs, sinh, cosh و tanh باشد.
- تقدم عملیات به کمک پرانتزها رعایت شود.
- تعیین محدودهی نمایش منحنی (مقادیر حداقل و حداکثر برای محورهای x و y)
- امکان نمایش گراف به سه صورت: خطی، نقطه ای و میله ای
- امکان نمایش و عدم نمایش علائم راهنمای گراف (برچسبهای محور x و y، عنوان محورها، گرید زمینه گراف)
- وجود گرافی در زیر گراف اصلی برای نمایش تبدیل فوریه گراف رسم شده.
- قابلیت باز کردن فایل صوتی فشرده نشده (wav) و نمایش کامل سیگنال و تبدیل فوریه آن
- اختیاری: قابلیت بزرگنمایی در راستای محور افقی (1 نمره اضافی)
مثالی از یک رشته ورودی احتمالی:
2*sin(x) + (3x^2+3)*8^(1/3)+2*sqrt(log10(x))
پروژه دوم (احتمالا 10 نمره):
به کمک MFC یک پروژه چند سندی بنویسید که بتواند تصاویر را باز کند و قابلیتهای زیر را داشته باشد:
- امکان باز کردن تصاویر با فرمتهای jpg، bmp، png و gif
- امکان چرخش تصویر ورودی با زاویه دلخواه
- امکان تغییر اندازه (resize) دلخواه
- امکان تغییر میزان روشنایی و کنتراست تصویر
- امکان نمایش تصویر به صورت رنگی، خاکستری و سیاه سفید
- امکان گرفتن تبدیل فوریه دو بعدی و نمایش آن
- امکان اعمال یک فیلتر دلخواه 5*5 به تصویر و نمایش خروجی آن
- امکان باز کردن چندین تصویر
- اختیاری: قابلیت دریافت تصویر از اسکنر (1 نمره اضافی)
نکته: به طور مستقیم حق استفاده از کتابخانه هایی غیر از MFC را ندارید
راهنمایی: برای باز کردن تصاویر می توانید از کلاس CImage واقع در فایل سرآیهی AtlImage.h استفاده کنید.
نحوه ارزیابی:
1. میزان کامل بودن امکانات خواسته شده
2. نحوه نوشتن کد: خوانایی، استفاده درست از اشاره گرها، توابع و کلاسها
3. بهینه بودن کد: از نظر سرعت اجرا و مدیریت حافظه (عدم نشت حافظه)
4. نحوه طراحی رابط کاربری: سهولت و زیبایی
5. مدیریت استثنائات (ورودیهای نامناسب مثلا اگر کاربر به جای 2*sin(x) عبارت 2sinx وارد کند)
تفاوت ارسال پارامترهای تابع به صورت مقدار، ارجاع و اشاره گر
نوشته شده توسط مدیر سایت چهارشنبه 20 آبان 1388 ساعت 18:36
ارسال پارامتر به صورت مقدار
ادامه مطلب: تفاوت ارسال پارامترهای تابع به صورت مقدار، ارجاع و اشاره گر
مطالب بیشتر...
- سورس کد مثالهای 13 و 14 مربوط به مبحث MFC
- اسلاید: جلسات سوم و چهارم از MFC
- کلاسها در ++C: بخش سوم چگونگی تعریف اشیاء و استفاده از توابع عضو
- کلاسها در ++C: بخش دوم نحوه تعریف کلاس
- کلاسها در C++: بخش اول مقدمهای بر شیءگرایی
- سورس کد مثالهای یازدهم و دوازدهم - MFC
- تمرین پنجم درس برنامه نویسی پیشرفته
- اسلاید: کتابخانه MFC بخش دوم
- اسلاید: وراثت و چندریختی در C++
- سورس کد مثالهای 9 و 10 - کلاسها و شیءگرایی
- تمرین چهارم درس برنامه نویسی پیشرفته C++
- اسلاید: مباحث پیشرفته توابع در C++
- تخصیص و آزاد سازی حافظه با استفاده از عملگرهای new و delete
- سورس کد مثالهای هفتم و هشتم
- اسلاید مبحث کلاسها و شیءگرایی در C++
- نحوه ارسال تمرین ها
- نحوه استفاده از توابع در C++
- اشاره گرها در سی پلاس پلاس | C++ Pointers
- تمرین سوم درس برنامه نویسی پیشرفته
- نقش دکمه جستجو در سایت
صفحه 2 از 12




