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
.
我为每个英文字母分配了一个数字代码。我希望我的程序输出一个句子的等效数字代码。一个循环实际上应该为句子代码的每个数字迭代次数。因为我需要为每个数字的嵌入式应用程序打开/关闭引脚。我必须在同一字母的数字之间,两个字母之间以及两个句子之间添加时间差。第一个我想要结果代码的每个数字的简单输出。
这是我的代码。我已将字母分配给字符串并将代码分配给字符串数组类型。然后我从字符串数组中搜索字符的等效数字代码并将其保存为字符串类型。现在我想将字符串中的每个数字分配给 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;
}