PDA

View Full Version : کرنومتر با C



loknatesabz
سه شنبه 27 دی 1390, 11:31 صبح
سلام
من یه الگوریتم نوشتم که میخوام با شروع برنامه زمان اجراش محاسبه بشه یعنی درواقع میخوام مثل یه کرنومتر تایم رو با اجرای برنامه شروع کنه و در پایان هم میخوام بهم نشونش بده(که چقدر این الگوریتم زمان برده)
من توی محیط سی شارپ زیاد کار کردم ولی متاسفانه آشنایی من از محیط سی فقط دونستن دستوراتش هست چیزی که تو دانشگاه خوندم هم سی پلاس پلاسه
در واقع من میخوام توی سی برنامه بنویسم ولی از سر فایل ورودی /خروجیم ایراد میگیره.در کل چه هدر فایل هایی نیاز هست قبل از برنامه بذارم؟
کرنومتر رو هم به زبون سی میخوام.
ممنون میشم کمکم کنید مهندسان بخش C

Dr_Crazy
سه شنبه 27 دی 1390, 13:47 عصر
#include <time.h>
float dif;
time_t start,end;
time (&start);
دستورات
time (&end);
dif = difftime (end,start);


با این دستور و هدر و چاپ کردن dif در خروجی می شه زمان رو به ثانیه نمایش داد ، اما ایرادی که داره اینه زمان کمتر از 1 ثانیه رو محاسبه نمی کنه
برای چاپ زمان های بسیار کم ، مثل اجرای یک برنامه در کامپایلر باید برنامه رو در یک حلقه قرار داد و زمان اجرار برنامه رو تقسیم بر دفعات حلقه کرد
برای مثال زمان اجرای تابع exapel
float b=0,c,dif;
time_t start,end;
for(int j=1 ; j<=1000 ;j++)
{
time (&start);
example(a);
time (&end);
dif = difftime (end,start);
b=b+dif;
}
c=b/1000;
printf("\n time=%f",c);

loknatesabz
سه شنبه 27 دی 1390, 16:37 عصر
ممنونم که بررسی کردید اما نگفتید که چه سرفایل هایی غیر از time.h باید برای برنامه ام استفاده کنم؟مثلا وقتی میخوام برنامه رو کامپایل کنم از سرفایل stdio.h ایراد میگیره از تابع main هم ایراد میگیره.
لطفا راهنماییم کنید. مرسی

arman0551
جمعه 13 تیر 1393, 02:33 صبح
سلام دوست عزیز من کد را برای شما نوشتم امیدوارم به درد همه بخوره ارادتمند شما رحمانی


#include <conio.h>
#include <iostream.h>
#include <dos.h>
////////////////////Arman rahmani ///////

void main()
{
clrscr();
int ms=0,s=0,m=0,h=0;

union REGS r;
r.x.ax=0;
int86(0x33,&r,&r);

while(r.x.bx!=1)
{
r.x.ax=1;
int86(0x33,&r,&r);
r.x.ax=3;
int86(0x33,&r,&r);

ms++;
if(ms==100)
{
s++;
ms=0;
}
if(s==60)
{
m++;
s=0;
}
if(m==60)
{
h++;
m=0;
}
clrscr();
cout<<h<<" : "<<m<<" : "<<s<<" : "<<ms;
delay(10);


}



}

omid_kma
یک شنبه 15 تیر 1393, 16:25 عصر
از chrono استفاده کنین
http://www.7khatcode.com/index.php?qa=1669&qa_1=%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%DB%8C-%D9%82%D8%B7%D8%B9%D9%87-%DA%A9%D8%AF-c&show=1669#q1669