PDA

View Full Version : مشکل با حلقه ی بینهایت



emad_67
یک شنبه 09 اردیبهشت 1386, 00:16 صبح
من یه برنامه با vc++ نوشتم که میاد زمان رو از کاربر می پرسه و و مثل یه ساعت کامپوتری شوع به کار میکنه ولی چون توش از حلقه ی بینهایت استفاده کردم باعث میشه که cpu صد در صد پر بشه حالا می خوام ببینم راهی هست برای رفع ای مشکل
اینم کدش:


#include<iostream.h>
#include<time.h>
class Time
{
public:
Time(int=0,int=0,int=0);
void set();
private:
void print();
int hr,min,sec;
int year,month,day;
};
Time::Time(int a,int b,int c)
{
hr=a;
min=b;
sec=c;
}
void Time::set()
{
sec++;
if(sec==60)
{
sec=0;
min++;
}
if(min==60)
{
min=0;
hr++;
}
if(hr==25)
hr=0;
print();
}
void Time::print()
{
cout<<flush;
cout<<"\r"<<(hr>=0 && hr<13 ? hr : hr%12)
<<":"<<(min>0 && min<60 ? min : min%60)
<<":"<<(sec>0 && sec<60 ? sec : sec%60)
<<" "<<(hr>12 ? "PM" : "AM");
}
void main()
{
int h,m,s,p,q;
cout<<"enter hour,minute,second:";
cin>>h>>m>>s;
Time t(h,m,s);
q=time(0)+1;
for(;;)
{
p=time(0);
if(p==q)
{
p=q;
q=time(0)+1;

t.set();
}
}
}

emad_67
یک شنبه 09 اردیبهشت 1386, 21:27 عصر
کسی نیست جواب بده

saeedIRHA
یک شنبه 09 اردیبهشت 1386, 21:44 عصر
Sleep() function

emad_67
دوشنبه 10 اردیبهشت 1386, 09:51 صبح
خوب این sleep رو باید بهش مقدار بدم؟
هدر فایل این sleep چیه؟
لطفا یه کم توضیح بدید

american_iran2006
پنج شنبه 13 اردیبهشت 1386, 15:55 عصر
sleep یک وقفه اندازه که زمانو بر حسب میلی ثانیه میگیره

کتابخانش هم <windows> باید باشه

emad_67
پنج شنبه 13 اردیبهشت 1386, 18:10 عصر
با windows.h امتحان کردم ولی قبول نمیکنه

emad_67
شنبه 15 اردیبهشت 1386, 12:23 عصر
کسی نبود یه راهنمایی کنه

dkhatibi
شنبه 15 اردیبهشت 1386, 17:44 عصر
اگر تحت داس می نویسید(که احتمال زیاد اینجوریه) از dos.h استفاده کنید.