C program to convert input String(Text) to Morse Code
Write a C program to convert input String(Text) to Morse Code.Here’s a Simple Program to convert String(Text) to Morse Code in C Programming Language.
Morse code
Morse code is a method of transmitting text information as a series of on-off tones, lights, or clicks that can be directly understood by a skilled listener or observer without special equipment.
International Morse code is composed of five elements:
- short mark, dot or “dit” ( . ): “dot duration” is one time unit long
- longer mark, dash or “dah” ( – ): three time units long
- inter-element gap between the dots and dashes within a character: one dot duration or one unit long
- short gap (between letters): three time units long
- medium gap (between words): seven time units long
EXAMPLE : :
//EXAMPLE :: −− −−− ·−· ··· · −·−· −−− −·· · M O R S E C O D E
Below is the source code for C program to convert input String(Text) to Morse Code which is successfully compiled and run on Windows System to produce desired output as shown below :
SOURCE CODE : :
/* References: http://en.wikipedia.org/wiki/Morse_code A .- B -... C -.-. D -.. E . F ..-. G --. H .... I .. J .--- K -.- L .-.. M -- N -. O --- P .--. Q --.- R .-. S ... T - U ..- V ...- W .-- X -..- Y -.-- Z --.. 0 ----- 1 .---- 2 ..--- 3 ...-- 4 ....- 5 ..... 6 -.... 7 --... 8 ---.. 9 ----. Fullstop .-.-.- Comma --..-- Query ..--.. Space / Period [.] · - · - · - Comma [,] - - · · - - Question mark [?] · · - - · · Apostrophe ['] · - - - - · Exclamation mark [!] - · - · - - Slash [/] - · · - · Parentheses ( ) - · - - · - Ampersand [&] · ··· Colon [:] - - - · · · Semicolon [;] - · - · - · Double dash [=] - · · · - Fraction bar - · · - · Hyphen [-] - · · · · - Underscore [_] · · - - · - Quotation mark ["] · - · · - · "@" (commat) · - - · - · */ /* */ #include<stdio.h> #include<conio.h> #include<string.h> #include<process.h> void main() { char str[25],str1[100]; fflush(stdin); printf("Enter any String to Convert into Morse Code :: "); gets(str); int j=0; for(int i=0;i<=strlen(str);i++) { switch(toupper(str[i])) { case 'A': str1[j++]='.'; str1[j]='-'; break; case 'B': str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case 'C': str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case 'D': str1[j++]='-'; str1[j++]='.'; str1[j]='.'; break; case 'E': str1[j]='.'; break; case 'F': str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case 'G': str1[j++]='-'; str1[j++]='-'; str1[j]='.'; break; case 'H': str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case 'I': str1[j++]='.'; str1[j]='.'; break; case 'J': str1[j++]='.'; str1[j++]='-'; str1[j++]='-'; str1[j]='-'; break; case 'K': str1[j++]='-'; str1[j++]='.'; str1[j]='-'; break; case 'L': str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j]='.'; break; case 'M': str1[j++]='-'; str1[j]='-'; break; case 'N': str1[j++]='-'; str1[j]='.'; break; case 'O': str1[j++]='-'; str1[j++]='-'; str1[j]='-'; break; case 'P': str1[j++]='.'; str1[j++]='-'; str1[j++]='-'; str1[j]='.'; break; case 'Q': str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j]='-'; break; case 'R': str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case 'S': str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case 'T': str1[j]='-'; break; case 'U': str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case 'V': str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case 'W': str1[j++]='.'; str1[j++]='-'; str1[j]='-'; break; case 'X': str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case 'y': str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j]='-'; break; case 'Z': str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j]='.'; break; case '0': str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j]='-'; break; case '1': str1[j++]='.'; str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j]='-'; break; case '2': str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j++]='-'; str1[j]='-'; break; case '3': str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j]='-'; break; case '4': str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case '5': str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case '6': str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case '7': str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case '8': str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j]='.'; break; case '9': str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j]='.'; break; case '.': str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j]='-'; break; case ',': str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j]='-'; break; case ':': str1[j++]='-'; str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case '?': str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j]='.'; break; case '-': str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case ';': str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case '"': str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case '+': str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case '/': str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case '&': str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j]='.'; break; case '$': str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case '@': str1[j++]='.'; str1[j++]='-'; str1[j++]='-'; str1[j++]='.'; str1[j++]='-'; str1[j]='.'; break; case '=': str1[j++]='-'; str1[j++]='.'; str1[j++]='.'; str1[j++]='.'; str1[j]='-'; break; case ' ': str1[j]=' '; break; } j++; } str1[j-1]='\0'; puts(str1); getch(); }
OUTPUT : :
// FIRST RUN :: Enter any String to Convert into Morse Code :: M O R S E C O D E -- --- .-. ... . -.-. --- -.. . // SECOND RUN :: Enter any String to Convert into Morse Code :: CODEZCLUB -.-.----...--..-.-..-....--...
If you found any error or any queries related to the above program or any questions or reviews , you wanna to ask from us ,you may Contact Us through our contact Page or you can also comment below in the comment section.We will try our best to reach upto you in the short interval.
Thanks for reading the post.
Not giving anything, totally wrong code
The letters are not being separated by space. Please fix that.