ورود

نسخه کامل مشاهده نسخه کامل : چند سوال در مورد نوشتن برنامه ي ساعت



mahdi7s
28-11-2008, 17:02
راستش من فكر مي كردم نوشتن ساعت كار آسوني باشه به همين دليل يه شروع به نوشتنش كردم ولي در هين نوشتن سوالاتي واسم پيش اومده لطفا جواب بدين
1)چجوري ميشه سرعت حلقه رو تنظيم كرد به طوري كه با اين سرعت نچرخه(تو اين ساعت هنوز صبح نشده شب شده!)؟
2)چجوري ميشه كاري كرد كه وقتي يه چيزي برنامه چاپ كرد و خواست قسمت دوم رو چاپ كنه قسمت اول از رو صفحه ي نمايش پاك بشه بعدش قسمت دوم در جاي قسمت اول چاپ بشه؟

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

hamidreza_buddy
28-11-2008, 23:27
این کدی که شما نوشتین چون به سرعت حلقه ها ربط داره ساعت صحیحی نیست. یعنی اگر این برنامه رو روی یه کامپیئتر پر سرعت اجرا کنی خیلی سریع تر از یک کامپیوتر کم سرعت اجرا میشه.
همچنین حتی وقتی رو یه کامپیوتر دو بار اجراش می کنی ممکنه با همون سرعت کار نکنه (به دلیل تعداد پردازش ها و استفاده از حافظه مجازی در سیستم عامل)

در سی با استفاده از تابع clock می تونی بوسیله کلاک زدن های سی پی یو یه بازه زمانی دلخواه برسی. چون کلاک های سی پی یو فرکانس ثابتی دارند.
اینجا یه توضیحی دادم:

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

hamidreza_buddy
28-11-2008, 23:31
در ضمن در سی، تابعی به نام gotoxy هست که می توان بوسیله آن به یکی از خط های صفحه کنسول رفت (فکر می کنم 26*80 باشه صفحه کنسول). اگر ابتدا با gotoxy بری به یه محل و یه چیزی رو چاپ کنی رو محتویات قبلی چاپ می کنه.

البته فکر می کنم این تابع فقط توی توربو سی کار می کنه و نه در ویژوال سی پلاس پلاس. من هم یک بار همچین مشکلی داشتم و توی ویژوال مجبور شدم بعد از اینکه هر بار داده هام جدید می شدند clrscr (کلیر اسکرین) می کردم و بعد دوباره اطلاعات رو از خط اول چاپ می کردم!

mahdi7s
29-11-2008, 14:12
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه ميشه متد هايي كه در كتابخانه ي ضميمه شده time وجود داره معرفي كنيد و بگيد هر كدومشون دقيقا چه كاري انجام ميدن يا چه چيزي رو بر مي گردونن (لطفا اگه مرجعي مي زاريد فارسي باشه!)

... من هم یک بار همچین مشکلی داشتم و توی ویژوال مجبور شدم بعد از اینکه هر بار داده هام جدید می شدند clrscr (کلیر اسکرین) می کردم و بعد دوباره اطلاعات رو از خط اول چاپ می کردم!

ميشه بگيد چه جوري اين كارو انجام مي داديد يا يه كد ساده ازش بزاريد ممنون ميشم ! چون ما اصلا تو ويژوال سي پي پي با متد clrscr كار نكرديم.:11::11:

hamidreza_buddy
29-11-2008, 21:55
ماله خیلی وقت پیشه! باید یه بازی کنسول می نوشتیم. اول این کارو کردم که یه تابع به نام PRINT نوشتم که کل صفحه «با داده های فعلی» چاپ می کرد. سپس اگه کاربر کلیدی می زد که زمین بازی تغییری می کرد من یه clrscr انجام می دادم و دوباره تابع PRINT رو صدا می زدم تا صفحه با داده های جدید چاپ بشه.

ینم مرجع و آمزش کار با زمان در سی پلاس پلاس. همونیه که می خوای. فقط انگلیسیه!!

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