gpt4 book ai didi

c++ - 如何输入整数并打印消息(数字键盘)

转载 作者:搜寻专家 更新时间:2023-10-31 02:21:51 24 4
gpt4 key购买 nike

我已经在互联网上搜索了这个特定的方法,但没有找到我想要的东西。我写了这个程序,它接受整数输入并打印消息(就像手机的数字键盘一样)。我想用这个程序做的是在一行中输入

Enter the code to crack : 454545479833165445

并打印相应的消息。而不是

Enter the code to crack :55
Enter the code to crack : 666

并在我按下特定键(在本例中为 -1)时打印消息。

  #include <iostream>
using namespace std;

int main()
{
int a;
string n;
do{
cout << "Enter the code to crack";
cin >>a;

switch (a){

case 0:
{


n=n+" ";}
break;

case 1:
{


n=n+".";}
break;

case 11:
{


n=n+",";}

break;

case 2:{

n=n+"a";}
break;

case 22:
n=n+"b";
break;

case 222:
n=n+"c";
break;

case 3:
n=n+"d";
break;

case 33:
n=n+"e";
break;

case 333:
n=n+"f";
break;


case 4:
n=n+"g";
break;

case 44:
n=n+"h";
break;

case 444:
n=n+"i";
break;

case 5:
n=n+"j";
break;

case 55:
n=n+"k";
break;

case 555:
n=n+"l";
break;


case 6:
n=n+"m";
break;

case 66:
n=n+"n";
break;

case 666:
n=n+"o";
break;

case 7:
n=n+"p";
break;

case 77:
n=n+"q";
break;

case 777:
n=n+"r";
break;


case 7777:
n=n+"s";
break;

case 8:
n=n+"t";
break;

case 88:
n=n+"u";
break;

case 888:
n=n+"v";
break;

case 9:
n=n+"w";
break;

case 99:
n=n+"x";
break;

case 999:
n=n+"y";
break;

case 9999:
n=n+"z";
break;}
} while(a!=-1);
cout <<"The decoded message is :" << n;

return 0;
}

最佳答案

如果你想处理一个单一的输入,假设一条消息可能包含的许多数字肯定会溢出,即使他是最重要的整数类型,你必须使用一个字符串输入,并遍历它的字符:

string a;
string n;

cout << "Enter the code to crack";
cin >>a; // you'll get everything, but each digit is a char

for (int i=0; i<a.size(); i++) {
//... process each separate digit a[i] here
}
cout <<"The decoded message is :" << n;

然后每个数字 a[i] 都在 '0' 和 '9' 之间。你必须解决两个困难:

  • 字符串可能包含非法字符(例如字母数字),因此您必须处理这些情况,发出错误消息
  • 每个字符串都是单独生成的。所以不再是 44,而是一个“4”和另一个“4”。所以你必须在你的算法中考虑到前一个数字,看看你是否有将你的最后一个输出字母移动一个,或者你是否有一个新的输出字母。

关于c++ - 如何输入整数并打印消息(数字键盘),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30951641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com