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

استفسار حول تعديل في عرض التقويم الهجري

بدأه THE HERO في 22 يناير 2009 · 5 رد · 586 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيفكم يامبرمجين ان شاء الله بخير ,,

عندي مشكلة بسيطه في عرض الاشهر !

الاشهر تطلع عندي تحت بعض

ابي كل اربعه اشهر بجانب بعض

مثال :

الشهر الاول الشهر الخامس الشهر التاسع

الشهر الثاني الشهر السادس الشهر العاشر

الشهر الثالث الشهر السابع الشهر الحادي عشر

الشهر الرابع الشهر الثامن الشهر الثاني عشر

ولكم جزيل الشكر

#2

أخي الكريم سيكون بالإمكان مساعدتك لو قمت بوضع الكود الذي يحتوي هذه الأشهر التي تتكلم عن ترتيبها بشكل مختلف.

أو ذكر البيئة والبرنامج الذي تعمل به، هل هو كونسول أم هو تطبيق desktop، يعني أقل المعلومات المطلوبة ناقصة.

السلام عليكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

اهلا اخي

انا اعمل على Dev-C++

  1.  
  2.  
  3. #include<iostream>
  4. using namespace std;
  5. #include<iomanip>
  6. enum weekDay {Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday};
  7. const enum weekDay d01y01m1430 = Monday;
  8. const char *weekDayStr[] = {"Sa", "Su", "Mo", "Tu", "We", "Th", "Fr"};
  9. const char *monthStr[] = {"Muharram", "Safar", "Rabi' Al-Awwal", "Rabi' Al-Akhir", "Jumada Al-A
    wwal", "Jumada Al-Akhir", "Rajab", "Sha'aban", "Ramadan", "Shawwal", "Dhu Al-Qi'da", "Dhu Al-Hi
    jjah"};
  10. const int nDaysPerMonth1430[] = {29, 30, 30, 29, 29, 30, 29, 30, 29, 30, 29, 30};
  11. const int WEEKS = 5; // 5 weeks a month
  12. const int DAYS = 7;// 7 days a week
  13. const int MONTHS = 12; // 12 months a year
  14.  
  15. void fillDays(int days[WEEKS][DAYS][MONTHS]) {
  16.  
  17. int counter=0,d=0,w=0,m=0,h=Monday;
  18. for ( m=0 ; m < MONTHS ; m++ )
  19. {
  20. h=d+1; if ( h>=DAYS) h=0;
  21. for ( w=0 ; w < WEEKS ; w++ )
  22. {
  23. if ( m==0 )h=Monday;
  24. if ( w > 0 )h=0 ;
  25. for ( d=h ; d < DAYS ; d++ )
  26. {
  27. counter++;
  28. days[w][d][m]=counter;
  29. if ( counter == nDaysPerMonth1430[m] ){counter=0 ;break ;}
  30. }//end for day
  31. }//end for week
  32. }//end for month
  33. }
  34.  
  35. void displayYear(const int days[WEEKS][DAYS][MONTHS], int monthsPerRow) {
  36.  
  37.  
  38. int MONTHS=12;
  39. if (monthsPerRow==2) MONTHS=11;
  40. if (monthsPerRow==3) MONTHS=10;
  41. for ( int m=0 ; m<MONTHS ; m++)
  42. {
  43. if ((monthsPerRow==2) && (m!=0)) m++;
  44. if ((monthsPerRow==3) && (m!=0)) m+=2;
  45. cout<<"n"<< "1430" << setw (16) << monthStr[m]<< endl ;
  46. for ( int i=6 ; i>=0 ; i-- ){cout << setw(2)<<weekDayStr[i]<< " ";}cout <<endl;
  47. for ( int w=0 ; w<WEEKS ; w++)
  48. {
  49. for ( int d=DAYS-1 ; d>=0 ; d--)
  50. {
  51. if(days[w][d][m]==0) cout << " " ;
  52. if (days[w][d][m]>0) cout << setw(2)<< days[w][d][m]<< " ";
  53. }
  54. cout<<endl;
  55. }
  56.  
  57. }
  58. if ((monthsPerRow==2) || (monthsPerRow==3))
  59. {
  60. for ( int m=1 ; m<MONTHS ; m++)
  61. {
  62. if ((monthsPerRow==2) && (m!=1)) m++;
  63. if ((monthsPerRow==3) && (m!=1)) m+=2;
  64. cout<<"n"<< "1430" << setw (16) << monthStr[m]<< endl ;
  65. for ( int i=6 ; i>=0 ; i-- ){cout << setw(2)<<weekDayStr[i]<< " ";}cout <<endl;
  66. for ( int w=0 ; w<WEEKS ; w++)
  67. {
  68.  
  69. for ( int d=DAYS-1 ; d>=0 ; d--)
  70. {
  71. if(days[w][d][m]==0) cout << " " ;
  72. if (days[w][d][m]>0) cout << setw(2)<< days[w][d][m]<< " ";
  73. }
  74. cout<<endl;
  75. }
  76.  
  77. }
  78. }
  79. if (monthsPerRow==3)
  80. {
  81. for ( int m=2 ; m<MONTHS ; m++)
  82. {
  83. if ((monthsPerRow==3) && (m!=2)) m+=2;
  84. cout<<"n"<< "1430" << setw (16) << monthStr[m]<< endl ;
  85. for ( int i=6 ; i>=0 ; i-- ){cout << setw(2)<<weekDayStr[i]<< " ";}cout <<endl;
  86. for ( int w=0 ; w<WEEKS ; w++)
  87. {
  88.  
  89. for ( int d=DAYS-1 ; d>=0 ; d--)
  90. {
  91. if(days[w][d][m]==0) cout << " " ;
  92. if (days[w][d][m]>0) cout << setw(2)<< days[w][d][m]<< " ";
  93. }
  94. cout<<endl;
  95. }
  96.  
  97. }
  98. }
  99.  
  100.  
  101. }
  102.  
  103. main()
  104. {
  105. int days[WEEKS][DAYS][MONTHS] = {{{0}}};
  106.  
  107. int monthsPerRow;
  108. const int WEEKS = 5; // 5 weeks a month
  109. const int DAYS = 7;// 7 days a week
  110. const int MONTHS = 12; // 12 months a year
  111. fillDays(days);
  112.  
  113. cout<<"monthsPerRow (1-3) = ";
  114. cin>>monthsPerRow;
  115.  
  116.  
  117. displayYear(days, monthsPerRow);
  118.  
  119. getchar(); getchar();
  120. }
  121.  
  122.  

#4

محتاج مساعدتكم

اللي عنده معلومة لايبخل علي فيها

#5

السلام عليكم هذا كود التقويم يعرض كل ثلاثة اشهر في صف.

  1.  
  2. #include <iostream>
  3. #include <iomanip>
  4. using namespace std;
  5.  
  6. enum weekDay {Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday};
  7. const int nDaysPerMonth1430[] = {29, 30, 30, 29, 29, 30, 29, 30, 29, 30, 29, 30};
  8. const int WEEKS = 5;
  9. const int DAYS = 7;
  10. const int MONTHS = 12;
  11. const char weekDayStr[7][3] = {"Sa", "Su", "Mo", "Tu", "We", "Th", "Fr"};
  12. const char monthStr[12][20] = {"Muharram ", "Safar ", "Rabi' Al-Awwal ", "Rabi' Al
    -Akhir", "Jumada Al-Awwal", "Jumada Al-Akhir", "Rajab ", "Sha'aban", "Ramadan", "Shawwal
    ", "Dhu Al-Qi'da", "Dhu Al-Hijjah"};
  13.  
  14. void fillDays(int days[WEEKS][DAYS][MONTHS]);
  15. void show();
  16.  
  17. int main()
  18. {
  19. show();
  20. return 0;
  21. }
  22.  
  23.  
  24.  
  25. void fillDays(int days[WEEKS][DAYS][MONTHS])
  26. {
  27. int t, u=Monday;
  28. for(int k=0;k<MONTHS;k++)
  29. {
  30. if(k)u+=(nDaysPerMonth1430[k-1]-28);
  31. if(u>6)u%=DAYS;
  32. t=1;
  33. for(int i=0;i<WEEKS;i++)
  34. for(int j=0;j<DAYS;j++)
  35. ((i==0 && j<u)||(t>nDaysPerMonth1430[k]))? days[i][j][k]=0:days[i][j][k]=t++;
  36. }
  37. }
  38.  
  39.  
  40. void show()
  41. {
  42.  
  43. int days[WEEKS][DAYS][MONTHS];
  44. fillDays(days);
  45.  
  46. for(int j=0;j<MONTHS;j+=4)
  47. cout<<setw(20)<<setfill(' ')<<monthStr[j];
  48. cout<<endl;
  49. for(int m=0;m<3;m++){
  50. for(int h=6;h>=0;cout<<weekDayStr[h]<<" ",h--);cout<<" ";}
  51. cout<<endl;
  52. for(int i=0;i<WEEKS;i++){
  53. for(int j=0;j<MONTHS;j+=4){
  54. for(int t=DAYS-1;t>=0;t--){
  55. (days[i][t][j])?cout<<right<<setw(2)<<setfill(' ')<<days[i][t][j]: cout<<" ";
  56. if(t) cout<<" ";}cout<<" ";}cout<<"n";}
  57.  
  58. /*-----------------------------*/
  59. cout<<endl;
  60. for(int j=1;j<MONTHS;j+=4)
  61. cout<<setw(20)<<setfill(' ')<<monthStr[j];
  62. cout<<endl;
  63. for(int m=0;m<3;m++){
  64. for(int h=6;h>=0;cout<<weekDayStr[h]<<" ",h--);cout<<" ";}
  65. cout<<endl;
  66. for(int i=0;i<WEEKS;i++){
  67. for(int j=0;j<MONTHS;j+=4){
  68. for(int t=DAYS-1;t>=0;t--){
  69. (days[i][t][j])?cout<<right<<setw(2)<<setfill(' ')<<days[i][t][j]: cout<<" ";
  70. if(t) cout<<" ";}cout<<" ";}cout<<"n";}
  71. /*-----------------------------*/
  72.  
  73. cout<<endl;
  74. for(int j=2;j<MONTHS;j+=4)
  75. cout<<setw(20)<<setfill(' ')<<monthStr[j];
  76. cout<<endl;
  77. for(int m=0;m<3;m++){
  78. for(int h=6;h>=0;cout<<weekDayStr[h]<<" ",h--);cout<<" ";}
  79. cout<<endl;
  80. for(int i=0;i<WEEKS;i++){
  81. for(int j=0;j<MONTHS;j+=4){
  82. for(int t=DAYS-1;t>=0;t--){
  83. (days[i][t][j])?cout<<right<<setw(2)<<setfill(' ')<<days[i][t][j]: cout<<" ";
  84. if(t) cout<<" ";}cout<<" ";}cout<<"n";}
  85.  
  86. }
  87.  

tvquran_6.gif

#6

مشكور اخوي على المساعدة

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

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

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

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

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