#include <iostream>
#include<cstdlib>
#include<ctime>
#define N 10
using namespace std;
void randNumArray(int *num);
void printNumArray(int *num);
void isRight(char* pin, char* code);
void createRandPin(int *num,char *pin, int code[]);
void scanCode(char *randCode);
int main()
{
int code[] = { 1,2,3,4,5 };
int num[5];
char pin[5];
char randCode[5];
randNumArray(num);
printNumArray(num);
createRandPin(num, pin, code);
scanCode(randCode);
isRight(pin,randCode);
}
void randNumArray(int* num)
{
tm *ptr;
time_t it;
it = time(NULL);
srand(it);
for (int i = 0; i < N; i++)
{
num[i] = rand() % 3+1;
}
}
void printNumArray(int* num)
{
for (int i = 0; i < N; i++)
cout << num[i]<< " ";
cout << endl;
}
void createRandPin(int* num, char* pin, int code[])
{
for (int i = 0; i < 5; i++)
{
cout << code[i];
int k = code[i];
pin[i] =num[k];
}
}
void scanCode(char * randCode)
{
cout << "请输入密码:";
for (int i = 0; i < 5; i++)
cin >> randCode[i];
}
void isRight(char *pin, char* randCode)
{
if (strcmp(pin, randCode) == 0)
{
cout << "密码正确\n";
}
else
cout << "密码错误\n";
}
当i=0的时候,code[i]=2,应该code[0]=1才对,代码运行期间没有对code数组进行操作。。。