2016-04-03 23 views
-1

Bilmiyorum, başka bir şey olup olmadığını bilmiyorum ve bunları birleştirip birleştiremeyeceğinizi bilmiyorum, bu durumdan emin değilim ya da sadece frenleri yanlış yaptım, ama konuyu bulmak için saatlerce ve ben her ihtimale it.Here en bütün kodunu bulamıyorum:Eğer başka bir şey varsa/Kombinasyonu değiştir

const Fanta = 250,Sprite = 250,Cola = 250,Dirol = 450,Snickers = 300,Lays = 800; 
var a = prompt("1:Fanta = 250, 2:Sprite = 250, 3:Coca Cola = 250, 4:Dirol = 450, 5:Snickers = 300, 6:Lays = 800"); 
function math() 
{ 
    switch(a) 
    { 
     case 1: 
alert("You chose Fanta"); 
var money = prompt("Put money in"); 
alert("You put in " + money) 
if(money >= 250) 
{ 
    alert("You just purchased a Fanta! Take back " + (money - Fanta)); 
} 
default: 
{ 
alert("Error! You didn't put in enough money") 
} 
} 
    switch(a) 
    { 
     case 2: 
alert("You chose Sprite"); 
var money = prompt("Put money in"); 
alert("You put in " + money) 
if(money >= 250) 
{ 
    alert("You just purchased a Sprite! Take back " + (money - Sprite)); 
} 
else 
{ 
alert("Error! You didn't put in enough money") 
} 
} 
    switch(a) 
    { 
     case 3: 
alert("You chose Cola"); 
var money = prompt("Put money in"); 
alert("You put in " + money) 
if(money >= 250) 
{ 
    alert("You just purchased a Coca Cola! Take back " + (money - Cola)); 
} 
else 
{ 
alert("Error! You didn't put in enough money") 
} 
} 
    switch(a) 
    { 
     case 4: 
alert("You chose Dirol"); 
var money = prompt("Put money in"); 
alert("You put in " + money) 
if(money >= 450) 
{ 
    alert("You just purchased a Dirol! Take back " + (money - Dirol)); 
} 
else 
{ 
alert("Error! You didn't put in enough money") 
} 
} 
    switch(a) 
    { 
     case 5: 
alert("You chose Snickers"); 
var money = prompt("Put money in"); 
alert("You put in " + money); 
if(money >= 300) 
{ 
    alert("You just purchased a Snickers! Take back " + (money - Snickers)); 
} 
else 
{ 
alert("Error! You didn't put in enough money") 
} 
} 
    switch(a) 
    { 
     case 6: 
alert("You chose Lays"); 
var money = prompt("Put money in"); 
alert("You put in " + money) 
if(money >= 800) 
{ 
    alert("You just purchased a Sprite! Take back " + (money - Lays)); 
} 
else 
{ 
alert("Error! You didn't put in enough money") 
} 
} 
} 
math(); 
+1

Yalnızca bir switch deyimi, daha sonra varsayılan vaka ile kapanış, tüm vakaları listelemek: Cevap böyle yapabilir olduğunu. – connexo

+0

Yıllar önce okuduğum andan itibaren, anahtar deyimleri, derleme kodunda "vektör atlama" olarak bilinen şeyi kullanır. 1 komut kullanır. Ancak if/else-if/else-if/else-if/else ifadelerinin bir listesi daha fazla CPU komutu kullanır. Bu yüzden anahtarlar if/else ifadelerinin yığınlarından daha hızlıdır. Her ne kadar, modern CPU'lar 3-4 GHz * 4+ çekirdeğe sahip olsa da, bugün bir tartışma noktasıdır. Anahtarların okunması daha kolay olabilir, ancak eksik parantezlerin olup olmadığını veya düzgün bir şekilde hizalanmadığı takdirde kodun doğru bir şekilde girilmesi gerekir. BTW: Bunlar parantezler {}. Bunlar parantez: []. – Clomp

+0

Her yanıtı denedim, hiçbiri işe yaramadı, en yakın olan @fucedebads, ama ben 1 yazdığımda, bir içki seçmeye çalıştığım zaman yeterli para koymadığını söyledi, –

cevap

0

sen birleştirmek gerekir benim düşünceme göre

switch(a) { 
// switch block 
} 
switch(a) { 
// another switch block 
} 
// and so on 

gibi bir şey yazmak tek tek blokta geçiş yaparsınız. Ve case: bloklar yılında break koymak unutmayın Yani kod irade benziyor:

durumlarda bir dizi yazmak için
switch(a) { 
    case x: 
     // case block 1 
     break; 

    case y: 
     // case block 2 
     break; 
// other cases 
    default: 
     // if no one case is matched 
} 
0

, sen anahtarı yazmaya gerek yoktur, (a) bir kaç sefer. Yapmanız gereken tek şey, tüm durumları tek anahtar() içinde yazmak ve ara vermek; Bu dava sonunda.

kodunuzu yazarak doğru yol olacağını:

const Fanta = 250,Sprite = 250,Cola = 250,Dirol = 450,Snickers = 300,Lays = 800; 
var a = prompt("1:Fanta = 250, 2:Sprite = 250, 3:Coca Cola = 250, 4:Dirol = 450, 5:Snickers = 300, 6:Lays = 800"); 
function math() 
{ 
    switch(a) 
    { 
     case 1: 
      alert("You chose Fanta"); 
      var money = prompt("Put money in"); 
      alert("You put in " + money) 
      if(money >= 250) 
      { 
       alert("You just purchased a Fanta! Take back " + (money - Fanta)); 
      } 
      break; 
     default: 
      { 
       alert("Error! You didn't put in enough money") 
      } 
      break; 
     case 2: 
      alert("You chose Sprite"); 
      var money = prompt("Put money in"); 
      alert("You put in " + money) 
      if(money >= 250) 
      { 
       alert("You just purchased a Sprite! Take back " + (money - Sprite)); 
      } 
      else 
      { 
       alert("Error! You didn't put in enough money") 
      } 
      break; 
     case 3: 
      alert("You chose Cola"); 
      var money = prompt("Put money in"); 
      alert("You put in " + money) 
      if(money >= 250) 
      { 
       alert("You just purchased a Coca Cola! Take back " + (money - Cola)); 
      } 
      else 
      { 
      alert("Error! You didn't put in enough money") 
      } 
      break; 
     case 4: 
      alert("You chose Dirol"); 
      var money = prompt("Put money in"); 
      alert("You put in " + money) 
      if(money >= 450) 
      { 
       alert("You just purchased a Dirol! Take back " + (money - Dirol)); 
      } 
      else 
      { 
      alert("Error! You didn't put in enough money") 
      } 
     break; 
     case 5: 
      alert("You chose Snickers"); 
      var money = prompt("Put money in"); 
      alert("You put in " + money); 
      if(money >= 300) 
      { 
       alert("You just purchased a Snickers! Take back " + (money - Snickers)); 
      } 
      else 
      { 
      alert("Error! You didn't put in enough money") 
      } 
      break; 
     case 6: 
      alert("You chose Lays"); 
      var money = prompt("Put money in"); 
      alert("You put in " + money) 
      if(money >= 800) 
      { 
       alert("You just purchased a Sprite! Take back " + (money - Lays)); 
      } 
      else 
      { 
      alert("Error! You didn't put in enough money") 
      } 
      break; 
    } 
} 
math(); 
+0

Çalışmadı, ama yine de teşekkürler –

0
switch(expression) { 
    case n: 
     code block 
     break; 
    case n: 
     code block 
     break; 
    default: 
     default code block 
} 
iyi kodu optimize etmelidir
1

... varsayılan olarak sadece anahtar çalışır ve kodunuzda hiçbir içecek olduğunu seçenektir . ... ist seçilen

var enough_money=false; var diff=0; var drink=""; 
switch(a){ 
    case(1): 
     alert(...); 
     if(...){ 
     enough_money=true; 
     diff= money-cola; 
     drink= "Cola"; 
     } 
     break; 
    case(2): 
     alert(...); 
     if(...){ 
     enough_money=true; 
     diff= money-cola; 
     drink= "Cola"; 
     } 
     break; 
    default: 
    alert("Please choose!"); 
} 

if(enough_money){ 
    alert(drink+ ' rest money'+diff); 
} 
İlgili konular