- #include <iostream.h>
- void rectangle(int heigth, int width);
- void isosceles(int heigth);
- void diamond(int heigth);
- int main()
- {
- int heigth;
- int width;
- char c;
- cout<<"please choose the shapes that you would like using,if you want to quit please enter Q(uit)"<<endl;
- cout<<"(R/I/D)"<<endl;
- cin>>c;
- if(c == 'R' || c == 'r')
- {
- cin>>heigth>>width;
- rectangle(heigth, width);
- }
- if(c=='I' || c=='i')
- {
- cin>>heigth;
- isosceles(heigth);
- }
- if(c=='D' || c=='d')
- {
- cout<<"Please enter an odd number!"<<endl;
- cin>>heigth;
- if((heigth%2) != 0)
- {
- diamond(heigth);
- }
- else
- {
- cout<<"This is an IllegalAgrument!"<<endl;
- }
- }
- return 0;
- }
- void rectangle(int heigth, int width)
- {
- int i = 0;
- int j = 0;
- char c = '*';
- for(i=0; i<heigth; i++)
- {
- for(j=0; j<width; j++)
- {
- cout<<c;
- }
- cout<<endl;
- }
- }
- void isosceles(int heigth)
- {
- int i;
- int j = 0;
- int k = 0;
- int row = heigth;
- int spacenum;
- int starnum;
- for(k=0; k<heigth; k++)
- {
- spacenum = row--;
- if(k==0)
- {
- starnum = 1;
- } else
- {
- starnum = k*2+1;
- }
- for(i=spacenum; i>0; i--)
- {
- cout<<" ";
- }
- for(j=1; j<=starnum; j++)
- {
- cout<<"*";
- }
- cout<<endl;
- }
- }
- void diamond(int heigth)
- {
- int rownum = heigth;
- int spacenum;
- int starnum;
- int i=0;
- int j=1;
- int k;
- int a = rownum/2;
- for(i=0; i<heigth; i++)
- {
- if(i<rownum/2)
- {
- spacenum = a--;
- }
- else
- {
- spacenum = a++;
- }
- //cout<<spacenum<<"sapcenum"<<endl;
- starnum = rownum -spacenum*2;
- //cout<<starnum<<"starnum"<<endl;
- for(j=0; j<spacenum; j++)
- {
- cout<<" ";
- }
- for(k=0; k<starnum; k++)
- {
- cout<<"*";
- }
- cout<<endl;
- }
- }
C++基础星形打印方法
最新推荐文章于 2024-07-14 13:39:50 发布