MQL uzmanları için soru - sayfa 6

 

Aşağı yukarı böyle mi? - Yerine

 int getNextOrderNum( int RRRR) {
   switch (RRRR) {
   case 101 :
       return ( 102 );
                  }
   return ( 0 );
}

Lütfen. bana burada ne soracağımı söyle:

(Magic_101, Magic_102 için)

 int getNextOrderNum( int RRRR) {
  ..... ?... ... ?
   return ( 0 );
}

 

Andrey, derlenmeyeceği açık. Belki sadece başkaları için bir görev belirler? Ve bana öyle geliyor ki, bu durumda her şey oldukça şeffaf.

Girişlerde (kodda doğru) işaretleri kullanın ve bu kadar ... Neden yaygara ve yardım için hırıltı anlamıyorum ...)))

 

Belki kod olmadan söyleyemem. Büyük olasılıkla, elbette, daha kolay yapılabilir.

Rita :

Lütfen. bana burada ne soracağımı söyle:

{
   if (RRRR == 101 )
   {
       return ( 102 );
   }
   else if (RRRR == 102 )
   {
       return ( 103 );
   }
   //...
}

İşte olabilecek başka bir sorun - her yeni koşulda yuvalama artar ve seviyesi sınırlıdır, yani. yuvalama seviyesi 20 civarındaysa (tam olarak hatırlamıyorum), kod yeniden derlenmeyi durduracaktır.

Alternatif bir öneri var - soruyu burada daha ayrıntılı kodla tekrarlayın, büyük olasılıkla çok daha şeffaf ve basit hale getirme fırsatı vardır.

 

Başka yok sınırsız

   if (RRRR == 101 ){
      return ( 102 );
   }
   if (RRRR == 102 ){
      return ( 103 );
   }
   //...
 
return(RRRR+1)
 
Belki sadece sihri birer birer artıran bir işlev. Böyle bir örnekte gerekli. Tamsayı'nın son örneği sadece bu operadan olsa da
 
Integer :

Başka yok sınırsız

100%. Bu karar durdurulmalıdır. Kuyruk ve sümük yok, tüm değişiklikler kesinlikle eski anahtarla sınırlıdır.
 

Herkese iyi akşamlar.

O yüzden pek anlamadım. Rakamlarla verilen danışmanın kodundaki sihirleri (yaklaşık 20 tane var) değiştirmem gerekiyor. Benden büyüyü global değişkenlere taşımam istendi. İşlendi.

Magic_101=Sihir+1;
Magic_102=Büyü+2;
Magic_103=Büyü+3; ......

Integer'den gelen teklifi doğru anladım mı?

Sihirlerin sayılarla verildiği fonksiyon kodu yerine:

 int getNextOrderNum( int Магик) {
   switch (Магик) {
   case 101 :
       return ( 102 );
   case 102:
       return (103);
   
      }
   return ( 0 );
}

Böyle sormak doğru olur mu? -

 int getNextOrderNum( int Магик) {
   if (Магик == Magic_101)    {   return (Magic_102);}
   if (Магик == Magic_102)    {   return (Magic_103); }
    
                 return ( 0 );
                              }
 
Rita :

Herkese iyi akşamlar.

O yüzden pek anlamadım. Rakamlarla verilen danışmanın kodundaki sihirleri (yaklaşık 20 tane var) değiştirmem gerekiyor. Benden büyüyü global değişkenlere taşımam istendi. İşlendi.

Magic_101=Büyü*1;
Magic_102=Büyü*2;
Magic_103=Büyü*3; ......

Integer'dan gelen teklifi doğru anladım mı?

Sihirlerin sayılarla verildiği fonksiyon kodu yerine:

Böyle sormak doğru olur mu? -


 int getNextOrderNum( int Магик) {
   int Res=Магик+ 1 ;
   if (Res>MagicMax) Res=MagicMin;

   return (Res);
}
 
Teşekkürler Victor. Şimdi deneyeceğim.