2016-03-20 16 views
2

olmadan programı sonlanan durdurmak için yardıma mı ihtiyacınız var:Aşağıdaki kod yapmak gerekiyordu kullanıcıların rızası

  1. giriş numarasına kullanıcıya sor kullanıcı tarafından belirtilen liste oluşturmak

3.a) numara listede varsa, sayı * 2 ise, adım 2'ye geri dönün

numara listesinde değilse 3.b), aynı zamanda da döngünün amacından olan programı, sonlandırılacak) programı

Ancak basamak 3.a sonlandırabilir. Bu

#include <iostream> 
#include <array> 
using namespace std; 
int main() 
{ 
cout << "First we will make a list" << endl; 

array <int, 5>list; 
int x, number; 
bool isinlist = true; 

cout << "Enter list of 5 numbers." << endl; 

for (x = 0; x <= 4; x++) 
{ 
    cin >> list[x]; 
} 
while (isinlist == true) 
{ 
    cout << "now enter a number on the list to double" << endl; 
    cin >> number; 

    for (x = 0; x <= 4; x++) 
    { 
     if (number == list[x]) 
     { 
      cout << "The number is in the list. Double " << number << " is " << number * 2 << endl; 
     } 
     else 
      isinlist = false; 
    } 
} 
return 0; 
} 

birisi bana yardım eder misiniz çözmek için: buraya

kodudur?

+0

@therainmaker. Programın listede olmayan bir sayı girene kadar programın döngülemeye devam etmesini istiyorum. –

+0

Uygun bir cevap eklendi. – therainmaker

cevap

0

Ben ayrı bir işlevi içine adım 3 işlevselliğini saklanması öneririm. Bir işlevi aşağıdaki gibi tanımlayabilir ve ardından ana işlevdeki uygun bir konumda arayabilirsiniz.

void CheckVector(vector<int> yourlist) 
{ 
    .... // Take user input for number to search for 
    .... // The logic of searching for number. 
    if (number exists) 
    { 
    // cout twice the number 
    // return CheckVector(yourlist) 
    } 
    else 
    return; 
} 

aynı işlevselliği

bir fonksiyonu olan ihtiyacı kaçınarak, bir goto deyimi ile uygulanabilir. Ancak, goto kullanmak kötü bir uygulama olarak kabul edilir ve bunu tavsiye etmem.

0

Sorununuz listesinde bir tek değer kullanıcı girişi eşit değil en kısa sürede false isinlist ayarlanmış olmasıdır.

Sen while döngüsünün başında ay false isinlist ayarlayın ve bir eşleşme bulmak true olarak değiştirin gerekir.

bir hata ayıklayıcı ile kodunuzu Stepping sorunu anlamanıza yardımcı olmalıdır. Denemenizi tavsiye ederim.