1. 程式人生 > >為什麼我的switch語句不正確輸出星號在我的c++程式?

為什麼我的switch語句不正確輸出星號在我的c++程式?

程式應該輸出可變長度的垂直和水平線使用星號。 星號和方向的數量將會是決定由使用者輸入的語句。 它必須使用switch語句建立。 這是我目前的程式碼:

int main() {

// Variables
int length = 1;
char direct;

// User input choice
if (length >= 1 && length <= 20) {
    cout << "\nEnter the line length and direction: ";
    cin >> length >> direct;
}

// If user input incorrect
else {
    system("pause");
}

// Switch cases for horizontal or vertical
switch (direct) {
case 'h': for (int count = 0; count <= length; count++) {
    cout << "*";
    break;
}
case 'H': for (int count = 0; count <= length; count++) {
    cout << "*";
    break;
}
case 'V': for (int count = 0; count <= length; count++) {
    cout << "*" << "\n" << endl;
    break;
}
case 'v': for (int count = 0; count <= length; count++) {
    cout << "*" << "\n" << endl;
    break;
}

default:  cout << "Illegal comand" << endl;

}

system("pasue");

}
這就是我的一個水平選擇輸出語句看起來像:

Enter the line length and direction: 4 h


*

Illegal Command
這就是我的一個垂直的選擇輸出語句看起來像:

Enter the line length and direction: 4 v

*

Illegal Command
這是我想要的水平一個看起來像:

Enter the line length and direction: 4 h


這是我想要的垂直一個看起來像:

Enter the line length and direction: 4 v





為什麼星號不輸出正確嗎? 為什麼每次輸出“非法命令”嗎? 也認為我應該注意到我是一個初學者在C + +。 謝謝!