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

برنامج مسابقة في السي والسي++

مغلق
بدأه CompuM4n في 24 نوفمبر 2003 · 15 رد · 1,860 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كل عام وانتم بخير وعساكم من عواده.

إليكم أول تمرين أضعه في المنتدى والجائزة هي تطور مستوى المبرمج.

تمرين:

أكتب برنامج بلغة السي أو لغة السي++ وبأي طريقة ممكنة. يقوم هذا البرنامج بالطلب من المستخدم ادخال تاريخ ميلاده باليوم والشهر والسنة ثم يدخل تاريخ اليوم الحالي باليوم والشهر والسنة.

فيقوم البرنامج بحساب العمر بعدد السنين والشهور والأيام ويطبعها.

على اعتبار أن جميع الشهور 30 يوم.

فكرة البرنامج سهلة وبسيطة يعني بشوية تفكير وعمليات حسابية راح تحلونه.

هذا البرنامج يمكن حله باستخدام التقويم calendar وتكون النتيجة دقيقة ولكن الفكرة في هذا البرنامج كيفية حسابه بعمليات حسابية بسيطة.

أي سؤال أنا مستعد وعيدكم مبارك..................

#2

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

وين احط الجواب؟؟

#3

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

يا أخ Bea ممكن تضع الحل في هذي الصفحة.

وثق تماماً لو في أحد غيرك حله راح يكون الحل مختلف لأنه كل مبرمج له فكر برمجي مختلف.

و ممكن واحد ياخذ حلك ويفهم الفكرة و يحله بصيغة ثانية.

أهم شي فكرة البرنامج.

ومشكوووووووووور على الإهتمام.

#4

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

اخي CompuM4n

في البداية اشكرك على هذا الطرح المميز

وكل عام وانت بخير

اخي لا ادري ان كنت قد فهمت السؤال بطريقة صحيحه ام لا

المهم انا حليته والله يعين

وهذا الحل

#include<iostream>

using namespace std;

int main()

{

int day,month,year;

int d,m,y;

cout<<"Plz Enter Your Birthday date"<<endl;

cin>>day>>month>>year;

cout<<"Enter the date of today"<<endl;

cin>>d>>m>>y;

cout<<"you are "<<y-year<<" "<<"years old"<<" & "<<m-month<<" months & "<<d-day<<" days"<<endl;

return 0;

}

وتقبلوا فائق شكري واحترامي

طالبة It

#5

بسم الله الرحمن الرحيم

أريد أن أعرف

كيف أقوم بالحصول على برنامج سى++نفسه؟؟؟

عاجل و شكرا

#6

من فضلك ساعد نى

عندى امتحان و لا أجد برنامج++c

من اين أستطيع عمل downloadللبرنامج

عااااااااااااااااااااااااااااااااااااااجل

شكرا

ahmed

scream1976@hotmail.com

#7

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

يمكنك تحميل برنامج ال Turbo C++ من الموقع التالي ,,,

Download TurBo c++

وبالتوفيق ,,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#8

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

أختي طالبة It

كل عام وأنتي و جميع الأخوان في المنتدى والمسلمين عامة بخير

أشكركي على الإهتمام

بالنسبة لفكرة البرنامج أعتقد انك فهمتيها لكن ما طبقتيها بالشكل الصحيح

يعني حليتيها بالطريقة البسيطة وهي الطرح المباشر وهذا غلط

ولنفرض إن المستخدم من مواليد يوم28شهر 12عام 1980

و تاريخ اليوم هو 26/11/2003

فسيكون عمر الشخص 23 سنة و -1 شهر و -2 شهر

كيف يكون العمر بالسالب

على العموم محاولتكي جيدة والمهم انك فهمتي الفكرة

SORRY...............TRY AGAIN

#9

السلام عليكم هذا هو حل البرنامج واتمنى ان يكون صحيح

#include <iostream>
using namespace std;

main()
{
   int y1,y2,m1,m2,d1,d2,v;
   cin>>y1>>m1>>d1;
   cin>>y2>>m2>>d2;
   v=(y2*365+m2*30+d2)-(y1*365+m1*30+d1);
   
   cout<<((v/365)-((v%365)/365))<<" year "<<(((v%365)/30)-(((v%365)%30)/30))<<" month "<<((v%365)%30)<<" day "<<endl;






}
#10

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

يا أخ alr7al2002 مشكوووور على إهتمامك ومحاولتك لكن للأسف محاولتك غير صحيحة.

لكن هذا ما يمنع أنك فكرت فطريقة أو معادلة تحل المشكلة وهذا هو المطلوب.

ولتسهيل البرنامج إليكم شرح مبسط:

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

27 11 2003

-29 12 1983

-----------------

بما أن عملية الطرح على الأيام لا تتم هكذا نستعير أحد الشهور وبالتالي تصبح الشهور 10 ونضيف على الأيام 30 يوم (شهر) وبالتالي يصبح ناتج الأيام 32 يوم ويمكن أن نقول يومين وشهر.

ويمكن تطبيق فكرة الإستعارة من السنين إلى الشهور بنفس الطريقة.

أعتقد أنه الفكرة الآن أصبحت واضحة عليكم وباقي البرنامج.

آسف على الإطالة وعدم توضيح الفكرة مسبقاً وشكراً.

#11

السلام عليكم أخي CompuM4n

اريد ان اعرف ما هو الخطأ في البرنامج لاني جربته اكثر من مرة وهو يعطي المعلومات الصحيحة

المهم البرنامج اول شي يجب ان ندخل سنة الميلاد والشهر واليوم بهذه الطريقة

1982 2 27

2003 1 29

ويعطينا البرنامج العمر و هو 20 سنة و 11 شهر و 7 ايام

يالله مع السلامة

#12

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

يا أخي alr7al2002 أنا حقيقة آسف لأني قلت أنه حلك خطأ

لأني لما جربت البرنامج أدخلت اليوم ثم الشهر ثم السنة

البرنامج صحيح 100% ويعطي نتيجة دقيقة.

لكن المشكلة فيه أنه ما يوضح للمستخدم كيف يدخل التاريخ وماذا يدخل في البداية يجب أن يكون هناك سطور توضيحية.

على العموم أجددلك أسفي الشديد وأنا اللي طلعت غلطان والإعتراف بالحق فضيلة.

وشكراً....................

#13

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

صدقت اخوي CompuM4n حلي يباله دقه

بس في طلب بسيط

انا ابى افهم

العمليات

v=(y2*365+m2*30+d2)-(y1*365+m1*30+d1);

cout<<((v/365)-((v%365)/365))<<" year "<<(((v%365)/30)-(((v%365)%30)/30))<<" month "<<((v%365)%30)<<" day "<<endl;

يعني نبى اخونا alr7al2002 يشرحلنا الفكره

ونأسف على الازعاج

#14

السلام عليكم

الفكرة هي ان نقوم بضرب السنة ب 365 لتحويلها الى يوم والشهر بضربه ب 30 يوم ثم نجمع الايام في السنة والايام في الشهور مع الايام التي وضعناها طبعا سنحصل على الايام في تاريخ الميلاد

نعمل نفس الطريقة للتاريخ اليوم الذي وضعناه

بهد ذلك نطرح الثاني من الاول للنحصل على الايام وهي الفترة بين التاريخين

ثم نقسم هذه الايام على 365 لليعطينا عدد وهو عدد السنين والباقي وهو عدد الاشهر والايام ثم نقسم هذا العدد على 30 ليعطينا عدد الاشهر وطبعا الباقي هو عدد الايام

مع السلامة

#15

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

بالنسبة للأخ alr7al2002 تفكيرك منطقي وينم عن فكر برمجي جيد.

مثل ما قلتلك فقط ياليت تهتم شوي بشكل البرنامج و تساعد المستخدم على تنفيذه.

بالنسبة للأخت طالبة It أتمنى تكوني فهمتي المعادلات في برنامج alr7al2002.

ممكن الآن تكتبي البرنامج بطريقة ثانية.

وفي الختام أتمنى يكون البرنامج اختبار جيد لتفكير المبرمجين الجدد.

وشكراً...........

#16

جزاكم الله خير الجزاء

انا الحمد لله فهمت البرنامج ....

طبعا الفضل يرجع لجهودكم

اسأل الله لكم التوفيق

اختكم

طالبة It

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

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