C program to print name pattern
Last Updated :
15 Jan, 2024
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
#include <stdio.h>
#include <string.h>
void printStars( int s)
{
int i;
for (i = 0; i < s; i++) {
printf ( "*" );
}
}
void printSpaces( int s)
{
int i;
for (i = 0; i < s; i++) {
printf ( " " );
}
}
void nl()
{
printf ( "\t" );
}
void newLine() { printf ( "\n" ); }
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);
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();
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();
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();
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();
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();
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
Share your thoughts in the comments
Please Login to comment...