الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار بخصوص ظهور الثواني على الشاشة

بدأه alaaaldeen في 3 أكتوبر 2012 · 4 رد · 520 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم يا احباب

واشكرك كل من ساهم في

رفع مستوى هذا الموقع الرائع :)

ندخل للموضوع :lol:

سعمت انو في برنامج في السي بلس بلس

تقدر تشوف الثواني تتحرك في الشاشة

حبيت استفسر عن الطريقة وشكراااااا

#2
alaaaldeen كتب:

السلام عليكم يا احباب

واشكرك كل من ساهم في

رفع مستوى هذا الموقع الرائع :)

ندخل للموضوع :lol:

سعمت انو في برنامج في السي بلس بلس

تقدر تشوف الثواني تتحرك في الشاشة

حبيت استفسر عن الطريقة وشكراااااا

وعليكم السلام و رحمة الله وبركاته

عندي طريقتين ممكن تشوف التواني وهي يتحرك في الشاشة ولكن بالسي إذا أمكنك تترجم ل السي ++ كان أفضلwink.gif

الطريقة الأولى

#include <stdio.h>
#include <time.h>
#define  MAX 60

void chrono(float tick);

int main(void)
{
	int i=-1;

	while(i++<MAX)
	{
    	if(i==MAX) i=0;
    	printf("%2d...\n", i);
    	chrono(1);
	}

	return 0;
}

void chrono(float tick)
{
	clock_t fin=clock()+(tick*CLOCKS_PER_SEC);

	while(clock()<fin);
}

وهذه الطريقة لا أنصح بها لأنها تستهلك الكثير من CPU

الطريقة الثانية باستعمال الدالة sleep الموجودة في header unistd.h (الماك و لينيكس وفقط) أو الدالة Sleep الموجودة في header windows.h

(نظام تشغيل ويندوز)

#include <stdio.h>
#include <time.h>
#define  MAX 60
#if defined (WIN32) || defined (WIN64)
#include <windows.h>
#define chrono(temps) Sleep(temps*CLOCKS_PER_SEC)
#else
#include <unistd.h>
#define chrono(temps) sleep(temps)
#endif


int main(void)
{
    	int i=-1;

    	while(i++<MAX)
    	{
    	if(i==MAX) i=0;
    	printf("%2d...\n", i);
    	chrono(1);
    	}


    	return 0;
}

ملاحظة : كما هو معلوم عندنا فنظام عد التواني يبدأ من 0 إلى 59 ومن بعد ذلك يرجع العد من القيمة البدئية 0

أما نظام عد التواني بالنسبة للجهاز فهو شيء آخر !!

أتمنى أن أكون جاوبت على سؤالك و بالتوفيقwink.gif

تم تعديل هذه المشاركة بواسطة مومو (momo) في 3 أكتوبر 2012 في 16:16

2

i love you mama

#3

بعطيك العافية يا مومو والله ماقطرت واحرجتني معاااك :blush:

ابداااع وتمت التجربة :)

#4
alaaaldeen كتب:

بعطيك العافية يا مومو والله ماقطرت واحرجتني معاااك :blush:

ابداااع وتمت التجربة :)

العفو أخي cool.gif

عدلت الكود قليلا حتى تستطيع مشاهدة الثواني و الدقائق و الساعات و الأيام و الشهور و السنوات كذلك laugh.gif

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#if defined (WIN32) || defined (WIN64)
#include <windows.h>
#define stop(temps) Sleep(temps*CLOCKS_PER_SEC)
#else
#include <unistd.h>
#define stop(temps) sleep(temps)
#endif

void pb_memoire()
{
	puts("error memory!!");
	exit(0);
}

int main(void)
{
int i=0;
time_t s;
struct tm* p=(struct tm*) malloc(sizeof(*p));
if(!p) pb_memoire();
while(i<i+1)
{
  s=time(&s);
  p=localtime(&s);
  printf("%d/%d/%d ; %d:%d:%d\n",p->tm_year+1900, p->tm_mday+1, p->tm_mon+1, p->tm_hour,p->tm_min,p->tm_sec);
  stop(1);
}
return 0;
}

تم تعديل هذه المشاركة بواسطة مومو (momo) في 3 أكتوبر 2012 في 22:54

i love you mama

#5
مومو (momo) كتب:

العفو أخي cool.gif

عدلت الكود قليلا حتى تستطيع مشاهدة الثواني و الدقائق و الساعات و الأيام و السنوات كذلك laugh.gif

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#if defined (WIN32) || defined (WIN64)
#include <windows.h>
#define stop(temps) Sleep(temps*CLOCKS_PER_SEC)
#else
#include <unistd.h>
#define stop(temps) sleep(temps)
#endif

void pb_memoire()
{
	puts("error memory!!");
	exit(0);
}

int main(void)
{
int i=0;
time_t s;
struct tm* p=(struct tm*) malloc(sizeof(*p));
if(!p) pb_memoire();
while(i<i+1)
{
  s=time(&s);
  p=localtime(&s);
  printf("%d/%d/%d ; %d:%d:%d\n",p->tm_year+1900, p->tm_mday+1, p->tm_mon+1, p->tm_hour,p->tm_min,p->tm_sec);
  stop(1);
}
return 0;
}

:lol:

ماقصرت والله احرجتني معاك :blush: :blush:

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…