2016-02-25 3 views
-1

В настоящее время я работаю над проектом, в котором пользователю предлагается ввести высоту, ширину и символ, который они хотели бы использовать для своего окна. Я должен создать сплошную и пустоту, используя для петель. Я создал сплошной без проблем, но когда дело доходит до пустого, у меня возникают некоторые проблемы. Любая помощь приветствуется.C++ Как создать полый прямоугольник/прямоугольник с пользовательским вводом?

int main() 

{ 
    int height; 
    int width; 
    int i, j; 
    char ch; 

    cout << "Please enter your height: "; 
    cin >> height; 

    cout << "Please enter your width: "; 
    cin >> width; 

    cout << "Please enter your character: "; 
    cin >> ch; 

    for (i = 1; i <= height; i++) 
    { 
     for (j = 1; j <= width; j++) 
      cout << ch; 
     cout << endl; 
    } 

    cout << "Press any key to continue to the next shape." << endl; 
    _getch(); 

    for (i = 1; i <= height; i++) 
    { 
     for (j = 1; j <= width; j++) 
     { 
      if (i == 1 || i == width -1 || j == 1 || j == height) 
       cout << ch; 
      else cout << " "; 
     } 
     cout << endl; 
    } 

    system("pause"); 
    return 0; 

} 
+0

«Некоторые вопросы» не очень хорошая постановка задачи. Пожалуйста, отредактируйте свой вопрос, чтобы включить более конкретное описание. – Ajean

ответ

1

Вы можете написать это в вложенной цикл:

if((i==1 || i==height) || (j==1 || j==width)) 
    cout << ch; 
else 
    cout << " "; 
+0

Так что я был просто дизъю, и я случайно переключил i и j? Спасибо за помощь! –

+0

Добро пожаловать. :) –

0

Это код для ввода пустотелой коробки. w - это ширина, h - это высота, и c - персонаж, который нужно использовать.

int w, h; 
char c; 

int i, j; 

/* write the first line */ 
for (i = 0; i < w; ++i) 
    putchar(c); 
putchar('\n'); 

/* write the inner lines */ 
for (j = 0; j < h - 2; ++j) { 
    putchar(c); 
    for (i = 0; i < w - 2; ++i) 
     putchar(' '); 
    putchar(c); 
    putchar('\n'); 
} 

/* write the final line */ 
for (i = 0; i < w; ++i) 
    putchar(c); 
putchar('\n'); 
Смежные вопросы