I have actually this code for an embedded application. I am 1st trying to make it for plain c++ so that I may have concept clear
.
英語のアルファベットごとに数字コードが割り当てられています。私のプログラムが文に対して同等の数字コードを出力することを望みます。ループは、実際には文のコードの各桁に対して何回も反復する必要があります。桁ごとに組み込みアプリケーションのピンをオン/オフする必要があるためです。同じ文字の桁間、2 つの文字間、および 2 つの文間の時間差を後で追加する必要があります。1 つ目は、結果のコードの桁ごとに単純な出力が必要でした。
これが私のコードです。アルファベットを文字列に割り当て、コードを文字列配列型に割り当てました。次に、文字列配列から文字の同等の数字コードを検索し、文字列型で保存します。今、私は文字列からintに各数字を割り当て、そのためにループしたいと考えています。しかし、文字列値をintに割り当てるのに問題があります。私は C++ プログラミングの経験があまりありません。
編集 最初に文字列をintに変換するのに問題があります.全体的に、私の問題を解決するためのこのロジックは問題ないようです.
これが私のコードです。これが私の問題を解決しようとしている方法です。
#include <iostream>
#include <string>
using namespace std;
string texttopattern(char c)
{
//Hello world again
//125-15-123-123-135 1346-135-1235-123-145 1-1245-1-24-1345
string alphabet = "abcdefghijklmnopqrstuvwqyz"; //osv
string code[] = {"1","12","14","145", "15", "124", "1245",
"125", "24", "245", "13", "123", "134",
"1345", "135", "1234", "12345", "1235", "234", "2345",
"136", "1236", "1346", "13456", "1356", "12346"};
int index = alphabet.find(c);
if(index!=-1)
return code[index];
else
return " ";
}
int main()
{
string ord;
getline(cin, ord);
string code="";
for(int i=0; i<ord.length(); i++)
{
code += texttopattern(ord[i]);
}
for(int i=0; i<code.length(); i++) {
int n = code[i]; //assign a single digit value from string to an
//int,string2int assign value is problem here !!
while(n>0){ //loop for n times & manipulate PIN in each iteration
cout<<"loop";
n--; }
//cout<<code[i]<<endl;
}
return 0;
}