FUN

程序:

#include<iostream>
#include<vector>
#include<string>
using namespace std;
const string SPACE="     ";

class word{
     vector<string> line;
     public:
     word(char);
     ~word(){}
    
     word& operator+=(const word&);
     friend ostream& operator<<(ostream&,const word&);
     friend istream& operator>>(istream&,word&);
};

word::word(char cha){
                line.resize(8);
                switch(cha){
                            case 'a':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]=" aaa ";
                                 line[3]="a  a ";
                                 line[4]="a  a ";
                                 line[5]="a  a ";
                                 line[6]=" aa a";
                                 line[7]=SPACE;
                                 break;
                            case 'b':
                                 line[0]="b    ";
                                 line[1]="b    ";
                                 line[2]="b    ";
                                 line[3]="bbb  ";
                                 line[4]="b  b ";
                                 line[5]="b  b ";
                                 line[6]="bbb  ";
                                 line[7]=SPACE;
                                 break;
                            case 'c':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]=" cc  ";
                                 line[3]="c  c ";
                                 line[4]="c    ";
                                 line[5]="c  c ";
                                 line[6]=" cc  ";
                                 line[7]=SPACE;
                                 break;
                            case 'd':
                                 line[0]="   d ";
                                 line[1]="   d ";
                                 line[2]="   d ";
                                 line[3]=" ddd ";
                                 line[4]="d  d ";
                                 line[5]="d  d ";
                                 line[6]=" ddd ";
                                 line[7]=SPACE;
                                 break;
                            case 'e':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]=" eee ";
                                 line[3]="e   e";
                                 line[4]="eeeee";
                                 line[5]="e    ";
                                 line[6]=" eee ";
                                 line[7]=SPACE;
                                 break;
                            case 'f':
                                 line[0]="  f  ";
                                 line[1]=" f   ";
                                 line[2]="ffff ";
                                 line[3]=" f   ";
                                 line[4]=" f   ";
                                 line[5]=" f   ";
                                 line[6]=" f   ";
                                 line[7]="f    ";
                                 break;
                            case 'g':
                                 line[0]=SPACE;
                                 line[1]=" gg  ";
                                 line[2]="g  g ";
                                 line[3]="g  g ";
                                 line[4]=" ggg ";
                                 line[5]="   g ";
                                 line[6]="g  g ";
                                 line[7]=" gg  ";
                                 break;
                            case 'h':
                                 line[0]="h    ";
                                 line[1]="h    ";
                                 line[2]="h    ";
                                 line[3]="hhh  ";
                                 line[4]="h  h ";
                                 line[5]="h  h ";
                                 line[6]="h  h ";
                                 line[7]=SPACE;
                                 break;
                            case 'i':
                                 line[0]=SPACE;
                                 line[1]="i    ";
                                 line[2]=SPACE;
                                 line[3]="i    ";
                                 line[4]="i    ";
                                 line[5]="i    ";
                                 line[6]="i    ";
                                 line[7]=SPACE;
                                 break;
                            case 'j':
                                 line[0]=SPACE;
                                 line[1]="  j  ";
                                 line[2]=SPACE;
                                 line[3]="  j  ";
                                 line[4]="  j  ";
                                 line[5]="  j  ";
                                 line[6]=" j   ";
                                 line[7]="j    ";
                                 break;
                            case 'k':
                                 line[0]="k    ";
                                 line[1]="k    ";
                                 line[2]="k    ";
                                 line[3]="k k  ";
                                 line[4]="kk   ";
                                 line[5]="k k  ";
                                 line[6]="k  k ";
                                 line[7]=SPACE;
                                 break;
                            case 'l':
                                 line[0]="l    ";
                                 line[1]="l    ";
                                 line[2]="l    ";
                                 line[3]="l    ";
                                 line[4]="l    ";
                                 line[5]="l l  ";
                                 line[6]=" l   ";
                                 line[7]=SPACE;
                                 break;
                            case 'm':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]=" m m ";
                                 line[3]="m m m";
                                 line[4]="m m m";
                                 line[5]="m m m";
                                 line[6]="m m m";
                                 line[7]=SPACE;
                                 break;
                            case 'n':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]=SPACE;
                                 line[3]="nnn  ";
                                 line[4]="n  n ";
                                 line[5]="n  n ";
                                 line[6]="n  n ";
                                 line[7]=SPACE;
                                 break;
                            case 'o':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]=" ooo ";
                                 line[3]="o   o";
                                 line[4]="o   o";
                                 line[5]="o   o";
                                 line[6]=" ooo ";
                                 line[7]=SPACE;
                                 break;
                            case 'p':
                                 line[0]=SPACE;
                                 line[1]="ppp  ";
                                 line[2]="p  p ";
                                 line[3]="p  p ";
                                 line[4]="ppp  ";
                                 line[5]="p    ";
                                 line[6]="p    ";
                                 line[7]="p    ";
                                 break;
                            case 'q':
                                 line[0]=SPACE;
                                 line[1]=" qqq ";
                                 line[2]="q  q ";
                                 line[3]="q  q ";
                                 line[4]=" qqq ";
                                 line[5]="   q ";
                                 line[6]="   qq";
                                 line[7]="   q ";
                                 break;
                            case 's':
                                 line[0]=SPACE;
                                 line[1]=" ss  ";
                                 line[2]="s  s ";
                                 line[3]="s    ";
                                 line[4]=" ss  ";
                                 line[5]="   s ";
                                 line[6]="s  s ";
                                 line[7]=" ss  ";
                                 break;
                            case 't':
                                 line[0]=SPACE;
                                 line[1]=" t   ";
                                 line[2]=" t   ";
                                 line[3]="tttt ";
                                 line[4]=" t   ";
                                 line[5]=" t   ";
                                 line[6]=" t t ";
                                 line[7]="  t  ";
                                 break;
                            case 'u':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]="u  u ";
                                 line[3]="u  u ";
                                 line[4]="u  u ";
                                 line[5]="u  u ";
                                 line[6]=" uuuu";
                                 line[7]=SPACE;
                                 break;
                            case 'v':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]="v   v";
                                 line[3]="v   v";
                                 line[4]="v   v";
                                 line[5]=" v v ";
                                 line[6]="  v  ";
                                 line[7]=SPACE;
                                 break;
                            case 'w':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]="w w w";
                                 line[3]="w w w";
                                 line[4]="w w w";
                                 line[5]="w w w";
                                 line[6]=" w w ";
                                 line[7]=SPACE;
                                 break;
                            case 'x':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]="x   x";
                                 line[3]=" x x ";
                                 line[4]="  x  ";
                                 line[5]=" x x ";
                                 line[6]="x   x";
                                 line[7]=SPACE;
                                 break;
                            case 'y':
                                 line[0]=SPACE;
                                 line[1]="y   y";
                                 line[2]="y   y";
                                 line[3]=" y y ";
                                 line[4]="  y  ";
                                 line[5]="y y  ";
                                 line[6]=" y   ";
                                 line[7]=SPACE;
                                 break;
                            case 'z':
                                 line[0]=SPACE;
                                 line[1]=SPACE;
                                 line[2]="zzzzz";
                                 line[3]="   z ";
                                 line[4]="  z  ";
                                 line[5]=" z   ";
                                 line[6]="zzzzz";
                                 line[7]=SPACE;
                                 break;
                            default:
                                    line[0]=SPACE;
                                    line[1]=SPACE;
                                    line[2]=SPACE;
                                    line[3]=SPACE;
                                    line[4]=SPACE;
                                    line[5]=SPACE;
                                    line[6]=SPACE;
                                    line[7]=SPACE;
                            }
}
word& word::operator+=(const word& add){
      for(int i=0;i<8;i++){
              line[i]+=add.line[i];
      }
      return *this;
}
ostream& operator<<(ostream& os,const word& aim){
         for(int i=0;i<8;i++){
                 os<<aim.line[i]<<endl;
         }
         return os;
}
istream& operator>>(istream& is,word& aim){
         char temp;
         is>>temp;
         aim=*(new word(temp));
         return is;
}

int main(){
    string aim;
    getline(cin,aim);
    word draw(aim[0]);
    for(int i=1;i<aim.length();i++){
            draw+=word(aim[i]);
    }
    cout<<draw;
   
    char pause;
    cin>>pause;
    return 0;
}
           

 

你可能感兴趣的:(FUN)