我需要用X標記用戶輸入的座位,然後再用標記的座位顯示飛機佈局(陣列),並且每次都重複一次。這是我的代碼,我有點卡住了。如果你能幫我把它分成兩個功能:第一個功能應該打印出陣列,第二個功能應該帶用戶輸入和標記座位,然後調用上一個功能刷新顯示。將我的代碼拆分爲功能
我的輸出應該是這樣的:
1 X B C D 2 A X C D 3 A B C D 4 A B X D 5 A B C D 6 A B C D 7 A B C D
我的代碼是:
#include <iostream>
using namespace std;
int main()
{
int rowNumber=-1, columnNumber=-1;
char columnLetter;
char airplane[7][4] = {{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'}};
for (int i=0; i<7; i++)
{
cout<<i+1<<"\t";
for (int j=0; j<4; j++)
{
cout<<airplane[i][j]<<"\t";
}
cout<<"\n";
}
do
{
cout<<"Enter row number:"<<endl;
cin>>rowNumber;
}while ((rowNumber<1)||(rowNumber>7));
do
{
cout<<"Enter column letter:"<<endl;
cin>>columnLetter;
}while (columnLetter!='A'&&columnLetter!='B'&&columnLetter!='C'&&columnLetter!='D');
if (columnLetter=='A')
{
columnNumber=0;
}
else if (columnLetter=='B')
{
columnNumber=1;
}
if (columnLetter=='C')
{
columnNumber=2;
}
else if (columnLetter=='D')
{
columnNumber=3;
}
airplane[rowNumber][columnNumber]='X';
system ("PAUSE");
return 0;
}
我試過,但它不會編譯,所以我不能移動到下一個打印標記座位的功能:
#include <iostream>
using namespace std;
void fillArray (char array[][4]);
int main()
{
char airplane[7][4] = {{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'},
{'A', 'B', 'C', 'D'}};
fillArray (airplane[][4]);
system ("PAUSE");
return 0;
}
void fillArray (char array[][4])
{
for (int i=0; i<7; i++)
{
cout<<i+1<<"\t";
for (int j=0; j<4; j++)
{
cout<<array[i][j]<<"\t";
}
cout<<"\n";
}
return;
}
enter code here
爲什麼不會你的函數編譯?你會得到什麼錯誤? –
代替'if(columnLetter =='A').. else if(columnLetter ='B')..' 使用'switch(columnLetter)' – Srinivas
將我們鏈接到[ideone]上的代碼(http:// ideone.com/)? – Srinivas