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;
}

Monday, May 22, 2017

Animation of boat sailing, on Turbo C++

// Program 2 - Animated ASCII Art on Turbo C++


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

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

int main()
{ _setcursortype(_NOCURSOR);
  int x=3, y=11;

  cout << " _________________________________________________\n";
  cout << "|\\_______________________________________________/|\n";
  cout << "||                                               ||\n";
  cout << "||                                       * *     ||\n";
  cout << "||                 *   *                  *      ||\n";
  cout << "||                         *                     ||\n";
  cout << "||                                               ||\n";
  cout << "||                           *                   ||\n";
  cout << "||                                               ||\n";
  cout << "||                           *                   ||\n";
  cout << "||                                               ||\n";
  cout << "||                                               ||\n";
  cout << "||                                               ||\n";
  cout << "||                                               ||\n";
  cout << "||                                               ||\n";
  cout << "||                                               ||\n";
  cout << "||-----------------------------------------------||\n";
  cout << "||_______________________________________________||\n";
  cout << "|/_______________________________________________\\|\n";

  gotoxy(x, y);    cout << "     _    \n";
  gotoxy(x, y+1);  cout << "    / \\  \n";
  gotoxy(x, y+2);  cout << "   / | \\ \n";
  gotoxy(x, y+3);  cout << "  /__|__\\\n";
  gotoxy(x, y+4);  cout << "  ___|___ \n";
  gotoxy(x, y+5);  cout << "  \\_____/\n";

  gotoxy(15, 22);  cout << " Press any key to START ship";
  getch();
  gotoxy(15, 22);  cout << "                            ";

  for(int i=0; i<38; i+=2)
  { gotoxy(x+i, y);    cout << "     _    \n";
    gotoxy(x+i, y+1);  cout << "    / \\  \n";
    gotoxy(x+i, y+2);  cout << "   / | \\ \n";
    gotoxy(x+i, y+3);  cout << "  /__|__\\\n";
    gotoxy(x+i, y+4);  cout << "  ___|___ \n";
    gotoxy(x+i, y+5);  cout << "  \\_____/\n";

    sleep(.5);
  }
  gotoxy(15, 22);  cout << "Press any key to END program";
  getch();
  _setcursortype(_NORMALCURSOR);
}

Sunday, May 21, 2017

Descending Plane Animation using ASCII Art (Dev C++)

// Program 1 - Descending Plane Animation using ASCII Art

#include <conio.h>
#include <time.h>
#include <windows.h>

int main()
{ for(int i=0; i<20; i++)
  { system("CLS");
    for(int j=0; j<i; j++)
      cout << "\n";
    cout << "                                       __\n";
    cout << "                                      /||\\\n";
    cout << "                                     / || \\\n";
    cout << "                                      |  |\n";
    cout << "                                      |  |\n";
    cout << "                                      |__|\n";
    cout << "                                 .--\"'    \"'--.\n";
    cout << "                               .\"     ____     \".\n";
    cout << "                              /   /  ______  \\   \\\n";
    cout << " \\                           |   /_.'      '._\\   |                           /\n";
    cout << "  '----------......___       |                    |       ___......----------'\n";
    cout << "   '''---...___ B C R S ''''---\        (  )        /---''''Express___...---'''\n";
    cout << "               '''---..___     '.               .'     ___..---'''\n";
    cout << "                      /   \\''---..             ..---''/   \\\n";
    cout << "                     |     |      '--..___..--'      |     |\n";
    cout << "                      \\___/                           \\___/\n";

    Sleep(250);
  }

}