Программа должна выводить вертикальные и горизонтальные линии различной длины, используя звездочки.Количество звездочек и направление, в котором они будут идти, определяется пользователем в операторе ввода.Он должен быть создан с помощью операторов 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 ++.Спасибо!