标题:[求助]看这代码能合并FOR循环吗?
只看楼主
lianxin19
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-7-8
 问题点数:0 回复次数:12 
[求助]看这代码能合并FOR循环吗?

#include<iostream.h>
class person
{
private:
int a,i,j,k;
public:
void fn();
void sn();
person();

};
person::person()
{
cout<<"*****************************打印一个松树***************************"<<endl;
}
void person::sn()
{
cout<<"请输入数值:";
while(cin>>a)
{
if(a>4&&a<8)
fn();
else
cout<<"输入错误"<<endl;
cout<<"请输入:";
}
}
void person::fn()
{
for(i=0;i<a;i++)
{
for(j=10;j>=i;j--)
{
cout<<" ";
}
for(k=1;k<=2*i+1;k++)
{
if(k%2!=0)
cout<<"*";
else
cout<<" ";
}
cout<<endl;
}
for(i=0;i<a+2;i++)
{
for(j=9;j>=i;j--)
{
cout<<" ";
}
for(k=1;k<=2*i+3;k++)
{
if(k%2!=0)
cout<<"*";
else
cout<<" ";
}
cout<<endl;
}
for(i=0;i<a+3;i++)
{
for(j=8;j>=i;j--)
{
cout<<" ";
}
for(k=1;k<=2*i+5;k++)
{
if(k%2!=0)
cout<<"*";
else
cout<<" ";
}
cout<<endl;
}
for(i=0;i<a+3;i++)
{
for(j=10;j>=0;j--)
{
cout<<" ";
}
for(k=1;k<2;k++)
{
cout<<"*";
}
cout<<endl;
}

}
void main()
{
int a ;
person st;
st.sn();
}

搜索更多相关主题的帖子: FOR person void cout 
2006-07-14 23:56
摄政王:多尔滚
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2006-7-9
得分:0 
go C++

19世纪是火车的时代,20世纪是汽车的时代,21世纪是网络的时代。有谁不同意?
2006-07-15 00:02
lianxin19
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-7-8
得分:0 

我刚学C++在练手,本人还处于C初级阶段~只需要看FOR循环算法~


2006-07-15 00:05
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-15 07:15
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-15 07:18
lianxin19
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-7-8
得分:0 

我们学的东西多但不深专~具体靠自己


2006-07-16 05:18
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 07:18
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
得分:0 

程序可以正常运行,至于能不能合并我想LZ自己最清楚吧,毕竟画松数的算法是LZ自己想的,
多想想应该十程序更精简些


很高兴能和大家一起学习程序! QQ:114109098
2006-07-16 09:43
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
可以,C++提供填充字符的函数,你还是去看看书吧

倚天照海花无数,流水高山心自知。
2006-07-16 13:16
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
C++里提供一种填充字符的函数.
可以轻松的做到这一点.你可以看看一下下面的程序,是打印
*
***
*****
*******
*****
***
*


#include<iostream.h>
#include<iomanip.h>
#define N 4
int main()
{
int i;
for(i=1;i<=N;i++)
cout<<setfill( )<<setw(N-i)<<setfill(*)<<setw(2*i-1)<<endl;
for(i=N+1;i<=2*N-1;i++)
cout<<setfill( )<<setw(i-N)<<setfill(*)<<setw(2*(i-N)-1)<<endl;
return(0);
}
//然后参照一下,就可以合并你的for()了

倚天照海花无数,流水高山心自知。
2006-07-16 13:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-78396-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055845 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved