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

برنامج ساعه على السي++

مغلق
بدأه مفتون في 9 مايو 2004 · 17 رد · 1,331 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ياجماعه من باب الفضول ولتزين البرنامج

كيف اعمل ساعه رقميه تعمل على بحيث يتحرك مؤشر الثواني والدقائق والساعات

وشكرا على تجاوبكم

#2

السلام عليكم ,,

اذا كنت تريد كتابة كود كهذا على الوندوز وليس على الكونسول فأنا معك .

النظرية كالتالي ,, وتعتمد على أن ترسم دائرة بدوال sin و cos ,, وتعتبر نقطة الأصل مثلا 100 100 في الاحداثيات ,,

المشكلة فقط في الرسم باقي الحسابات يمكن أن تقوم بها لوحدك ,,

المهم يجب أت تعرف دائما وبمعرفة النسبة مكان توضع عقرب الساعة أو الدقائق أو الثواني ,, وكل ماتتحرك العقارب توضعها في المكان الجديد وذلك مثلا اذا كانت الساعة الثانية والنصف ,,

سترسم خط مستقيم لعقرب الساعات من نقطة الأصل الى النقطة

sin(x) و cos(x)

حيث x هي 2 تقسيم 12 مضروب في 360 درجة ,, وبذلك ستحصل على الزاوية المقابلة للساعة 2 ,, والنقطة التي يجب أن يكون عندها العقرب ,,

بالنسبة لعقرب الدقائق نفس الفكرة ستكون 30 تقسيم 60 مضروب في 360 درجة ,,

الأمر سهل باذن الله ,و لكن تحتاج لبعض مهارات الرسم ,, واذا كنت تعرفها ,, فابدأ فورا في تصميم ساعتك الخاصة :)

اذا أردت سعدة فنحن هنا

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

مشكور

ولكن والله لم افهم ماذا قصده لي هل لي بأفاتدتي ان كان الكود عندك

او اي طريقه تعرض لي الساعه

لانه فعلا لم تخطر هذه الفكره على بالي ابدا الا لما جيت افكر في تزيين البرامج

ماشاء الله عليك تفكيرك منطقي وجميل

#4

up

#5

السلام عليكـــم ...

السؤال مرة جيد وفكرته مرة حلوة ... بس في سؤال من باب الفضول ....

هو أيش الفرق بين كتابة الكود على الوندوز أو على الكونسول ؟؟ وليش دائماً تلجأوا للوندوز أكثر من الكونسول ...

وهل الإثنين بنستخدم فيهم نفس لغة سي ++ ولا في فرق ؟؟

آسفة على الإطالة

مشكورين

#6

الكونسول للتدرب على أساسيات لغة السي والسي++ ,,

فهي بيئة سريعة فقط للتعليم ولاتوجد ميزات خاصة به ,,

فيجب الابتعادعنها فور تعلمه لغة السي أو السي++ ,, لأنها لاتؤكل عيش كما يقولون ,,

أما برمجة الوندوز فتحتاج لأمور زيادة لتكوين النافذة والرسم عليها وانتاج برامج في بيئة XWindow ,, والتحكم بالفأرة مع ألوان جذابة ودقة أعلى ,, ودعم بنية تحتية أقوى لتطوير برامج أقوى ,,

ولاأخفيكم سرا يحب بعض المبرمجين كتابة برامج تستخدم من بيئة الكونسول لانجاز بعض المهام الادارية ,, امثال netstat و ipconfig ,, وغيرها,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#7

المثال التالي :

يعرض ساعة بدائية جدا ,, تفتقر الى الجاذبية وبشكل واضح ,,

كتبته فقط على عجالة ومن أراد أن يطور فيه فله ذلك ,,

ملف ال exe موجود داخل المجلد المضغوط في الفولدر release ,,

وكتبته باستخدام مصصرف ال visual c++6 باستخدام ال SDI ,, Single Document Interface ,,

طبعا باستخدام MFC :)

بالتوفيق ,,

Clock.rar

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#8

ما شاء الله عليك يا HGB والله عبقري :)

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#9

ما شاء الله عليك

ولكن ما شاء الله عليك سويت انت الصعب انا بغيت السهل

وهو ان تكون في السي++ في الشاشه السوداء وليس بالفيجول

وياليت تكون رقميه او اي شي

ياليت ومشكور

حاولت استفيد من برنامجك وحاولت اني اشغله على الشاشه السوداء فلم استطع

افدنا الله يعافيك

#10

السلام عليكم ,,

أخي مفتون انا لم أرسم قط على الكونسول من قبل ,, ولم أفكر في ذلك حتى ,, والسبب بكل بساطة أنها مضيعة وقت ,,

أمر آخر أنني لاأعرف دوال الجرافيكس وملفات الرأس الخاصة بالرسم على الكونسول في مصرفات ال Visual c++ ,, لكن في البرورلاند هي graphics.h ,,

وأمر آخر أنني لاأستعمل البورلاند أبدا :)

لكن اذا عرفت لي ملفات ودوال الرسم في السي++ على مصرف الفيجوال سي++ ,, فسأساعدك باذن الله ,,:)

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#11

يبدوا انك فهمتني خطأ

انا لااريد ان تكون الساعه مرسومه بالجرافيكس في الشاشه السوداء

ولكن اريدها ساعه رقميه مثل الساعه الموجوده في الوندوز تحت على شريط ابدا بس يكون ايضا فيها ثواني

#12

واشكرك على حرصك

#13

السلام عليكم ,,

سأجيبك لاحقا هذا اليوم باذن الله ,, وان لم أجد وقتا فغدذا ولا يهمك :)

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#14

مشكور

#15

اشكرك اخي HGB

وانا في انتظارك

#16

up

#17

بكل بساطة انظر الى الكود سيعرض لك الكثير من المعلومات حول الوقت في الجهاز ,,

#include <time.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <string.h>

void main()
{
    char tmpbuf[128], ampm[] = "AM";
    time_t ltime;
    struct _timeb tstruct;
    struct tm *today, *gmt, xmas = { 0, 0, 12, 25, 11, 93 };

    /* Set time zone from TZ environment variable. If TZ is not set,
     * the operating system is queried to obtain the default value 
     * for the variable. 
     */
    _tzset();

    /* Display operating system-style date and time. */
    _strtime( tmpbuf );
    printf( "OS time:\t\t\t\t%s\n", tmpbuf );
    _strdate( tmpbuf );
    printf( "OS date:\t\t\t\t%s\n", tmpbuf );

    /* Get UNIX-style time and display as number and string. */
    time( &ltime );
    printf( "Time in seconds since UTC 1/1/70:\t%ld\n", ltime );
    printf( "UNIX time and date:\t\t\t%s", ctime( &ltime ) );

    /* Display UTC. */
    gmt = gmtime( &ltime );
    printf( "Coordinated universal time:\t\t%s", asctime( gmt ) );

    /* Convert to time structure and adjust for PM if necessary. */
    today = localtime( &ltime );
    if( today->tm_hour > 12 )
    {
   strcpy( ampm, "PM" );
   today->tm_hour -= 12;
    }
    if( today->tm_hour == 0 )  /* Adjust if midnight hour. */
   today->tm_hour = 12;

    /* Note how pointer addition is used to skip the first 11 
     * characters and printf is used to trim off terminating 
     * characters.
     */
    printf( "12-hour time:\t\t\t\t%.8s %s\n",
       asctime( today ) + 11, ampm );

    /* Print additional time information. */
    _ftime( &tstruct );
    printf( "Plus milliseconds:\t\t\t%u\n", tstruct.millitm );
    printf( "Zone difference in seconds from UTC:\t%u\n", 
             tstruct.timezone );
    printf( "Time zone name:\t\t\t\t%s\n", _tzname[0] );
    printf( "Daylight savings:\t\t\t%s\n", 
             tstruct.dstflag ? "YES" : "NO" );

    /* Make time for noon on Christmas, 1993. */
    if( mktime( &xmas ) != (time_t)-1 )
   printf( "Christmas\t\t\t\t%s\n", asctime( &xmas ) );

    /* Use time structure to build a customized time string. */
    today = localtime( &ltime );

    /* Use strftime to build a customized time string. */
    strftime( tmpbuf, 128,
         "Today is %A, day %d of %B in the year %Y.\n", today );
    printf( tmpbuf );

	char* x;
	scanf("%c",x);
	//gets(c);
}

قم فقط برسم الوقت كل ثانية ,, واعمل clrscr للشاشة كل ثانية ,, وستعمل الساعة !!

سأحاول أن أساعد أكثر ماوجدت الوقت ,,

بالتوفيق ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#18

لم استطع يا hgb

ان اجعل الساعه تعمل

هذا الموضوع مغلق.

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