2016-10-25 3 views
0

В C++ возможно ли, чтобы я сделал цикл, который запрашивает у пользователя ввод информации и возвращается назад, чтобы спросить, хотят ли они продолжать добавлять информацию до тех пор, пока они не делают. И сохраните значения, которые они ввели в разные части массива?Как собрать несколько строк и ввести их в массив

Ive пытался использовать цикл while, но что произойдет, это подскажет, хотят ли они добавить информацию, они выбирают «да», они добавляют его, если нет, он помещает в терминал то, что они набрали, но если я да, два раза, я просто перезаписываю первое значение, любой способ исправить это? Я новичок в программировании и буду благодарен за любую помощь, спасибо. (То, что я просто шаблон, чтобы уйти от, я знаю, почему он не работает, я ушел из директивы препроцессора

#include <iostream> 
#include <string> 
using namespace std; 

int main() 

{ 

    string add; 

    string name [100]; 

    while (true) 
    { 
     cout <<"Would you like to add a name? Yes or No? \n"; 
     getline(cin, add); 
     if (add == "yes" or add == "Yes") 
      { 
       cout<<"Enter a name\n"; 
       getline(cin, name); 
      } 
     else if(add == "no" or add == "No") 
      {break;} 
     else 
     { 
      cout <<"sorry, that is not a valid response"<<endl<<endl; 
     } 
    } 
    cout<<name; 
    return 0; 
} 

Я думаю, пытаясь использовать указатели могли бы работать, но они путают меня ха-ха . Любая помощь или совет был бы весьма признателен, спасибо.

+1

*** В C++ возможно ли создать цикл, который запрашивает у пользователя ввод информации и обратную связь, чтобы спросить, хотят ли они продолжать добавлять информацию, пока они этого не сделают. И сохраните значения, которые они ввели в разные части массива? *** Да. – drescherjm

+0

Подсказка: возможно, вы хотите, чтобы целое число было индексом для вашего массива. Запустите его при 0 и приращении после каждого добавляемого вами элемента. – drescherjm

+0

Stl vector or list – macroland

ответ

0

Использование станд :: вектор может сделать вашу жизнь проще здесь См. Фрагмент кода:

#include <iostream> 
#include <string> 
#include <vector> 
using namespace std; 

int main() 
{ 
string add; 
string name; 
vector<string> names; 

while (true) 
{ 
    cout <<"Would you like to add a name? Yes or No? \n"; 
    getline(cin, add); 

    if (add == "yes" or add == "Yes") 
     { 
      cout<<"Enter a name\n"; 
      getline(cin, name); 
      names.push_back(name); 
     } 
    else if(add == "no" or add == "No") 
     { 
      break; 
     } 
    else 
    { 
     cout <<"sorry, that is not a valid response"<<endl <<endl; 
    } 
} 

// printing contents 
for(auto n:names) 
    cout << *n <<endl; 
return 0; 
} 
+0

Ладно, большое вам спасибо, я попробую это, как только смогу, я ценю помощь. –

0

Использование массива Имя с индексом вместо имени переменной, когда хранится информация, как этот

#include <iostream> 
#include <string> 
using namespace std; 

int main() 

{ 

    string add; 

    string name [100]; 

    int index = 0; //Index Location of Array 

    while (true) 
    { 
     cout <<"Would you like to add a name? Yes or No? \n"; 
     getline(cin, add); 
     if (add == "yes" or add == "Yes") 
      { 
       cout<<"Enter a name\n"; 
       getline(cin, name[index]); // write name with index to insert value in particular index 
      } 
     else if(add == "no" or add == "No") 
      {break;} 
     else 
     { 
      cout <<"sorry, that is not a valid response"<<endl<<endl; 
     } 
    } 

    //loop here to output all value of name as mention above 
    cout<<name; 

    return 0; 
} 
+0

Цените помощь, спасибо ребятам –

Смежные вопросы