Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // CREATE A SOUNDEX CODE
- // * Parameter list includes the string of characters that are to be converted to code and a variable to save the code respectively.
- void SoundsAlike(const char input[], char scode[])
- {
- scode[0] = toupper(input[0]); // First character of the string is added to the code
- int matchCount = 1;
- int codeCount = 1;
- while((matchCount < strlen(input)) && (codeCount < 4))
- {
- if(((input[matchCount] == 'b') || (input[matchCount] == 'p') || (input[matchCount] == 'v') || (input[matchCount] == 'f')) && (scode[codeCount-1] != 1))
- {
- scode[codeCount] = 1;
- codeCount++;
- }
- else if(((input[matchCount] == 'c') || (input[matchCount] == 'g') || (input[matchCount] == 'j') || (input[matchCount] == 'k') || (input[matchCount] == 'q') || (input[matchCount] == 's') || (input[matchCount] == 'x') || (input[matchCount] == 'z')) && (scode[codeCount-1] != 2))
- {
- scode[codeCount] = 2;
- codeCount++;
- }
- else if(((input[matchCount] == 'd') || (input[matchCount] == 't')) && (scode[codeCount-1] != 3))
- {
- scode[codeCount] = 3;
- codeCount++;
- }
- else if((input[matchCount] == 'l') && (scode[codeCount-1] != 4))
- {
- scode[codeCount] = 4;
- codeCount++;
- }
- else if(((input[matchCount] == 'm') || (input[matchCount] == 'n')) && (scode[codeCount-1] != 5))
- {
- scode[codeCount] = 5;
- codeCount++;
- }
- else if((input[matchCount] == 'r') && (scode[codeCount-1] != 6))
- {
- scode[codeCount] = 6;
- codeCount++;
- }
- matchCount++;
- }
- while(codeCount < 4)
- {
- scode[codeCount] = 0;
- codeCount++;
- }
- scode[4] = '