Morse Code CSE202

I have to write a Morsecode program for my CSE 202 class. I run the compiler and get a huge mess. Looking for some help from the pro's. Any amount will help.

/* Program: morsecode.cpp */

#include <string>
#include <vector>
#include <iostream>
using namespace std;

class Code
{
public:
Code(); // Default constructor - loads and uses morse code
string encode(vector<char> message); // encodes a message consisting of A-Z
string decode(vector<string> message); // decodes a message
private:
vector<string> codewords; // this is a codeword vector parallel to A-Z
vector<char> alpha; // this is the vector for A-Z
vector<char> alphacode(); // function builds the vector alpha - A B C etc.
vector<string> morsecode(); // function builds the vector codewords containing morse code
string encode(char x); //returns the codeword for the character x
char decode(string c); //returns the character for the codeword c.
};

Code::Code()
{
alpha= alphacode();
codewords= morsecode();
}

string Code::decode(vector<string> message)
{
string temp;
for (int i= 0; i<message.size(); i++)
{
temp += decode (message[i]);
}
return temp;
}

string Code::encode(vector<char> message)
{
string temp;
for (int i= 0; i<message.size(); i++)
{
temp += encode (message[i]);
}
return temp;
}

char Code::decode (string c)
{
for (int i=0; i<alpha.size(); i++)
{
if (c == codewords[i])
{
return alpha[i];
}
}
}

string Code::encode(char x)
{
for (int i=0;i<codewords.size();i++)
{
if (x==alpha[i])
{
return codewords[i];
}
}
}

vector<char> Code::alphacode()
{ // This returns a vector containing the alphabet a-z and " "
vector<char> temp;
for (char c='A'; c<='Z'; c++)
temp.push_back(c);
temp.push_back(' ');
temp.push_back('.');
return temp;
}

vector<string> Code::morsecode()
{ // This function returns a vector containing the morse code
vector<string> temp(28);
temp[0] =".-";
temp[1] ="-...";
temp[2] ="-.-.";
temp[3] ="-..";
temp[4] =".";
temp[5] ="..-.";
temp[6] ="--.";
temp[7] ="....";
temp[8] ="..";
temp[9] =".---";
temp[10] ="-.-";
temp[11] =".-..";
temp[12] ="--";
temp[13] ="-.";
temp[14] ="---";
temp[15] =".--.";
temp[16] ="--.--";
temp[17] =".-.";
temp[18] ="...";
temp[19] ="-";
temp[20] ="..-";
temp[21] ="...-";
temp[22] =".--";
temp[23] ="-..-";
temp[24] ="-.--";
temp[25] ="--..";
temp[26] =".......";
temp[27] ="x";
return temp;
}

int main ()
{
vector <string> message;
string temp;
Code c;
cin >> temp;

while (cin.good())
{
message.push_back(temp);
cin >> temp;
}

cout << c.decode(message) << endl;

vector<char> message;
string temp;
getline(cin, temp);
for (int i=0; i <temp.length(); i++)
{
message.push_back(temp[i]);
}

Code c;
cout << c.encode(message) << endl;


}



Topic archived. No new replies allowed.