输入结果错误,求帮忙修改程序。

C++语言 码拜 7年前 (2015-11-26) 563次浏览
输入错误,运行之后图:
输入结果错误,求帮忙修改程序。
正确的运行应该是“请输入密钥长度”之后接
“请输入xx位密钥”
但是出现了如图的情况,求分析代码哪里错了

#include "aes.h"
#include <iostream>
using namespace std;
void main(){
    unsigned char mw[16];
    unsigned char key[32];
	int i,Nr,Nk,Nb,len;
    AES aes(key);
    cout<<"请依次输入16位明文:";
    for (i=0; i<16; i++)  
    {  
        printf("请输入第%d个数:", i+1);
		cin >> hex >> mw[i];   
    } 
    cout<<endl;
    cout<<"请输入密钥的长度:";
	cin>>len;
	if(len == 128)
	{
		printf("请输入16个字符的密钥");
		cin>>key;
		Nb=4;Nk=4;Nr=10;
	}
	else if(len == 192)
	{
		printf("请输入24个字符的密钥");
		cin>>key;
		Nb=4;Nk=6;Nr=12;
	}
	else if(len == 256)
	{
		printf("请输入32个字符的密钥");
		cin>>key;
		Nb=4;Nk=8;Nr=14;
	}
    cout<<endl;
	printf("NB=%d Nk=%d,Nr=%d \n",Nb,Nk,Nr);
	cout<<endl;
解决方案:40分
cin >> hex >> mw[i];
改成cin >>mw[i];

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明输入结果错误,求帮忙修改程序。
喜欢 (0)
[1034331897@qq.com]
分享 (0)