[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 113

 
Aşağıdaki örnekte break bırakmanın gerekli olup olmadığını söyleyin: (1) {..} içinde veya (2) }'den sonra çıkarmak için, aksi takdirde switch deyimi örneğinde durumda sadece bir eylem dikkate alınır.
 int a; double b; string c;

switch (a) // --- 1.
{  
   case 1 :  { b=Ask+SL_1* Point ; c= "with stop-loss = " +a; break ; }
   case 2 :  { b=Ask+SL_2* Point ; c= "with stop-loss = " +a; break ; }
   default : { b=Ask+SL_0* Point ; c= "with stop-loss = 0" ; }
}
switch (a) // --- 2.
{  
   case 1 :  { b=Ask+SL_1* Point ; c= "with stop-loss = " +a; } break ;
   case 2 :  { b=Ask+SL_2* Point ; c= "with stop-loss = " +a; } break ;
   default : { b=Ask+SL_0* Point ; c= "with stop-loss = 0" ; }
}
 

Kıvrımlı parantezler hiç gerekli değildir. Ama koyarsanız - o zaman içeri girin.

Her ne kadar ... fark ne ki, her neyse, yerine getirilmesi gerekiyor.

 
Mathemat :

{...} hakkında böyle düşündüm, if ile benzetme yaparak. Orada, 1'den fazla işlem gerekliyse {...}. Vaka operatörünün felsefesi, ondan sonra her şey (!) yürütülecek şekildeyse, o zaman {...} öğesini tamamen kaldırmam gerektiğini hissediyorum, şöyle:
 switch (a)
{  
   case 1 :  b=Ask+SL_1* Point ; c= "with stop-loss = " +a; break ;
   case 2 :  b=Ask+SL_2* Point ; c= "with stop-loss = " +a; break ;
   default : b=Ask+SL_0* Point ; c= "with stop-loss = 0" ;
}
 
İyi de öyle yazıyorlar.
 
paladin80 :
{...} hakkında böyle düşündüm, if ile benzetme yaparak. Orada, 1'den fazla işlem gerekliyse {...}. Case ifadesinin felsefesi, ondan sonra her şey (!) yürütülecek şekildeyse, o zaman {...} öğesini tamamen kaldırmam gerektiğini hissediyorum, şöyle:

Her şey aradan önce yürütülür, aksi takdirde varsayılandır.

onlar.

 case 1 :  b=Ask+SL_1* Point ; c= "with stop-loss = " +a; break ;
или
case 1 :  b=Ask+SL_1* Point ; c= "with stop-loss = " +a; return ( 09 , 05 );
приемлема и работает.

{...} büyük/ küçük harfe ima edilir (çıktıyı ekrana yazdırmayı deneyin;)).

 
Sadece küçük bir istisna. GO TO deyimi, ancak yalnızca {} içinde :)
 
costy_ : , aksi takdirde varsayılan.

Evet ve kodunuz hiç derlenmeyecek - bu nedenle:

 return ( 09 , 05 );
 
Bana şunu söyle: Hesaplamalarda birkaç dizi kullanıyorum ve diziler arasında geçiş yapmam gerekiyor, ancak istenen dizinin her kullanımından önce sabit bir koşul kullanmak pek uygun değil. MT4'te durumu 1 kez kontrol etmek için referans değişkenler var mı ve ardından şimdi çalışmak için hangi diziye ihtiyacım olduğunu yazın, belgelerde bir şey bulamadım.
 

Hayır, değişkenler (ve diziler de) yalnızca bir işleve başvurularak iletilebilir.

 

Arkadaşlar bir sorum var:

TimeHour - Belirtilen zaman için saati döndürür.

Hem 0 hem de 24'ün değerini anlıyor mu?

yazarsanız:

 extern double TimeStart = 24.0 ;

if ( TimeHour ( TimeCurrent ()) >= TimeStart )
   {
    ...
   }

Böyle bir işlev mümkün mü?

Veya başka bir koşul gereklidir: if (TimeStart >= 24.0) TimeStart = TimeStart - 24.0;

 extern double TimeStart = 24.0 ;

if (TimeStart >= 24.0 )  TimeStart = TimeStart - 24.0 ;

if ( TimeHour ( TimeCurrent ()) >= TimeStart )
   {
    ...
   }
İlk seçenek düzgün çalışabilir mi? Yoksa ikincisini yapmak mı?