Я пытаюсь создать конвертер кода Морзе, который проверяет один за другим символ и отображает код Морзе.
У меня не было синтаксической ошибки - только логическая ошибка. Проблема заключалась в том, что он дал мне странные символы, даже несмотря на то, что в нем был показан код Морзе для строки.
Код также показывает строку, которую я пытался заменить на код Морзе. Кстати, я новичок в C ++, пытаюсь на практике преобразовать строку в азбуку Морзе.
Вот мой код (https://drive.google.com/open?id=1hiw1QMQJdLy6fyW0KQIdeSBwZgEQSC29):
#include <iostream>
#include <iomanip>
#include <string.h>
using namespace std;
//#define const unsigned short int SIZE;
int main()
{
const unsigned short int SIZE = ;
char wordArray[SIZE];
cout << "\n\t--------------------"<<endl;
cout << "\tMorse code Encryptor"<<endl;
cout << "\t--------------------"<<endl;
//cout << "Enter size of word: ";
//in >> SIZE;
cout << "\nEnter a word or phrase to be coverted: ";
cin.getline(wordArray, SIZE);
for (int i = 0; i <SIZE ;i++)
{
cout <<wordArray[i];
switch (wordArray)
{
case 'a':
cout << "._ ";
break;
case 'b':
cout << "_... ";
break;
case 'c':
cout << "_._. ";
break;
case 'd':
cout << "_.. ";
break;
case 'e':
cout << ". ";
break;
case 'f':
cout << ".._. ";
break;
case 'g':
cout << "_ _. ";
break;
case 'h':
cout << ".... ";
break;
case 'i':
cout << ".. ";
break;
case 'j':
cout << ". _ _ _ ";
break;
case 'k':
cout << "_._ ";
break;
case 'l':
cout << ". _ .. ";
break;
case 'm':
cout << " _ _ ";
break;
case 'n':
cout << "_ . ";
break;
case 'o':
cout << "_ _ _ ";
break;
case 'p':
cout << "._ _ . ";
break;
case 'q':
cout << "_ _._ ";
break;
case 'r':
cout << ". _ . ";
break;
case 's':
cout << "... ";
break;
case 't':
cout <<" _ ";
break;
case 'u':
cout << ".._ ";
break;
case 'v':
cout << "..._ ";
break;
case 'w':
cout << "._ _ ";
break;
case 'x':
cout << "_ .._ ";
break;
case 'y':
cout << "_._ _ ";
break;
case 'z':
cout << "_ _.. ";
break;
}
}
return 0;
}