Wednesday, May 31, 2017

BANNER program in C++

// If you've used Unix, you might be familiar with the Banner command.
// Here is my version of the Banner command on Dev C++. 

// Sample Output



#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <ctype.h>

void sleep(int delay)
{ time_t now = time(NULL);
  time_t later = now+delay;
  while(now<=later)
    now=time(NULL);
}

void banner(char *str)
{ int i, j;
  char alpha[26][7][12] = { { " AAAAA ",   // 3D array
                              "A     A",
                              "A     A",
                              "AAAAAAA",
                              "A     A",
                              "A     A",
                              "A     A",
                            }, 
                            { "BBBBBB ", 
                              "B     B",
                              "B     B",
                              "BBBBBB ",
                              "B     B",
                              "B     B",
                              "BBBBBB ",
                            },
                            { " CCCCC ", 
                              "C     C",
                              "C      ",
                              "C      ",
                              "C      ",
                              "C     C",
                              " CCCCC ",
                            },
                            { "DDDDDD ", 
                              "D     D",
                              "D     D",
                              "D     D",
                              "D     D",
                              "D     D",
                              "DDDDDD ",
                            },
                            { "EEEEEEE", 
                              "E      ",
                              "E      ",
                              "EEEEE  ",
                              "E      ",
                              "E      ",
                              "EEEEEEE",
                            },
                            { "FFFFFFF", 
                              "F      ",
                              "F      ",
                              "FFFFF  ",
                              "F      ",
                              "F      ",
                              "F      ",
                             },
                            { " GGGGGG", 
                              "G      ",
                              "G      ",
                              "G   GGG",
                              "G   G G",
                              "G   G G",
                              " GGGG G",
                            },
                            { "H     H", 
                              "H     H",
                              "H     H",
                              "HHHHHHH",
                              "H     H",
                              "H     H",
                              "H     H",
                            },
                            { "IIIIIII", 
                              "   I   ",
                              "   I   ",
                              "   I   ",
                              "   I   ",
                              "   I   ",
                              "IIIIIII",
                            },
                            { "JJJJJJJJ", 
                              "    J   ",
                              "    J   ",
                              "    J   ",
                              "    J   ",
                              "J   J   ",
                              " JJJ    ",
                            },
                            { "K   K", 
                              "K  K ",
                              "K K  ",
                              "KK   ",
                              "K K  ",
                              "K  K ",
                              "K   K",
                            },
                            { "L      ", 
                              "L      ",
                              "L      ",
                              "L      ",
                              "L      ",
                              "L      ",
                              "LLLLLLL",
                            },
                            { "M     M", 
                              "MM   MM",
                              "M M M M",
                              "M  M  M",
                              "M     M",
                              "M     M",
                              "M     M",
                            },
                            { "N     N", 
                              "NN    N",
                              "N N   N",
                              "N  N  N",
                              "N   N N",
                              "N    NN",
                              "N     N",
                            },
                            { " OOOOO ", 
                              "O     O",
                              "O     O",
                              "O     O",
                              "O     O",
                              "O     O",
                              " OOOOO ",
                            },
                            { "PPPPPP ", 
                              "P     P",
                              "P     P",
                              "PPPPPP ",
                              "P      ",
                              "P      ",
                              "P      ",
                            },
                            { " QQQQQ   ", 
                              "Q     Q  ",
                              "Q     Q  ",
                              "Q   Q Q  ",
                              "Q    QQ  ",
                              "Q     Q  ",
                              " QQQQQ Q ",
                            },
                            { "RRRRRR ", 
                              "R     R",
                              "R     R",
                              "RRRRRR ",
                              "R   R  ",
                              "R    R ",
                              "R     R",
                            },
                            { " SSSSS ", 
                              "S      ",
                              "S      ",
                              " SSSSS ",
                              "      S",
                              "      S",
                              " SSSSS ",
                            },
                            { "TTTTTTT", 
                              "   T   ",
                              "   T   ",
                              "   T   ",
                              "   T   ",
                              "   T   ",
                              "   T   ",
                            },
                            { "U     U", 
                              "U     U",
                              "U     U",
                              "U     U",
                              "U     U",
                              "U     U",
                              " UUUUU ",
                            },
                            { "V      V",
                              "V      V",
                              "V      V",
                              " V    V ",
                              " V   V  ",
                              "  V V   ",
                              "   V    ",
                            },
                            { "W     W", 
                              "W     W",
                              "W     W",
                              "W  W  W",
                              "W W W W",
                              "WW   WW",
                              "W     W",
                            },
                            { "X     X", 
                              " X   X ",
                              "  X X  ",
                              "   X   ",
                              "  X X  ",
                              " X   X ",
                              "X     X",
                            },
                            { "Y     Y", 
                              " Y   Y ",
                              "  Y Y  ",
                              "   Y   ",
                              "   Y   ",
                              "   Y   ",
                              "   Y   ",
                            },
                            { "ZZZZZZZ", 
                              "     Z ",
                              "    Z  ",
                              "   Z   ",
                              "  Z    ",
                              " Z     ",
                              "ZZZZZZZ",
                            }
        };
  cout << "\n";
  for(i=0; i<7; i++)
  { for(j=0; str[j] != '\0'; j++)
    { if(isalpha(str[j]))
      { int val = str[j] - 'A';
        cout << alpha[val][i] << "  "; 
      }
      else
        cout << str[j] << "  ";
    }
    cout << "\n";
    sleep(1);
  }
}

int main()
{ char str[10];
  
  cout << "Enter a string (max. 9 characters): ";
  cin.getline(str, 10);
  
  for(int i=0; str[i] != '\0'; i++)
    str[i] = toupper(str[i]);
  
  banner(str);
  
  getch();
  return 0;
}

No comments:

Post a Comment