2015-03-11 2 views
0

Мне нужно, чтобы мой код выводил «столбы забора» один за другим в одной строке, но они идут по разным строкам. Это мой код до сих пор:Пока цикл петли на отдельных линиях; Нужно быть на той же линии

#include <iostream> 

using namespace std; 

int main(void) { 
    int posts; 

    cout << "\nI can make a fence with from 2 to 18 posts.\n"; 
    cout << "How many posts would you like to have in your fence? "; 

    cin >> posts ; 
    if ((posts > 1) && (posts < 19)) { 
     while ((posts > 1) && (posts < 19)) { 
      cout << "|---" ; 
      posts = posts - 1; 
      cout << "|\n" ; 
     } 
    } 
    else { 
     cout << "\n\nSorry, no can do.\n"; 
    } 
} 

И это то, что он выводит:

I can make a fence with from 2 to 18 posts. 
How many posts would you like to have in your fence? 4 
|---| 
|---| 
|---| 
+0

'cout <<" | \ n "; 'создает новую строку. Если вам не нужны новые символы, то избавиться от него. – NathanOliver

ответ

0

Замените внутренний контур с:

while (--posts) 
    cout << "|---"; 
cout << "|\n"; 
+0

Это будет делать то, что делает OP. – mstbaum

+0

Не совсем, но я исправил его – avim

0

Перемещение COUT < < «| \ n "вне цикла while.

while ((posts > 1) && (posts < 19)) 

{ 
    cout << "|---" ; 
    (posts = posts - 1) ; 
} 

cout << "|\n" ; 

} 
Смежные вопросы