這裏是我用C++編寫的完整程序,while while循環,它在第一次運行時正確,但是當它循環時它無法正常工作。C++簡單代碼中的字符串數組
該程序將名稱存儲到數組中並打印出來。數組大小是50,所以我想在數組中存儲50個名字。
任何幫助將不勝感激。 謝謝。
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
void start(int c);
string NameArray [50];
char response;
int main() {
int count=1;
do {
count = count - 1;
start(count);
cout << "do you want to add another name? ";
cin>> response;
count = count + 2;
cout<< endl;
} while (tolower(response)=='y');
cout<< "program Ends" <<endl;
system ("pause");
return 0;
}
void start(int count) {
cout<< "Enter your First and Last name: ";
getline(cin, NameArray[count]);
cout<< NameArray[count] <<endl;
cout<< endl;
}
再一次,不要說'using namespace std;'! –
爲什麼你從'count = 1開始;'然後遞減?爲什麼不跳過這一步並在'cin >>響應;'行之後循環中的每次迭代中應用'count ++;'?或者甚至更好,使用'static int count = -1; count ++;'在'start'函數內部,並且跳過'main'中的'count' ... – abiessu
這是一個完全可怕的循環索引。在第一個數字(0)處開始索引,並在添加輸入後增加*。索引只能在循環中的一個點上增加/減少,只能增加+/- 1。 –