C program to Implement Morse code to text conversion and vice-versa.

Sunday, April 4th, 2010

C program to Implement Morse code to text conversion and vice-versa.

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<process.h>
 
void main()
{
	char str[25],str1[100];
	clrscr();
	fflush(stdin);
	printf("enter the String");
	gets(str);
 
	int j=0;
	for(int i=0;i<=strlen(str);++)
	{
		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]='.';
		    break;
 
		case 'F':
		  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++]='.';
		  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++]='.';
		  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;
		}
	    j++;
	}
	str1[j-1]='\0';
	puts(str1);
	getch();
 }
Avatar Image

Author Name :
Ranjith

Total : 1 Comment


One Response to “C program to Implement Morse code to text conversion and vice-versa.”

  1. Kirti Kumar Kasat says:

    There are a few corrections in this program..
    1.You need to include”ctype.h” in order to use toupper function…
    2. the output is not what is desired..the code should be corrected plz..

Leave a Reply

Question and Answer
C/C++ Unix & Linux Wordpress
Source codes
C C++ Java

Free email signup