c ++将输出(数字)保存到数组中。一次两个数字

时间:2015-11-22 09:47:33

标签: c++ arrays numbers integer output

这是我需要做的事情:   - 用户输入一些大写字母或单词,   - 我转过这些字母(我用“obrjen”做过)   - 我将这些字母转换为ASCII值,   - 我将所有这些数字乘以4,   - 我保存了值并输出了它。我会做同样的事,但反过来做出解密并取回字样

感谢任何帮助,谢谢!

void sifriraj(char sifra[100], char obrjen[100], int &velikost3)
{
        int j=99;
            for (int i=0; i<100; i++)
            {
                obrjen[j]=sifra[i];
                j--;
                for (i; i>99-velikost3 && i<100; i++)
                {
                if (obrjen[i]==' ')
                {
                    cout<<"00";
                }
                if (obrjen[i]=='A')
                {
                    cout<<"65";
                }
                else if (obrjen[i]=='B')
                {
                    cout<<"66";
                }
                else if (obrjen[i]=='C')
                {
                    cout<<"67";
                }
                else if (obrjen[i]=='D')
                {
                    cout<<"68";
                }
                else if (obrjen[i]=='E')
                {
                    cout<<"69";
                }
                else if (obrjen[i]=='F')
                {
                    cout<<"70";
                }
                else if (obrjen[i]=='G')
                {
                    cout<<"71";
                }
                else if (obrjen[i]=='H')
                {
                    cout<<"72";
                }
                else if (obrjen[i]=='I')
                {
                    cout<<"73";
                }
                else if (obrjen[i]=='J')
                {
                    cout<<"74";
                }
                else if (obrjen[i]=='K')
                {
                    cout<<"75";
                }
                else if (obrjen[i]=='L')
                {
                    cout<<"76";
                }
                else if (obrjen[i]=='M')
                {
                    cout<<"77";
                }
                else if (obrjen[i]=='N')
                {
                    cout<<"78";
                }
                else if (obrjen[i]=='O')
                {
                    cout<<"79";
                }
                else if (obrjen[i]=='P')
                {
                    cout<<"80";
                }
                else if (obrjen[i]=='R')
                {
                    cout<<"82";
                }
                else if (obrjen[i]=='S')
                {
                    cout<<"83";
                }
                else if (obrjen[i]=='T')
                {
                    cout<<"84";
                }
                else if (obrjen[i]=='U')
                {
                    cout<<"85";
                }
                else if (obrjen[i]=='V')
                {
                    cout<<"86";
                }
                else if (obrjen[i]=='Z')
                {
                    cout<<"90";
                }

                }
            }
            cout<<endl;
}

2 个答案:

答案 0 :(得分:0)

要从char中获取ascii代码,您只需执行此操作:

char x = 'A';
int  a = x;
std::cout << x << " has ascii code " << a;

因此,正如LogicStuff评论的那样,您已经存储了这些数字,您可以将它们用于以后的计算。

答案 1 :(得分:0)

现在看来你通过编辑在你的问题中发布了一个代码。代码似乎是一些ASCII提取。您只需要提取每个字符并将其通过提取运算符流式传输到int变量中。

以前,您似乎有一串数字,您希望一次解析两个。因此,以下代码不再适用于您的职位。

考虑以下代码:

它需要一个std::string并将字符串两个字符一次解析为一个无符号整数,并解析为std::vector。您可以将该行中的数字作为字符串输出并将其提供给此函数。

vector<unsigned int>get_num(string& str)
{
        string::iterator it{str.begin()};
        string::iterator it_end{str.end()};
        vector<unsigned int> out_vector;
        unsigned int val{};
        while(it<it_end)
        {
                string part(it,it+2);
                it+=2;
                istringstream reader(part);
                reader>>val;
                out_vector.push_back(val);
        }
        return out_vector;
}