M
MEJIOMAH
Было такое задание:
Программа должна содержать:
• функция char* GetComputerData(), которая возвращает серийный номер жесткого диска
• функцію char* CalculateSerialNumber(char* comp_data, char* user_name), которая высчитывает серийный номер на основе уникального значения и имени пользователя.
• Алгоритм формирования серийного номера должен базироваться на операции XOR (длинна серийного номера должна быть 8 символов)
Программа проверки серийного номера должна содержать:
• Функцию char* GetComputerData(), которая возвращает значение серийного номера;
• Функцию bool IsValidSerialNumber(char* comp_data, char* user_name, char* serial_number), которая возвращает значение true если серийный номер правильный и значение false в другом случае
Помогите пожалуйста, что бы программа работала и была одним файлом, а не 4 разных как тут.
Добавлено: компилятор Dev C++
Программа должна содержать:
• функция char* GetComputerData(), которая возвращает серийный номер жесткого диска
• функцію char* CalculateSerialNumber(char* comp_data, char* user_name), которая высчитывает серийный номер на основе уникального значения и имени пользователя.
• Алгоритм формирования серийного номера должен базироваться на операции XOR (длинна серийного номера должна быть 8 символов)
Программа проверки серийного номера должна содержать:
• Функцию char* GetComputerData(), которая возвращает значение серийного номера;
• Функцию bool IsValidSerialNumber(char* comp_data, char* user_name, char* serial_number), которая возвращает значение true если серийный номер правильный и значение false в другом случае
Помогите пожалуйста, что бы программа работала и была одним файлом, а не 4 разных как тут.
C++:
SerialGen.cpp
#include "stdafx.h"
#include <iostream>
#include "string.h"
#include "Functions.h"
using namespace std;
int main(int argc, char* argv[])
{
char *login = new char[];
char *SerialOut = new char[];
char ans;
cout<<"Press your login ";
cin>>login;
cout<<login<<"\n";
SerialOut=CalculateSerialNumber(GetComputerData(),login);
cout<<"\n"<<SerialOut;
do
{
cout<<"\n Wait (y,n) \t";
cin>>ans;
} while(ans=='y');
return 0;
}
CalculateSerialNumber.cpp
#include "stdafx.h"
#include "string.h"
#include <iostream>
using namespace std;
char* GetComputerData()
{
return "12345678";
}
char* CalculateSerialNumber(char* comp_data, char* user_name)
{
char *MagicKey = new char[];
char *Alphabet = new char[];
int length,length_name,length_comp_data,length_Alphabet;
int n;
Alphabet="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
MagicKey="keyboardlogitech";
length_Alphabet=strlen(Alphabet);
length=strlen(MagicKey);
length_name=strlen(user_name);
length_comp_data=strlen(comp_data);
n=length;
char *Serial = new char[n];
for(int i=0;i<length;i++)
{
int q,w,e;
q=i%length_name;
w=i%length_comp_data;
e=i%length;
Serial[i]=MagicKey[e]^comp_data[w]^user_name[q];
Serial[i]=Alphabet[Serial[i]%length_Alphabet];
if (i==length-1) Serial[i+1]=0;
}
return Serial;
}
Functions.h
char* CalculateSerialNumber(char* comp_data, char* user_name);
char* GetComputerData();
Validation.cpp
#include "stdafx.h"
#include <iostream>
#include "string.h"
#include "Functions.h"
using namespace std;
bool IsValidSerialNumber(char* comp_data,char* user_name,char* serial_number)
{
char *Serial = new char[];
bool out;
int length_Serial,length_SerialIn;
Serial=CalculateSerialNumber(comp_data,user_name);
length_SerialIn=strlen(serial_number);
length_Serial=strlen(Serial);
if (length_SerialIn==length_Serial)
{
for (int i=0;i<length_Serial;i++)
{
if (Serial[i]==serial_number[i]) out=true;
else
{
out=false;
break;
}
}
}
else out=false;
return out;
}
int main(int argc, char* argv[])
{
char *login = new char[];
char *SerialIn = new char[];
bool Valid;
char ans;
cout<<"Press your login ";
cin>>login;
cout<<login<<"\n";
CalculateSerialNumber(GetComputerData(),login);
cout<<"Press serial number \t";
cin>>SerialIn;
cout<<"\n";
Valid=IsValidSerialNumber(GetComputerData(),login,SerialIn);
if (Valid==true) cout<<"Serial is valid. Greetings! \n";
if (Valid==false) cout<<"Serial is invalid. Try again\n";
do
{
cout<<"\n Wait (y,n) \t";
cin>>ans;
} while(ans=='y');
return 0;
}
Добавлено: компилятор Dev C++