Comparing strings can be difficult...
Code:
#include <stdio.h>
#include <string.h>
#define morse_A ".-"
#define morse_B "-..."
#define morse_C "-.-."
#define morse_D "-.."
#define morse_E "."
#define morse_F "..-."
#define morse_G "--."
#define morse_H "...."
#define morse_I ".."
#define morse_J ".---"
#define morse_K "-.-"
#define morse_L ".-.."
#define morse_M "--"
#define morse_N "-."
#define morse_O "---"
#define morse_P ".--."
#define morse_Q "--.-"
#define morse_R ".-."
#define morse_S "..."
#define morse_T "-"
#define morse_U "..-"
#define morse_V "...-"
#define morse_W ".--"
#define morse_X "-..-"
#define morse_Y "-.--"
#define morse_Z "--.."
char morseEntered[10];
int compare(char *string1,char *string2) {
int response = 1;
for (int i=0;i<=strlen(string1);i++) {
if ( string1[i] != string2[i] ) response = 0;
};
return response;
};
int main(int argc, char *argv[]) {
sprintf(morseEntered,".-");
if ( compare(morseEntered,morse_A) ) printf("A");
if ( compare(morseEntered,morse_B) ) printf("B");
if ( compare(morseEntered,morse_C) ) printf("C");
if ( compare(morseEntered,morse_D) ) printf("D");
if ( compare(morseEntered,morse_E) ) printf("E");
if ( compare(morseEntered,morse_F) ) printf("F");
if ( compare(morseEntered,morse_G) ) printf("G");
if ( compare(morseEntered,morse_H) ) printf("H");
if ( compare(morseEntered,morse_I) ) printf("I");
if ( compare(morseEntered,morse_J) ) printf("J");
if ( compare(morseEntered,morse_K) ) printf("K");
if ( compare(morseEntered,morse_L) ) printf("L");
if ( compare(morseEntered,morse_M) ) printf("M");
if ( compare(morseEntered,morse_N) ) printf("N");
if ( compare(morseEntered,morse_O) ) printf("O");
if ( compare(morseEntered,morse_P) ) printf("P");
if ( compare(morseEntered,morse_Q) ) printf("Q");
if ( compare(morseEntered,morse_R) ) printf("R");
if ( compare(morseEntered,morse_S) ) printf("S");
if ( compare(morseEntered,morse_T) ) printf("T");
if ( compare(morseEntered,morse_U) ) printf("U");
if ( compare(morseEntered,morse_V) ) printf("V");
if ( compare(morseEntered,morse_W) ) printf("W");
if ( compare(morseEntered,morse_X) ) printf("X");
if ( compare(morseEntered,morse_Y) ) printf("Y");
if ( compare(morseEntered,morse_Z) ) printf("Z");
return 0;
};