2012-06-26 41 views
1

所以我有这个代码,这使得一个盒子,但想要使角+,长度|和宽度 - 。也想输入一个数字,所以你可以画他们像cout < <“输入长度数”等等......我会怎么做?如何用循环为C++绘制一个矩形?

这里是我必须做出一个盒子:

#include <iostream.h> 
#include <string.h> 

void main() 
{ 
    for(int z=1; z<=79; z++) 
    { 
    cout << ""; 
    } 

    cout << endl; 

    for(int i=1; i<=5; i++) 
    { 
    cout << ""; 
    for(int j=1; j<=77; j++) 
    { 
     cout << " "; 
    } 

    cout << "" << endl; 
    } 

    for(int y=1; y<=79; y++) 
    { 
    cout << ""; 
    } 

    cout << endl; 
} 
+0

我不知道如何发布代码!!?但这里是我必须做一个盒子---> – user1467995

+0

和继承人一个我的意思是关于在数字中输入的例子 - > #include using namespace std; void main() { \t int number,i,j; \t cout <<“Enter number:”; \t cin >> number; \t for {etc ..... – user1467995

+1

要在您的文章中输入代码,只需按照您在文本编辑器中输入代码(或者更好的方式,如果从文本编辑器中复制),然后全选并按下' {}'按钮。或者,您可以通过额外的4个空格手动缩进所有内容,这是'{}'按钮的作用。 –

回答

2

绘制一个矩形,其中int height是高度和int width是宽度

#include <iostream> 

void draw_rect(int width,int height) 
{ 
    using std::cout; 
    cout << "+"; 
    for (int i = 0; i < width - 2; i++) 
    { 
     cout << "-"; 
    } 
    cout << "+\n"; 

    for (int i = 0; i < height - 2; i++) 
    { 
     cout << "|"; 
     for (int j = 0; j < width - 2; j++) 
     { 
      cout << " "; 
     } 
     cout << "|\n"; 
    } 

    cout << "+"; 
    for (int i = 0; i < width - 2; i++) 
    { 
     cout << "-"; 
    } 
    cout << "+\n"; 
} 

int main() 
{ 
    draw_rect(8,6); 
    return 0; 
} 

而对于如何让用户输入阅读本: Basic C++ IO

+0

您实际上不需要从main()返回任何东西。 – twsaef

+0

它是'int main()'(而不是'void main()',这甚至不是标准的),所以你必须返回一些东西 –

+0

实际上,没有'int main()'是一个特殊情况并且会返回0 ;'如果你没有明确的返回语句。如你所说,'void main()'总是错误的。请参阅http://stackoverflow.com/questions/204476/what-should-main-return-in-cc – twsaef

0
#include <iostream> 
using namespace std; 

void draw_rect(int width, int height) 
{ 
int i; 
cout << char(218); 
for (i=0; i<width-2; i++) 
cout << char(196); 
cout << char(191) << endl; 

for (i=0; i<height-2; i++) 
{ 
cout << char(179); 
for (int j=0; j<width-2; j++) 
cout << " "; 
cout << char(179) << endl; 
} 
cout << char(192); 

for(i=0; i<width-2; i++) 
cout << char(196); 
cout << char(217) << endl; 
} 

int main() 
{ 
draw_rect(20,10); 
return 0; 
} 
+0

请将解释添加到您的答案中。解释问题的堆栈位置并评论你的解决方案。 – Yurets