如何用C++编写一段“输入A输出1”的程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C++编写一段“输入A输出1”的程序相关的知识,希望对你有一定的参考价值。
有个密码表:A对应 1,B对应 2......Z对应 26,运行时能:输入A按回车输出“ 1”,输入B按回车输出“ 2”,输入AZ按回车输出“ 1 26”,输入ABZ按回车输出“ 1 2 26”......谢谢
#include <iostream>#include <fstream>
#include <string>
using namespace std;
void main()
string oringcode;//被解密的源码
cout<<"〓 密码翻译器 〓"<<endl;
cout<<"〓 退出请按0 开始密码翻译请按1 〓"<<endl;
int intput; //定义选择退出或是开始笨密码翻译
cout<<"你的选择是:";
cin>>intput;
switch(intput)
case 0: //为0就退出
break;
case 1: //为1就开始
bool falseorright=true;//定义循环
while(falseorright)
bool AZ=true; //判断字符串是否实在A-Z的范围内
cout<<"请输入源码(A--Z,退出请按0):";
cin>>oringcode;
if(oringcode[0]=='0')//输入0就退出
falseorright=false;
else //否则就开始解密
int size=oringcode.size();
for(int i=0;i<size;i++)
if(oringcode[i]>='A'&&oringcode[i]<='Z')
else
cout<<"请检查你的输入"<<oringcode[i]<<"是否是在A--Z的范围内?"<<endl;
AZ=false; //不在A-Z的范围就不解密输出
/*********************解密输出*******************/
while(AZ)
cout<<"解密后为:";
for(int j=0;j<size;j++)
oringcode[j]-=64;
printf("%d ",oringcode[j]);
cout<<endl;
AZ=false;
/*********************解密输出*******************/
break;
default: //若为其他就退出
cout<<"输入错误!"<<endl;
break;
结果验证:
输入:A
输出为:1
输入:B
输出为:2
输入:AB
输出为:1 2
输入:ABZ
输出为:1 2 26
输入:a
输出为:请检查你的输入a是否是在A--Z的范围内?
输入:ab
输出为:请检查你的输入a是否是在A--Z的范围内?
请检查你的输入b是否是在A--Z的范围内?
输入:abZ
输出为:请检查你的输入a是否是在A--Z的范围内?
请检查你的输入b是否是在A--Z的范围内? 参考技术A 在ASCII表中:65对应的是A(可参见http://www.weste.net/tools/ASCII.asp)
66对应B,类推。
而且由于int和char是可以相互转换。所以转换的函数可以这样写。
void convert(char *ch)
int i=0;
for(;ch!='\0';ch++)
i=*ch-64;
cout<<i;
return 0;
至于其他的输入函数,主函数,搂住这个应该比较简单 参考技术B #include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
string input;
cin>>input;
istringstream is(input);
char a;
while(is>>a)
cout<<(int)(a)-64<<" ";
cout<<endl;
system("pause");//按任意键继续,限VC++
return 0;
////支持字母间空格的版本
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
string input;
getline(cin,input);
istringstream is(input);
char a;
while(is>>a)
cout<<(int)(a)-64<<" ";
cout<<endl;
system("pause");
return 0;
参考技术C #include <iostream>
using namespace std;
int main()
char a;
cin>>a;
while(a!='\n')
cout<<a-64<<" ";
cin>>a;
return 0;
代码测试环境visual studio 2008;我是菜鸟,如果各位有好的算法,望不吝赐教,希望高人拍砖,谢谢 参考技术D int a;
cout>>a;
如何用 C++ 编写这个 php 代码
【中文标题】如何用 C++ 编写这个 php 代码【英文标题】:How to write this php code in c++ 【发布时间】:2011-01-08 21:58:46 【问题描述】:$x = pack("N", $num1).pack("N", $num2).$data;
我正在尝试这样做
union unionchal
struct ast
unsigned long a;
unsigned long b;
char c[8];
chal;
unsigned char response[16];
;
ast 是输入,响应是输出
它的意思是输出yp¶ ‚¬þÖHpö€ì_±
,但给出¶pyßêÈ)ÖHpöì_
我认为这与它是大端字节序有关
【问题讨论】:
【参考方案1】:在将整数放入结构之前,尝试在整数上使用htonl
。它将它们转换为大端顺序。如果您需要 64 位 long,请参阅 the discussion about it on SE。
【讨论】:
【参考方案2】:我认为这与 它是大端字节序
我也这么认为。例如,您可以使用 htonl() 来更改 little-endian 机器上的字节顺序,或者编写您自己的字节交换函数(但是您必须自己测试主机的字节顺序是什么)。
【讨论】:
【参考方案3】:尝试使用Boost Variant 库。
【讨论】:
以上是关于如何用C++编写一段“输入A输出1”的程序的主要内容,如果未能解决你的问题,请参考以下文章