Horje
C program to print name pattern

The printing of patterns is the most common and interesting problem. This C program prompts users to input their names and transform each letter of the name into a visually appealing big star pattern.

For Example,

Input: NAME

Output:
    *    *   ****   *    *  ******
    **   *  *    *  **  **  *
    *  * *  ******  * ** *  ****
    *   **  *    *  *    *  *
    *    *  *    *  *    *  ******

Approach

  • The approach is to define the pattern for each alphabet.
  • After designing the pattern, the user is asked to enter their name.
  • For each character in their name, we print the corresponding pattern finally resulting in the name pattern.

We will use the switch statements, arrays and string parting in this program.

C Program to Print Name Pattern

C

// C program to print Name is start pattern
  
#include <stdio.h>
#include <string.h>
  
void printStars(int s) // this function will give a line of
                       // stars required
{
    int i;
    for (i = 0; i < s; i++) {
        printf("*");
    }
}
  
void printSpaces(int s) // this function will give a line of
                        // spaces required
{
    int i;
    for (i = 0; i < s; i++) {
        printf(" ");
    }
}
  
void nl()
{
    printf("\t");
} // gives New Tab space between Letters
  
void newLine() { printf("\n"); } // gives new Tab space
  
int main()
{
    int i;
    char n[50];
    printf("Hello, user\n");
    printf("please enter your name ");
warning:
    printf("(must be in upper case) : ");
    nl();
    fgets(n, sizeof(n), stdin);
    // Removing the newline character at the end, if present
    size_t length = strlen(n);
    if (length > 0 && n[length - 1] == '\n') {
        n[length - 1] = '\0';
    }
  
    for (i = 0; i < strlen(n); i++) {
  
        if ('a' <= n[i] && n[i] <= 'z') {
            goto warning;
        }
    }
    newLine();
    //-----------1st Line of Letter-----------
    for (i = 0; i < strlen(n); i++) {
        switch (n[i]) {
        case 'A':
        case 'C':
        case 'O':
        case 'Q':
        case 'G':
            nl();
            printSpaces(1);
            printStars(4);
            printSpaces(1);
            break;
        case 'B':
        case 'D':
        case 'P':
        case 'R':
            nl();
            printStars(5);
            printSpaces(1);
            break;
        case 'E':
        case 'F':
        case 'T':
        case 'Z':
        case 'I':
        case 'J':
            nl();
            printStars(6);
            break;
        case 'Y':
        case 'U':
        case 'H':
        case 'K':
        case 'X':
        case 'V':
        case 'N':
        case 'M':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'W':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'L':
            nl();
            printStars(1);
            break;
        case 'S':
            nl();
            printSpaces(1);
            printStars(5);
            break;
        case ' ':
            nl();
        }
    }
    newLine();
    //-----------2nd Line of Letter-----------
    for (i = 0; i < strlen(n); i++) {
        switch (n[i]) {
        case 'A':
        case 'U':
        case 'H':
        case 'D':
        case 'B':
        case 'O':
        case 'V':
        case 'R':
        case 'P':
        case 'Q':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
  
        case 'I':
        case 'J':
        case 'T':
            nl();
            printSpaces(3);
            printStars(1);
            break;
        case 'L':
        case 'E':
        case 'C':
        case 'F':
        case 'G':
  
            nl();
            printStars(1);
            break;
        case 'K':
            nl();
            printStars(1);
            printSpaces(3);
            printStars(1);
            break;
        case 'S':
            nl();
            printStars(1);
            printSpaces(5);
            break;
        case 'X':
        case 'Y':
            nl();
            printSpaces(1);
            printStars(1);
            printSpaces(2);
            printStars(1);
            printSpaces(1);
            break;
        case 'Z':
            nl();
            printSpaces(4);
            printStars(1);
            printSpaces(1);
            break;
        case 'M':
            nl();
            printStars(2);
            printSpaces(2);
            printStars(2);
            break;
        case 'W':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'N':
            nl();
            printStars(2);
            printSpaces(3);
            printStars(1);
            break;
        case ' ':
            nl();
        }
    }
    newLine();
    //-----------3rd Line of Letter-----------
    for (i = 0; i < strlen(n); i++) {
        switch (n[i]) {
        case 'A':
        case 'H':
            nl();
            printStars(6);
            break;
        case 'B':
        case 'R':
        case 'P':
            nl();
            printStars(4);
            break;
        case 'C':
            nl();
            printStars(1);
            break;
        case 'D':
        case 'O':
        case 'U':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'E':
        case 'F':
            nl();
            printStars(4);
            break;
        case 'G':
            nl();
            printStars(1);
            printSpaces(3);
            printStars(2);
            break;
        case 'J':
        case 'I':
        case 'T':
        case 'Z':
            nl();
            printSpaces(3);
            printStars(1);
            printSpaces(2);
            break;
        case 'X':
        case 'Y':
            nl();
            printSpaces(2);
            printStars(2);
            printSpaces(2);
            break;
  
        case 'S':
            nl();
            printSpaces(1);
            printStars(4);
            printSpaces(1);
            break;
  
        case 'K':
            nl();
            printStars(3);
            break;
        case 'V':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'Q':
        case 'N':
            nl();
            printStars(1);
            printSpaces(2);
            printStars(1);
            printSpaces(1);
            printStars(1);
            break;
        case 'M':
        case 'W':
            nl();
            printStars(1);
            printSpaces(1);
            printStars(2);
            printSpaces(1);
            printStars(1);
            break;
        case 'L':
            nl();
            printStars(1);
            printSpaces(5);
            break;
        case ' ':
            nl();
        }
    }
    newLine();
    //-----------4th Line of Letter----------------------
    for (i = 0; i < strlen(n); i++) {
        switch (n[i]) {
  
        case 'A':
        case 'B':
        case 'D':
        case 'U':
        case 'G':
        case 'O':
        case 'H':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
  
        case 'E':
        case 'C':
        case 'F':
        case 'P':
        case 'L':
            nl();
            printStars(1);
            break;
  
        case 'I':
        case 'T':
        case 'Y':
            nl();
            printSpaces(3);
            printStars(1);
            break;
        case 'J':
            nl();
            printStars(1);
            printSpaces(2);
            printStars(1);
            break;
        case 'K':
        case 'R':
            nl();
            printStars(1);
            printSpaces(3);
            printStars(1);
            break;
        case 'S':
            nl();
            printSpaces(5);
            printStars(1);
            break;
        case 'V':
            nl();
            printSpaces(1);
            printStars(1);
            printSpaces(2);
            printStars(1);
            printSpaces(1);
            break;
        case 'X':
            nl();
            printSpaces(1);
            printStars(1);
            printSpaces(2);
            printStars(1);
            printSpaces(1);
            break;
        case 'Z':
            nl();
            printSpaces(1);
            printStars(1);
            printSpaces(4);
            break;
        case 'Q':
            nl();
            printStars(1);
            printSpaces(3);
            printStars(1);
            printSpaces(1);
            break;
        case 'M':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'W':
            nl();
            printStars(2);
            printSpaces(2);
            printStars(2);
            break;
        case 'N':
            nl();
            printStars(1);
            printSpaces(3);
            printStars(2);
            break;
        case ' ':
            nl();
        }
    }
    newLine();
    //-----------5th Line of Letter-----------
    for (i = 0; i < strlen(n); i++) {
        switch (n[i]) {
        case 'A':
        case 'H':
        case 'K':
        case 'R':
        case 'X':
        case 'W':
        case 'N':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case 'B':
        case 'D':
  
            nl();
            printStars(5);
            break;
        case 'E':
        case 'L':
        case 'I':
        case 'Z':
            nl();
            printStars(6);
            break;
        case 'F':
        case 'P':
            nl();
            printStars(1);
            break;
        case 'C':
        case 'S':
        case 'G':
        case 'O':
        case 'U':
            nl();
            printSpaces(1);
            printStars(4);
            printSpaces(1);
            break;
        case 'J':
            nl();
            printSpaces(1);
            printStars(2);
            break;
        case 'T':
  
        case 'Y':
            nl();
            printSpaces(3);
            printStars(1);
            printSpaces(2);
            break;
        case 'V':
            nl();
            printSpaces(2);
            printStars(2);
            printSpaces(2);
            break;
        case 'Q':
            nl();
            printSpaces(1);
            printStars(3);
            printSpaces(1);
            printStars(1);
            break;
        case 'M':
            nl();
            printStars(1);
            printSpaces(4);
            printStars(1);
            break;
        case ' ':
            nl();
        }
    }
    newLine();
    newLine();
  
    printf("What a beautiful name you have!");
    return 0;
}

Output

    ****       ******      ******      *    *
    *          *           *           *   *
    *   **     ****        ****        ***
    *    *     *           *           *  *
     ****      ******      ******      *    *

What a beautiful name you have!

To know more about pattern printing in C refer to pattern programs in c




Reffered: https://www.geeksforgeeks.org


Programming Language

Related
10+ Free Online Coding for Kids Resources: Websites &amp; Apps 10+ Free Online Coding for Kids Resources: Websites &amp; Apps
Language Evaluation Criteria Language Evaluation Criteria
Design Goals and Principles of Object Oriented Programming Design Goals and Principles of Object Oriented Programming
Assembly in VB.NET Assembly in VB.NET
Sub Procedure Vs Function in VB.NET Sub Procedure Vs Function in VB.NET

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
14