PDA

نسخه کامل مشاهده نسخه کامل : دستوري كه باعث مي شود كه برنامه اجرا شده روي صفحه بماند چيست؟



mina555
12-08-2006, 18:47
سلام
من تازه با زبان برنامه نويسي c اشنايي پيدا كرده ام مي خواهم بدانم دستوري كه باعث مي شود كه برنامه اجرا شده روي صفحه بماند چيست مثل دستور readln در آخر برنامه به زبان پاسكال.
مرسي

reza_badii
12-08-2006, 20:23
ببين عزيز اگر بخواي از دستورات ورودي خروجي استفاده كني بايد از ()getch استفاده كني ولي اين دستور اگر به تنهايي استفاده بشه يك مشكلي داره! اونم اينه كه كليدي كه زدي تو بافر صفحه كليد ميمونه و دفعه بعد كه برنامه رو اجرا كني(اگر از تو كامپايلر اجرا كني) برنامه تو اين قسمت متوقف نميشه!

اگر خيلي اصرار داري از اين دستور استفاده كني بايد اول يك متغير char تعريف كني و دستور رو اينطوري بنويسي:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اينطوري محتواي بافر تو متغير c ريخته ميشه و ديگه مشكلي پيش نماد!

مي توني هم از كد زير استفاده كني:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اين كد هم يك لوپ هستش كه هيچ كاري انجام نميده! در واقع صفحه رو نگه مي داره تا يك كليد رو فشار بدي!

هدر فايل اين كدها هم conio هستش:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Ali Alizadeh Mansouri
12-08-2006, 20:48
سلام،
روشهای آقا رضا به خوبی جواب می ده. ولی این مشکل بیشتر از همه با Borland پیش میاد و من هنوز کشف نکردم چرا عده ی زیادی اصرار به استفاده از اون دارند؟؟؟!!!! مخصوصا تو ایران که کپی رایت و کشک اختلاف معنی زیادی با هم ندارند می تونید یه سی دی Visual Studio رو به قیمت 500 تومان خریداری کنید. بدیهی است که بسته ی نرم افزاری مایکروسافت بیشتر از هر بسته ی دیگه ای قابلیت سازگار نمودن نرم افزارهای نوشته شده برای خود نرم افزار این شرکت یعنی ویندوز رو داره.
این غیر امکانات فوق العاده قدرتمند محیط ویرایش، رابط کاربری بسیار مناسب و نیز احاطه ی کامل بر برنامه های توسعه یابنده است. (در پایین ترین سطح من تعداد زیادی از دانشجوها را دیده و می بینم که زمان زیادی صرف نوشتن کد کردن و هنگام تست برنامه، برنامه هنگ کرده و به دنبال اون Borland هم هنگ کرده!!! و چون بورلند خود به خود کد رو سیو نمی کنه کل کارشون رو از دست داده بودند!!)
بنابراین پیشنهاد می کنم حتما از Visual Studio به عنوان یک کامپایلر و بیلدر عالی و مطمئن استفاده نمایید.
موفق باشید.

reza_badii
12-08-2006, 23:18
البته لازم مي دونم يك توضيح براي علي آقا بدم!
نمي دونم شما ساكن كجايي ولي اينجا تو خيلي از دانشگاهها نمي دونم چرا اساتيد رو dos هنگ كردن!
از خودم نمي گم ها!؟!؟ خيلي ديدم!
نمونش خود من براي اين C بلدم چون تو دانشگاه به ما C گفتن! وگرنه الان با C#.NET كار ميكنم كه اصلا كلاس كاريش فرق ميكنه و قابل قياس نيست!
البته اينم بگم كه كار كردن با يك زبان ساختيافته براي شروع ميتونه خيلي مفيد باشه! ديد خوبي به برنامه نويس ميده!

Ali Alizadeh Mansouri
13-08-2006, 00:16
سلام آقا رضا،
منم مثل شما (غیر از اونجایی که زیر اواتارم نوشته و پاره وقت اونجا فعالیت می کنم!!) تهرانم و دانشگاه امیرکبیر. به ما هم C گفتن و در این مورد که زبان ساختیافته ای مثل سی برای شروع کار بهترین گزینه است شکی ندارم و با شما موافقم.
و اینکه متأسفانه تو دانشگاه تدریس به همین جا و نهایتا چند واحد Cpp محدود می شه و آدم خودش باید بره دنبال باقی قضایا.
پیروز باشید.

mina555
13-08-2006, 16:15
مرسي آره من هم به خاطر اينكه توي دانشگاه c تحت داس مي خوانيم دارم ياد مي گيرم وگرنه من خودم هم خيلي علاقه دارم كه #c و غيره ياد بگيرم .

Ali Alizadeh Mansouri
13-08-2006, 23:57
مرسي آره من هم به خاطر اينكه توي دانشگاه c تحت داس مي خوانيم دارم ياد مي گيرم وگرنه من خودم هم خيلي علاقه دارم كه #c و غيره ياد بگيرم .
البته همون طور که قبلا هم ذکر شد بهترین سکو برای شروع یه زبان ساختیافته مثل سی هست و با سی بسیار دشوار (یا شاید غیر ممکن) می شه برنامه با رابط ویندوز نوشت و برای این کار باید از زبانهای شیئ گرا مثل Cpp استفاده کرد.

mina555
14-08-2006, 07:46
الان من با cpp كار مي كنم ولي تحت داسه مي شه كمي برام توضيح بدين
ممنون

Ali Alizadeh Mansouri
14-08-2006, 12:45
الان من با cpp كار مي كنم ولي تحت داسه مي شه كمي برام توضيح بدين
ممنون
سلام،
من منظور شما رو دقیقا متوجه نشدم. اگه منظور شما نگه داشتن برنامه بعد از اجرا است (غیر از محیط ویژوال استودیو که خودش برنامه رو نگه می داره) از همون روشهای قبل (چون cpp از c هم پشتیبانی می کنه) و یا از یه دستور cin ساده می تونید استفاده کنید.
اگه منظور شما توضیح در مورد خود cpp و یا نوشتن برنامه با رابط ویندوزه لطفا بفرمایید تا توضیح بدم.
موفق باشید.

mina555
14-08-2006, 13:18
اگه توضیح بدین ممنون می شم

someone
14-08-2006, 14:10
سلام.
پيشنهاد شما " reza_badii " كاملا درست و عالي بود.
فقط پيشنهاد من اين هست كه از اين كد استفاده نشه.مخصوصا براي توقف برنامه.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دليلش اينه كه بي علت CPU Usage رو 100% ميكنه چون از يك loop براي Hook كردن keyboard Event استفاده ميشه.
در ضمن اگه IDE يا محيط توسعه شما MS Visua Studio هست بهتره از اين شكل دستور استفاده كنيد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید.
همچنين مي تونيد از كد زير:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
cpp يك زبان شي گراي فوق العاده قدرتمند هست وهر كاري رو كه تصور كنيد مي شه با اون انجام داد.اگه واقعا به برنامه نويسي علاقه داريد پيشنهاد ميكنم حتما Cpp رو ادامه بديد.
اگه مي خوايد براي windows برنامه بنويسيد(winApp) كافي كه windows structure & winAPI رو بشناسيد.فقط هرگز عجله نكنيد و Cpp رو خوب تمرين كنيد .مخصوصا oop كه همون برنامه نويسي شئ گرا هست.
class ها از مهمترين مفاهيم oop هستند.
ممنون.

Ali Alizadeh Mansouri
14-08-2006, 14:15
سلام دوباره،
در برنامه نویسی قدیمی شما حتما یک فایل stdio.h یا iostream رو include می کنید و یک تابع main و بقیه ی ماجرا.
برای برنامه نویسی با رابط ویندوز، در واقع برنامه نویسی ویندوز، باید از API(Application Programming Interface) استفاده کنید که یک سری توابع از پیش ساخته توسط خود مایکروسافت است و برای برنامه نویسی تحت ویندوز باید از این توابع استفاده کنید.
این توابع توسط فایل windows.h در برنامه include می شوند و مجموعه ای بسیار غنی برای کار با رابط گرافیکی، فایلها، شبکه، صدا، گرافیک، وغیره فراهم می سازند. همچنین توسط آنها قادر به مدیریت انواع پیشامد (event) های مختلفی خواهید بود که ویندوز به برنامه ارسال می کند. در واقع برنامه نویسی در این سطح وارد مرحله و جریان تازه ای می شود.
در اینجا شما با مفاهیمی مثل message ها، event ها و مدیریت آنها سروکار دارید.
بنابراین قبل از رفتن به این حیطه باید با مفاهیم شیئ گرایی مثل کلاسها و بسته بندی، وراثت و چندریختی آشنایی داشته باشید.
برای یادگیری تمام API ها مدت زیادی زمان لازم است و آموزش آن یک کتاب مرجع کامل در بر می گیرد. ولی یادگیری مفاهیم اولیه ی آن چندان وقت گیر نیست و وقت گذاشتن به اندازه ی یکی دو فصل یک کتاب معمولی زمان خواهد گرفت.
من کتاب فارسی که این مطالب رو به طور مفید آموزش داده باشه نمی شناسم ولی کتابهای لاتین و همین طور e-book های فراوانی در این زمینه وجود دارند.
پیروز باشید.