العودة إلى موقع برمج

لغة C++ لدي مشكلة مع جملة if داخل جملة while اذ انها لا تعمل بشكل كامل دائما اما ان يكون الشرط نفسه لا يعمل او حتى عدم تحقق الشرط اتمنى المساعدة 🙏 لقد سالت على اليوتيوب لكن اردتم ان ترو النص البرجي للتاكد من الخطا ارجو اخباري عن مكان المشكلة كي لا تتكرر

#1

#include
using namespace std;

int main(){

 while (true){
 int e ;  
 
 if (e <=0 && e >=6){
 
 cout <<" الرقم المدخل خاطئ يرجى ادخال رقم صحيح "<< endl ;
 
 exit (1);
 
 
 }
 
 else {
 
   
cout << " 1 لحساب الثواني " << 
endl <<  " 2 لحساب الدقائق " <<
endl << " 3 لحساب الساعات " << 
endl <<  " 4 لحساب الايام " << 
endl << " 5 لحساب الاسابيع " << endl ;
   
   cout << " ادخل رقم الحسابية المطلوبة "<< endl ;
   cin >> e ;
   
  switch(e){

// الصندوق 1 لحساب الثواني

   case 1 :
   
   int s ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> s ;
  
  
  
  cout << s * 365  * 24 * 60 * 60  <<" عدد ثواني  " << s << " من السنوات هو "<< endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;

// الصندوق 2 لحساب الدقائق

   case 2 :
   
   int m ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> m ;
  
  
  
  cout << m * 365 * 24 * 60 <<" عدد دقائق  " << m << " من السنوات هو "<< endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;

// الصندوق 3 لحساب الساعات

   case 3 :
   
   int z ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> z ;
  
 
  
  cout << z * 365  * 24 <<" عدد ساعات  " << z << " من السنوات هو "<<endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;

// الصندوق 4 لحساب الايام

  case 4 :
   
   int d ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> d ;
  
  
  
  cout << d * 365 <<" عدد ايام  " << d << " من السنوات هو "<<endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;

// الصندوق 5 لحساب الاسابيع

  case 5 :
   
   int w ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> w ;
  
  
  
  cout <<  " عدد اسابيع  " << w << " من السنوات هو " <<  w * 365  / 7 <<" اسبوعا و " <<  w * 365  % 7 << " يوما "<<endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;
  
  
  }}}
return 0;

}

#2

هل من الممكن تحديد المزيد من المعلومات او صورة توضح اين يحدث الخطأ لنتمكن من تحديد المشكلة ومساعدتك

#3

#include
using namespace std;

int main(){

 while (true){
 int e ;  
 
 if (e <=0 && e >=6){
 
 cout <<" الرقم المدخل خاطئ يرجى ادخال رقم صحيح "<< endl ;
 
 
 
 
 }
 
 else {

   
cout << " 1 لحساب الثواني " << 
endl <<  " 2 لحساب الدقائق " <<
endl << " 3 لحساب الساعات " << 
endl <<  " 4 لحساب الايام " << 
endl << " 5 لحساب الاسابيع " << endl ;
   
   cout << " ادخل رقم الحسابية المطلوبة "<< endl ;
   cin >> e ;
   
  switch(e){
   
   
   
   case 1 :
   
   int s ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> s ;
  
  
  
  cout << s * 365  * 24 * 60 * 60  <<" عدد ثواني  " << s << " من السنوات هو "<< endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;
  
        

   
   case 2 :
   
   int m ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> m ;
  
  
  
  cout << m * 365 * 24 * 60 <<" عدد دقائق  " << m << " من السنوات هو "<< endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;
           
                

   
   case 3 :
   
   int z ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> z ;
  
 
  
  cout << z * 365  * 24 <<" عدد ساعات  " << z << " من السنوات هو "<<endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;
  

  
  case 4 :
   
   int d ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> d ;
  
  
  
  cout << d * 365 <<" عدد ايام  " << d << " من السنوات هو "<<endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;
  

  
  case 5 :
   
   int w ;
   
   cout << " ادخل عدد السنوات " << endl ;
   cin >> w ;
  
  
  
  cout <<  " عدد اسابيع  " << w << " من السنوات هو " <<  w * 365  / 7 <<" اسبوعا و " <<  w * 365  % 7 << " يوما "<<endl ;
  cout << "\n\n\n\n  يمكنك اكمال احد المسائل التالية \n";
  
  break ;
  
  
  }}}
return 0;

}

اخي هذا هو النص البرمجي كامل يمكنك نسخه ولصقه ومعرفة المشكلة فالمشكلة في الكود نفسه وانا لم افهم ما هي المشكلة في عدم تشغيل جزء من جملة ال if

#4

المشكلة في الشرط المستخدم حيث انك استخدمت && ولن يتحقق الشرطين معا حيث كان يجب استخدام || ليتحقق الشرط في حال تحقق احد الشرطين
في حال اصلاح هذا الخطأ فستجد ان هذا الشرط سيتحقق بشكل دائم لان القيمة الافتراضية العشوائية التي ستعطى ل e ستحقق الشرط ووسيتم تكرار تنفيذ جملة الدوران while بشكل دائم ولن يختل الشرط لتتمكن من ادخال القيم المناسبة
لذلك اضافة لتعديل الشرط انت بحاجة الى نقل هذا الجزء من الكود الى قبل الجملة الشرطية في بداية جملة الدوران

int e ; 
  cout << " 1 لحساب الثواني " << 
endl <<  " 2 لحساب الدقائق " <<
endl << " 3 لحساب الساعات " << 
endl <<  " 4 لحساب الايام " << 
endl << " 5 لحساب الاسابيع " << endl ;
   cout << " ادخل رقم الحسابية المطلوبة "<< endl ;
   cin >> e ;
2 Likes
#5

شكرا لتصحيح اخطائي اسف لازعاجكم

1 Like