ASCII码查询

#include <iostream>
#include <windows.h>

class Asc
{
private:
	char word;
	int num;
public:
	Asc (char wrd =' ');
	Asc (int nu = 0);
	~Asc();
	void CharToAsc (void) const;
	void AscToChar (void) const;
};

Asc::Asc (char wrd)
{
	word = wrd;
}

Asc::Asc (int nu)
{
	num = nu;
}

Asc::~Asc()
{
}

void Asc::CharToAsc (void) const
{
	if ((int)word >= 33)
	{
		system ("cls");
		std::cout << "=========================\n";
		std::cout << word << " 对应ASCII码是:";
	}
	std::cout << "  对应ASCII码是:";
	std::cout << (int)word << std::endl;
	std::cout << "=========================\n";
}

void Asc::AscToChar (void) const
{
	using std::cout;
	system ("cls");
	cout << "=========================\n";
	cout << num << "对应字符是:";
	switch (num)
	{
		case 0:		cout << "(^@)";	break;
		case 1:		cout << "(^A)";	break;
		case 2:		cout << "(^B)";	break;
		case 3:		cout << "(^C)";	break;
		case 4:		cout << "(^D)";	break;
		case 5:		cout << "(^E)";	break;
		case 6:		cout << "(^F)";	break;
		case 7:		cout << "(^G(振铃))";	break;
		case 8:		cout << "(^H(退格))"; break;
		case 9:		cout << "(^i, tab(水平制表符))"; break;
		case 10:	cout << "(^J)\\n(换行符)";	break;
		case 11:	cout << "(^K(垂直制表符))"; break;
		case 12:	cout << "(^L)"; break;
		case 13:	cout << "(^M(回车))"; break;
		case 14:	cout << "(^N)"; break;
		case 15:	cout << "(^O)"; break;
		case 16:	cout << "(^P)"; break;
		case 17:	cout << "(^Q)"; break;
		case 18:	cout << "(^R)"; break;
		case 19:	cout << "(^S)"; break;
		case 20:	cout << "(^T)"; break;
		case 21:	cout << "(^U)"; break;
		case 22:	cout << "(^V)"; break;
		case 23:	cout << "(^W)"; break;
		case 24:	cout << "(^X)"; break;
		case 25:	cout << "(^Y)"; break;
		case 26:	cout << "(^Z)"; break;
		case 27:	cout << "(^[, Esc)"; break;
		case 28:	cout << "(^\\)"; break;
		case 29:	cout << "(^])"; break;
		case 30:	cout << "(^^)"; break;
		case 31:	cout << "(^_)"; break;
		case 32:	cout << "(空格)"; break;
		case 127:	cout << "(Del)"; break;
	}
	cout << (char)num << std::endl;
	cout << "=========================\n";
}

void ShowMenu (void);
char choose (void);

int main()
{
	using namespace std;

	ShowMenu();

	char ch;
	int num;

	while ((ch = choose()) != 'q')
	{
		if (ch == 'a')
		{
			cout << "输入一个字符(如字母a):\n";
			while(cin.get(ch))
			{
				fflush(stdin);
				Asc word(ch); 
				word.CharToAsc();

				if (ch == 'q')
					break;

				cout << "\n再次输入一个字符(输入字母q返回上一级):\n";
			}
		}
		else 
		{
			cout << "输入一个小于128的ASCII码(如65):\n";
			while (cin >> num)
			{
				Asc word(num);
				word.AscToChar();
				
				cout << "再次输入一个ACCII码(输入字母q返回上一级):\n";
			}

		cin.clear();	// 将流状态设置为0
		fflush (stdin);
		}

		system("cls");
		cout << "q 对应的ASCII码是113\n";
		ShowMenu();
	}

	cout << "谢谢使用O(∩_∩)O.. 按回车键退出.\n";
	cin.get();

	return 0;
}

void ShowMenu (void)
{
	std::cout << "**************************************************************\n";
	std::cout << "*      a) 字符 ---> ASCII码         b) ASCII码 ---> 字符     *\n";
	std::cout << "*      q) 退出                                               *\n";
	std::cout << "**************************************************************\n";
}

char choose (void)
{
	char ch;
	std::cin.get(ch);

	while (std::cin.get() != '\n')
		continue;

	system ("cls");		// 清屏
	return ch;
}


编译器: VC6.0 嘿嘿~~




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值