Есть Код, Не Могу Довести Его До Рабочего Состояния

Тема в разделе "C/C++/C#", создана пользователем MEJIOMAH, 23 мар 2013.

  1. MEJIOMAH

    MEJIOMAH New Member

    Регистрация:
    23 мар 2013
    Сообщения:
    2
    Симпатии:
    0
    Было такое задание:
    Программа должна содержать:
    • функция 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++
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    первый раз вижу,чтобы не могли из нескольких файлов 1 сделать,
    обычно обратная проблема

    у тебя 2 мэйна и ещё 2 файла
    сделай сначала просто 2 мэйна
    а потом объеденяй
     
  3. MEJIOMAH

    MEJIOMAH New Member

    Регистрация:
    23 мар 2013
    Сообщения:
    2
    Симпатии:
    0
    а вы можете мне это сделать? :)
     
Загрузка...

Поделиться этой страницей