Это мое задание для compsci, и я застрял в самом конце, как заставить звездное поле «*» повторять, сколько раз пользователь хочет.
Напишите программу, которая распечатывает серию звездных полей (т. Е. «*»). Каждое поле будет иметь n строк и m столбцов. Разрешить пользователю вводить количество строк (не менее 1, но не более 5) и столбцов (не менее 5, но не более 50), а также количество полей (не менее 3, но не более 10) , Каждое поле должно быть разделено 3 полными пустыми строками.
Ваша программа должна включать как минимум две функции: одну для получения входных данных от пользователя и одну для рисования каждого поля. Используйте циклы for для создания полей, а также для распечатки нескольких полей. НЕ используйте строку «». Скорее распечатайте персонажа».
код
#include <iostream>
using namespace std;
void displayField(int numrows, int numcolums);
void getData (int numrows, int numcolumns, int numfields);
const char c = '*';int main(void)
{
int numrows, numcolumns, numfields;
cout << "Welcome to the banner creation program!" << endl;
cout << "Enter the number of rows (1 - 5) --> ";
cin >> numrows;
if(numrows<1 || numrows>5){
cout << "Your entered value is outside the range!" << endl;
cout << "Program will now halt..." << endl;
exit(0);}cout << "Enter the number of columns (5 - 50) --> ";
cin >> numcolumns;
if(numcolumns<5 || numcolumns>50){
cout << "Your entered value is outside the range!" << endl;
cout << "Program will now halt..." << endl;
exit(0);
}
cout << "Enter the number of rows (3 - 10) --> ";
cin >> numfields;
if(numfields<3 || numrows>10){
cout << "Your entered value is outside the range!" << endl;
cout << "Program will now halt..." << endl;
exit(0);
}
for(int i=1; i<=numrows; i++){
for (int j=1; j<=numcolumns; j++)
cout << c;
cout <<endl;
}}
Чтобы сломать вещи …
1) Для каждого поля есть множество строк.
2) Для каждой строки есть многочисленные столбцы
3) Для каждого столбца есть символ ‘*’
Теперь, когда мы так написали, мы знаем, что нам нужно иметь 3 разных цикла. Но есть ограничения.
В конце каждой строки нам нужно начать новую строку.
В конце каждого поля нам нужно три пустых строки.
for (int i = 0; i < numFields; i++) {
for (int j = 0; j < numRows; j++) {
for (int k = 0; k < numColumns; k++) {
cout << c;
}
cout << endl;
}
cout << endl << endl << endl;
}
Кроме того, вы должны дважды проверить свою работу. Я заметил, что вы используете несколько переменных в неправильных местах Подсказка Подсказка.
Других решений пока нет …