صفحه 1 از 1
تعريف ثوابت در C++
ارسال شده: پنجشنبه ۲۸ آذر ۱۳۸۷, ۱۱:۳۷ ق.ظ
توسط yrpetroodi
سلام....
لطفا برایم توضیح دهید که چه تفاوتی در تعریف ثوابت با دستور #define و const وجود دارد...
ارسال شده: پنجشنبه ۲۸ آذر ۱۳۸۷, ۱۰:۲۱ ب.ظ
توسط samaneh87
سلام دوست عزيز
تفاوت بين اين دو دستور اين است که دستور #define يک دستور پيش پردازنده ميباشد(دستورات پیش پردازنده دستوراتی هستند که قبل از کامپایل برنامه توسط عملیات پیش پردازنده ارزیابی می شوند و عموما جدولی شامل ستونهای شناسه و مقدار را تشکیل می دهند .)معني ديگر تفاوت ثوابتي كه در ابتدا با define مشخص ميشوند با const انستكه : وقتي شما نام مقدار ثابتي را كه در برنامه مشخص كرده ايد به كار ميبريد دقيقا مانند اين است كه ان مقدار ثابت را دوباره نوشته ايد و حافظه اي براي تعريف متغير مانند const را اشغال نميكنيد .
ارسال شده: شنبه ۳۰ آذر ۱۳۸۷, ۱۲:۲۷ ب.ظ
توسط yrpetroodi
سلام...
دوست عزیز samaneh87
از جواب خوبی که به سوالم دادید متشکرم...
لطفا آیا میتوانید در مورد دستور پیش پردازنده #ifndefine یا #ifdefine و #if برایم توضیح دهید....
ارسال شده: شنبه ۳۰ آذر ۱۳۸۷, ۸:۲۹ ب.ظ
توسط samaneh87
سلام دوست عزيز
من پيشنهاد ميکنم اگه ميخواين زبان سي ++ رو خوب ياد بگيرين ابتدا کتاب (چگونه با سي ++برنامه بنويسيم نوشته ي :هاروي ام.ديتل و پل جي.ديتل ترجمه شده ي مهندس حسين ابراهيم زاده قلزم) رو مطالعه کنيد فکر ميکنم تمامه سوالاتتون به راحتي پاسخ داده بشه .
من چند ساله دیگه با سی ++ کار نمیکنم ولی مطمئن هستم اگر این کتاب و تهیه کنید حتما مشکلتون رفع خواهد شد و تا جایی که یادم باشه و بتونم بنده هم کمکتون میکنم .
ارسال شده: یکشنبه ۱ دی ۱۳۸۷, ۱۲:۲۳ ب.ظ
توسط yrpetroodi
سلام دوست عزیز
از توجه و پاسختان به این سوال متشکرم...
من کتاب دیتل را تقریبا کامل خواندم ولی پاسخ مبسوطی به این سوالات پیدا نکردهام ولیکن دوباره آن را مرور خواهم کرد و از راهنماییتان متشکرم....
و اما اگر ممکن است راهنمایی دیگر...
غرض این نیست که روی C++ به صورت حرفه ایی متمرکز شوم . میخواهم برنامه نویسی را با C# یا PHP ادامه دهم ...
لطفا آیا میتوانید در این انتخاب(C# یا PHP) کمکم کنید..
این موضوع را از لحاظ تجاری( درخواست بازار کار) و گستره توانایی های هر یک از این دو(C# , PHP) در انجام کار بیان کنید...
ارسال شده: یکشنبه ۱ دی ۱۳۸۷, ۶:۱۴ ب.ظ
توسط samaneh87
سلام دوست عزيز
اتفاقا من خودمم يه مدت دنباله يه زبان برنامه نويسي خوب بودم که بازار کاري خوبي هم داشته باشه و اکثرا اساتيد و دوستاني که مشغول به کار در اين حيطه بودند زبان برنامه نويسي c# رو معرفي کردند و من خودمم بعد از اتمام امتحاناي پايان ترم قصد دارم برم دنباله زبانه c#.

ارسال شده: یکشنبه ۱ دی ۱۳۸۷, ۶:۲۰ ب.ظ
توسط Mahdi1944
yrpetroodi,
البته توجه داشته باشيد CSharp و PHP در يک کلاس نيستند و PHP برنامه نويسي تحت وب هست در حال که Csharp برنامه نويسي تجاري هست (هر چند در دات نت ميتوان به راحتي کدها رو تبديل کرد مثلا به asp.net)
اگر هدف شما برنامه نويسي تجاري هست، CSharp بهترين انتخاب هست، و PHP هم مناسب براي طراحي سايت و امثال اون، البته محيط توسعهي قابل قبولي براي PHP وجود نداره و برنامه نويسي با اين زبان به مراتب مشکلتر از ديگر زبانها ميباشد
ارسال شده: دوشنبه ۲ دی ۱۳۸۷, ۳:۲۵ ق.ظ
توسط Frogfoot
لطفا آیا میتوانید در مورد دستور پیش پردازنده #ifndefine یا #ifdefine و #if برایم توضیح دهید....
اینها دستوراتی برای کامپایل شرطی هستند. به عنوان مثال، شما کدهایی را برای اشکال یابی به سورس خودتان اضافه می کنید، که مقادیر یکسری متغیر را مرتبا بر روی صفحه نمایش می دهند، تا شما بتوانید با توجه به مقادیر این متغیرها، اشکال برنامه خودتان را پیدا کنید. خب، این کد بدرد نسخه نهایی برنامه نمیخوره، چون فقط برای اشکال یابی توسط برنامه نویس نوشته شده. در همچین حالتی، میشه یک پیش پردازنده، مثلا DEBUG تعریف کرد، و هر جا کدهای مربوط به اشکال یابی وجود داشت، آنها را در بلوک #ifdef قرار داد. در این صورت، هر زمان که بخوایم برنامه را اشکال یابی کنیم، پیش پردازنده DEBUG را تعریف می کنیم، و در نتیجه تمامی کدهایی که با استفاده از #ifdef مشروط به تعریف DEBUG بودند، اجرا می شوند. هر وقت هم که این پیش پردازنده را حذف کنیم، و برنامه را کامپایل کنیم، آن بخش هایی که برای پیش پردازنده DEBUG تعریف شده اند، کامپایل نمی شوند.
مثال:
Please Login or Register to see this code
ارسال شده: دوشنبه ۲ دی ۱۳۸۷, ۳:۴۴ ق.ظ
توسط Frogfoot
PHP یک زبان اسکریپت نویسی تحت وب هست. #C یک زبان چند منظوره مبتنی بر دات نت هست. بر روی سکوی دات نت می تونید Windows Application یا Web Application تولید کنید.
ASP.Net یک تکنولوژی ساخت Web Application مبتنی بر دات نت هست. با توجه به اینکه در دات نت زبان برنامه نویسی اهمیت چندانی نداره، می تونید به وسیله آن با هر زبانی که مبتنی بر دات نت باشد، برنامه نویسی کنید، به همین دلیل، می توانید با #C برنامه های ASP.Net بنویسید.
PHP به اضافه کتابخانه های آزادی که برایش وجود دارند، و وب سرور Apache، به عنوان رقیبی برای ASP.net به اضافه هر زبان دات نتی، به اضافه وب سرور IIS مایکروسافت محسوب می شود.
اکثرا اساتيد و دوستاني که مشغول به کار در اين حيطه بودند زبان برنامه نويسي c# رو معرفي کردند و من خودمم بعد از اتمام امتحاناي پايان ترم قصد دارم برم دنباله زبانه c#
توصیه می کنم بجای اینکه دغدغه انتخاب زبان برنامه نویسی را داشته باشید، روی مفاهیم کلیدی تر، مثل OOP، طراحی بانک اطلاعاتی، الگوریتم ها، و در کنار آنها، چگونگی عملکرد پلت فرمی مثل دات نت، سرمایه گزاری کنید. بعدش برید دنبال Syntax یک زبان خاص. برنامه نویسی که تمام دستورات و متدها و کلاس های #C را بلد باشه، ولی ندونه فرضا CLR دات نت با کدش چه رفتاری را میکنه، یا چطور باید بانک اطلاعاتی اش را طراحی کنه، یا چطور باید طرحی شی گرا داشته باشه، بدرد هیچ کار مفیدی جز انجام تمارین دانشگاهی نمیخوره! این مفاهیم پایه تقریبا در همه زبان ها ثابت هستند، ولی Syntax یک زبان با زبان دیگه ممکن هست از زمین تا آسمون فرق کنه.
در ضمن، این نکته را هم بگم که در ایران چون اکثر پروژه های نرم افزار برای سازمان ها و شرکت ها نوشته میشند، زبانی مثل #C خیلی توی بورس هست، و گرنه بخش اعظمی از نرم افزارهایی که شما در طول روز از آنها استفاده می کنید (مثل فایرفاکس، Internet Explorer, ویندوز, لینوکس, Microsoft Office, Photoshop، و...) همچنان با C\C++ توسعه داده میشند، و هنوز این زبان ها در خارج از ایران بازار بسیار خوبی دارند. البته در ایران هم اگر یک برنامه نویس حرفه ایی ++C باشید، امکان استخدامتان زیاد هست، چون در این زمنیه متخصصان چندانی در کشور وجود نداره، و حجم زیادی از کدهای منتشر شده در اینترنت و مکان های مختلف، همچنان با این زبان ها نوشته شدند، پس نیاز به متخصصان آنها احساس میشه. معمولا این شرکت ها شرکت های فنی و تخصصی هستند، ولی برای تقریبا در همه شرکت های نرم افزاری ایران جایی پیدا میشه، از طرفی برنامه نویسان مدعی بلد بودن #C هم محدوده وسیعی را شامل میشند: از برنامه نویسی که هیچی سرش نمیشه، و فقط کار کردن با موس و نوشتن چند خط کد به کمک Intelisense ویژوال استودیو را بلد هست، تا برنامه نویسی که کاملا روی طراحی نرم افزارهای Enterprise تسلط داره.