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

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

بدأه anmar2006 في 3 نوفمبر 2008 · 17 رد · 5,155 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

ارججووووووووو المساااعدة شكرااااااااااااا :happy:

#2

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

اني عملت محاولة واحدة بس يكون حساب الاشهر عاما يجب الاشهر تكون كل واد على حدة فحاولت ولم احصل على فكرة سوى قالو لي اعمل مصفوفة وبصراحة لا اعرف اعمل بصفوفة في هذا السؤال شكرررراااااااا

ارجو الاجابة باسرع وقت ممكن شكرررررررررررررر جزيلا

#include<iostream.h>

#include<conio.h>

main()

{ int i,m,d,data;

cout<<"enter year\n";

cin>>m;

if(m<3)

{

m=m+12;

y=y-1;

};

cout<enter data:\n";

cin<<d;

data=(d+(2*m)+((6*(m+1)/10+y(y/4)-(y/100)+(y/365)+1)%7)));

switch(data)

{

case 1;

cout<<"sunday:";

break;

case 2;

cout<<"monday:";

break;

case 3;

cout<<"tuesday:";

break;

case 4;

cout<<"wednesday:";

break;

case 5;

cout<<"thersday:";

break;

case 6;

cout<<"friday:";

break;

case 7;

cout<<"saterday:";

break;

default;

cout<<"not found";

return 0;

}

}

تم تعديل هذه المشاركة بواسطة anmar2006 في 3 نوفمبر 2008 في 21:33

#3

قبل ان تعمل البرنامج على شكل كود يجب ان تعرف كيف يتم معرفة اسم اليوم من خلال معرفة الشهر واليوم؟

تم تعديل هذه المشاركة بواسطة فهدالشلوي في 3 نوفمبر 2008 في 21:55

tvquran_6.gif

#4

الموضوع حسابيا :

عدد ايام الاشهر ثابت في الميلادي.

كل سنه جديدة تبداء باليوم التالي:

مثلا انا بداْت الحساب من عام 1928 وكان اول يوم هو الأحد.

1929 اول يوم يكون الاثنين وهكذا.

كل 4 سنوات تضيف يوم .

اقراء الكود جيدا وان شاء الله يكون صحيح.

  1. #include <iostream>
  2. #include <ctime>
  3. #include<string>
  4. using namespace std;
  5. int main ()
  6. {
  7.  
  8. int Day[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  9. string nameday[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
  10. int mo,dy,yr,c=0,j;
  11. cout<<"Enter Years:";
  12. cin>>yr;
  13.  
  14. if(yr<1928) return 0;
  15. yr-=1928;
  16. j=(yr)/4;
  17. yr%=7;
  18. cout<<"Enter month:";
  19. cin>>mo;
  20. if(mo<1 || mo>12) return 0;
  21. cout<<"Enter day:";
  22. cin>>dy;
  23. if(dy<1 || dy>31) return 0;
  24.  
  25. for(int i=0;i<mo-1;i++)
  26. {
  27. c+=Day[i];
  28. }
  29. dy+=yr;
  30. c+=dy;
  31. c+=j;
  32. c%=7;
  33.  
  34.  
  35. cout<<nameday[c]<<endl;
  36.  
  37. cin.get();
  38. cin.get();
  39. return 0;
  40. }
  41.  

tvquran_6.gif

#5

أخي فهد أيش فائدة المقارنه طالما أنك ماتستخدمها؟

أنت كتبت بعد كل شرط return 0; وبس وهذا الشئ الوحيد اللي بيتغير عند تحقق الشرط أما الباقي بيتم تنفيذه سواء تحقق الشرط أم لا :)

أخت أنمار ممكن توضحي أكثر؟

مافهمت أيش الشرط بالضبط

بس بالنسبه للأيام فمثل ماقال الأخ فهد كل سنه يزيد يوم ماعدا في السنوات الكبيسه فبتزيد يومين

وعشان تطلعي الفارق :

هذا في حال أن العام مافيه أصفار مثل 2000 أو1900 وإلا أستخدمي نفس طريقة الأخ فهد بالتنقيص من التاريخ اللي بدأتي تحسبي منه

a=y%100;
a+=(a/4);
a=a/7;

تحياتي

تم تعديل هذه المشاركة بواسطة M.Allaw في 4 نوفمبر 2008 في 02:21


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#6
اقتباس
أنت كتبت بعد كل شرط return 0; وبس وهذا الشئ الوحيد اللي بيتغير عند تحقق الشرط أما الباقي بيتم تنفيذه سواء تحقق الشرط أم لا regular_smile.gif

اذا كان المدخلات غير منا سبة ((يتحقق الشرط)) سوف يخرج من البرنامج .

tvquran_6.gif

#7

صح الآن أنتبهت <== الأخ فااااااصل كخخخخخخخخخ


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#8
اقتباس
صح الآن أنتبهت <== الأخ فااااااصل كخخخخخخخخخ

الخطاء دائما وارد ونحن جميعا هنا من أجل ان نتعلم.

tvquran_6.gif

#9

السلام عليكم

لقد طلبو البرنامج هكذا يعني اذا

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

1/5/1989

كان يوم خميس

يعني ادخل القيمة 5/1كانون الثاني يعطيني

اليوم خميس: ولو سمحتم ارجوكم اعملوها على شكل مصفوفة لااني بصراحة لااعرف كيف احوله اى مصفوفة

انتضار اجوبتكم شكررراااااااااااااااااا جزيلالالا

تم تعديل هذه المشاركة بواسطة anmar2006 في 4 نوفمبر 2008 في 16:48

#10

هذه طريقة أخرى:

  1. #include <iostream>
  2. #include <ctime>
  3. using namespace std;
  4. int main()
  5. {
  6. int yr,mo,dy;
  7. char dot='';
  8. cout<<"Enter date your birth : ";
  9. cin>>yr>>dot>>mo>>dot>>dy;
  10. if(yr<1900||mo<1||mo>12||dy<1||dy>31) return 0;
  11. yr-=1900;
  12. mo-=1;
  13. struct tm date = {0};date.tm_year = yr; date.tm_mon = mo; date.tm_mday = dy;
  14. time_t normal = std::mktime(&date);
  15. char myday[20];
  16. std::strftime(myday, sizeof myday, "%A", &date);
  17. std::cout << myday <<endl;
  18. cin.get();cin.get();
  19. return 0;
  20. }
  21.  

يمكنك التاكد من اليوم من خلال التقويم

tvquran_6.gif

#11

بس أخي فهد الـ string مايتعرف في البورلاند والأخت تستخدم البورلاند وما بتقدر تستخدم namespace إلا على السي حقت مايكروسوفت

تصدق أستفدت أنا الآن منك , عرفت أنه يوجد معرف string في السي حق مايكروسوفت وعادني الآن عرفتها منك :)

مشكور أخوي

تم تعديل هذه المشاركة بواسطة M.Allaw في 5 نوفمبر 2008 في 00:51


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#12
اقتباس
بس أخي فهد الـ string مايتعرف في البورلاند والأخت تستخدم البورلاند

أعتقد فقط تحتاج تعديلات طفيفة في أسماء ملفات الراس. وحذف namespace

tvquran_6.gif

#13

مشكوووووووووووووووووووووووووووووووووور والله يبارك بيكم اخواني الاعزاء

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

#14

السلام عليكم اخ فهد البرنامج مالتك يضهر فية ايرور في تعريف السترنك مااذا افعل

#15

جرب هكذا

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int yr,mo,dy;
char dot='\\';  
cout<<"Enter date  your birth : ";
cin>>yr>>dot>>mo>>dot>>dy;  
if(yr<1900||mo<1||mo>12||dy<1||dy>31) return 0;
yr-=1900;
mo-=1;
struct tm date = {0};date.tm_year = yr; date.tm_mon = mo; date.tm_mday = dy; 
time_t normal = mktime(&date);
char myday[20];
strftime(myday, sizeof myday, "%A", &date);
std::cout << myday <<endl;
cin.get();cin.get();
return 0;
}
llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#16

اخووواني ارجوكم في انتظار اجوبتكم بليييييييييزززززززز

شكرااااااااا

#17

مشكووووووووووووووووور اخي الف شكر بس ولو ازعجتك ممكن اعرف شرح الطرق بلليز وشكرا

#18

اذا كان يظهر خطاء :

غير ملفات الراس بالشكل التالي:

  1.  
  2. #include <iostream.h>
  3. #include <time.h>
  4. #include<string>
  5.  

اذا لم تعمل ماهو الكمبايلر ؟

tvquran_6.gif

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

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

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

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

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