新微赢技术网

标题: 这个简单加密程序要怎么实现?顺便问一下怎么在从键盘输入获得一句话的同时 ... [打印本页]

作者: 缘分天空    时间: 2009-11-6 01:35
标题: 这个简单加密程序要怎么实现?顺便问一下怎么在从键盘输入获得一句话的同时 ...
题目:编制程序,将输入的一行字符以加密的形式输出,然后将其解密,解密的字符序列与输入的正文进行比较,吻合时输出解密的正文,否则输出解密失败。
加密时,将每个字符的ASCII码依次反复加上“4962873”中的数字,并在32(' ')~122('z')之间做模运算。


这是钱能主编的《c++程序设计教程(第二版)》第三章的一道习题。我对题意都不是太明白,求模运算的意义是什么?还有在加密时是不是连输入内容的空格也都一起处理,看书上举得一个例子好像是这样,但是我试过,如果直接用向量获得输入内容的话,得到的是一串连续的字母,根本没有空格。
作者: 别问我是谁    时间: 2009-11-6 01:35
用getche()函数吧,可以连空格都可以处理的~~~
作者: 孤独与夜缠绵    时间: 2009-11-6 01:35
那这个题目中作模运算的目的是什么呢?
作者: ˇ风逍遥ˇ    时间: 2009-11-6 01:35
是不是把ASCII码都取值,在数字的大小上加加减减吧?
作者: 导演    时间: 2009-11-6 01:35
是这个意思,不过总是实现不了,前几位结果和书上给出的例子一样,但是后面一部分就不一样了,我主要是想用向量实现,因为向量可以用.push_back来控制容量,也就避免了一些垃圾数据的产生。用数组实现的话好像会容易一些,不过要提前定好容量,至于那些垃圾数据就只好在后期加入一些过滤条件了,但是这样会影响输入内容的多少,如果超过数组容量,多出的部分就不会被处理了。
作者: 击水之石    时间: 2009-11-6 01:35
我感觉用string比向量方便吧,
string str;
cin>>str;
for(int i=0;i<str.length();i++)
//对每个字符作你要求的操作后直接输出
不过我还没试呀
作者: 况天佑    时间: 2009-11-6 01:35
用string变量是可以正常的输出空格,但是在对没个字符依次处理的时候好像就不行了吧?
作者: 星溯~~~~天空    时间: 2009-11-6 01:35
有谁看过这个教材的?最好能给个答案,试过好多次了,实在做不出这个题了。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2