На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
  
    > Ребят помогите найти ошибки в коде., 109 строк кода
      Всем привте, вот стал потихоньку вникать в криптографию и реализацию её на C/C++
      Переписал небольшой код с книги, но то ли я наделал в нем кучу ошибок, толи в книги накосячили
      Каму нелень помошите исправить ошибки, кстате точке с запятыми тоже, я их ставлю где компилятор просит а он всеравно ругается.
      ExpandedWrap disabled
        #include <cstdlib>
        #include <iostream>
        #include <fstream>
        #include <string>
        using namespace std;
         
        void XOR_Char(unsigned char& Target, unsigned cahr char& CryptVal)
        {
             Target = Target ^ CryptVal;
             return;
             }
             void SampleFile(const string& SourceName, const string& Targetname)
             {
                  cahr InChar = 'A';
                  int CryptChar = 1;
                  ifstream Source(SourceName.c_str(), ios::in | ios::binaty);
                  ofstream Target(TargetName.c_str(), ios::out | ios::binary);
                  while (!Source.read(&InChar, sizeof(InChar)).eof()) {
                        XOR_Char((unsigned char&)InChar, (unsigned cahr&)CryptChar);
                        Target.write(&InChar, sizeof(InChar)));
                        if(++CryptChar == 256)
                        CryptChar = 1;
                        }
                        
                        Source.close();
                        Target.close();
                        return;
                        }
                            
        void SampleString(string& Target)
        {
             int Positiom = 0;
             int Length = 0;
             int CryptChar = 255;
            
             Length = Target.length();
             for ( Position = 0; Position < Length; Position++) {
                 XOR_Char((unsigned char&)Target[Position],
                 (unsigned cahr&)CryptChar);
                 if(--CryptChar == 0)
                 CryptChar = 255;
                 }
                
        int main(int argc, char *argv[])
        {
            string Target_String("C/C++ Annotated Archive");
            cout <<"Original string:" << endl;
            cout <<Target_String << endl;
            sampleString(Target_String);
            cout <<"Encrypted string" << endl;
            cout << Target_String << endl;
            
            SampleString(Target_String);
            cout <<"decrypted string:" <<endl;
            cout << Target_String <<endl;
            cout << endl;
            
            string Source_Name("gbaddr.txt");
            string Target_Name("endbaddr.txt");
            
            char Character;
            cout << "Before encryption (gbaddr.txt):" << endl;
            ifstream Source_File(Sourse_Name.c_str(), ios::in | ios::binary);
            if(Source__File..fail()); {
                                      cout <<"Unable to olpen sorse file" << endl;
                                      return 1;  
                                      }
            while (!Source_File.read(&Character, sizeof(Character)).eof()) {
                  cout << Character;
                  }
                  Source_File.close();
                  cout << endl;
                  SampleFile(Source_Name, Target_Name);
                  cout << " After encryption (engbaddr.txt):" << endl;
                  
                  ifstream EncFile(Target_Name.c_str(), ios::in | ios::binary);
                  if(EncFile.fail()) {
                                     cout << "Unable to open encrypted file" << endl;
                                     return 1;
                                     }
                                     while (!EncFile.read(&Character, sizeof(Character)).eof()) {
                                           cout << Character;
                                           }
                                           EncFile.close();
                                           cout << endl << endl;
                                          
                                           // душифровать файл в третий файл
                                           string Dec_Target_Name("decdabbr.txt");
                                           SampleFile(Target_Name, Dec_Target_Name);
                                          
                                           // вывести дешифрованое содержимое
                                           cout << "After Decrypted (decrypted.txt)" << endl;
                                           ifstream DecFile(Dec_Target_Name.c_str(), ios::in | ios::binary);
                                           if (DecFile.fail()) {
                                                               cout <<" Enable to olpen file" << endl;
                                                               return 1;
                                                               }
                                                               while (!DecFile.read(&Character, sizeof(Character)).eof()) {
                                                                     cout << Character;
                                                                     }
                                                                     DecFile.close();
                                                                     cout << endl;
                                                                     return 0;    
            
            
            system("PAUSE");
            return EXIT_SUCCESS;
        }

      Цитата

      7 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `,' or `...' before "char"
      E:\Dev-Cpp\Projest\criptografia\main.cpp In function `void XOR_Char(unsigned char&, unsigned int)':
      9 E:\Dev-Cpp\Projest\criptografia\main.cpp `CryptVal' undeclared (first use this function)
      (Each undeclared identifier is reported only once for each function it appears in.)
      E:\Dev-Cpp\Projest\criptografia\main.cpp In function `void SampleFile(const std::string&, const std::string&)':
      14 E:\Dev-Cpp\Projest\criptografia\main.cpp `cahr' undeclared (first use this function)
      14 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `;' before "InChar"
      16 E:\Dev-Cpp\Projest\criptografia\main.cpp `binaty' is not a member of `std::ios'
      17 E:\Dev-Cpp\Projest\criptografia\main.cpp `TargetName' undeclared (first use this function)
      18 E:\Dev-Cpp\Projest\criptografia\main.cpp `InChar' undeclared (first use this function)
      19 E:\Dev-Cpp\Projest\criptografia\main.cpp expected primary-expression before "unsigned"
      19 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `)' before "unsigned"
      20 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `;' before ')' token
      E:\Dev-Cpp\Projest\criptografia\main.cpp In function `void SampleString(std::string&)':
      37 E:\Dev-Cpp\Projest\criptografia\main.cpp `Position' undeclared (first use this function)
      39 E:\Dev-Cpp\Projest\criptografia\main.cpp expected primary-expression before "unsigned"
      39 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `)' before "unsigned"
      45 E:\Dev-Cpp\Projest\criptografia\main.cpp a function-definition is not allowed here before '{' token
      45 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `,' or `;' before '{' token
      108 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `}' at end of input
      E:\Dev-Cpp\Projest\criptografia\Makefile.win [Build Error] [main.o] Error 1

      Если чесно больше половины непонимаю что означают....
        Ну хотя бы это что означает ??
        unsigned cahr char& CryptVal
        Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал"("Yоur bunnу wrоte")
          0x41 0x49, вы тролль.
          ExpandedWrap disabled
                if(Source__File..fail()); {
                                          cout <<"Unable to olpen sorse file" << endl;
                                          return 1;  
                                          }

          Что это?
          Что значат 2 точки?
          Почему 2 подчёркивания вместо одного?
          Почему после if() стоит точка с запятой? Это означает: проверить условие, забить на него и в любом случае выполнить блок кода в скобках.
            Это называется "программирование методом тыка и вытыка".
            M
            Кто-нибудь будет темой заниматься? Хотя бы намекните, иначе тема сольётся.
            Одни с годами умнеют, другие становятся старше.
              Цитата Qraizer @
              Кто-нибудь будет темой заниматься?

              Кому это надо? Автор не потрудился даже опечатки исправить.
                Что-то мне говорит, что тут нужно всего лишь взять хороший редактор с подсветкой синтексиса и сразу все станет понятным.
                  Судя по логам, 0x41 0x49, работает в Dev-C++, подсветка там есть.
                    Dem_max
                    Цитата

                    Ну хотя бы это что означает ??
                    unsigned cahr char& CryptVal

                    понятие неимею, говорю же код из книги, unsigned cahr(тип переменной) char& CryptVal понятие неимею что делает))) буду блогадарен если ктонебуть обеснит кстате.
                    Извините что так медленно отвечаю... броблемы с провайдером были.
                    Кое что в коде исправил но немогу разобратся:
                    почему он так упорно ругается на эту строчку?
                    Цитата

                    void XOR_Char(unsigned char& Target, unsigned cahr char& CryptVal)
                    Цитата

                    7 E:\Dev-Cpp\Projest\criptografia\main.cpp expected `,' or `...' before "char"
                    E:\Dev-Cpp\Projest\criptografia\main.cpp In function `void XOR_Char(unsigned char&, unsigned int)':
                    9 E:\Dev-Cpp\Projest\criptografia\main.cpp `CryptVal' undeclared (first use this function)
                    (Each undeclared identifier is reported only once for each function it appears in.)

                    -----------
                    да у меня Dev C++ 4.9.9.2
                      Я как и компилятор чесно сказать не знаю что ты имеешь ввиду под этим cahr
                      Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал"("Yоur bunnу wrоte")
                        Тебе объяснить разницу между char и cahr? Или сам репу почешешь? :wacko:
                          Цитата #SI# @
                          Тебе объяснить разницу между char и cahr? Или сам репу почешешь?

                          Тут объяснять бесполезно. Тут надо отправлять в сторону букваря по C++ и по русскому языку.
                          "Математики думают, что Бог в уравнениях, нейрологи уверены, что Бог в мозге, а программисты уверены, что Бог — один из них."
                          Морган Фриман
                          Реализация шаблонов Jinja2 для C++ Jinja2 C++
                            Очередная жертва Фурсенко... а что тема делает в разумном разделе по ++ ?
                            Циник — идеалист, с которого сняли розовые очки, сломали надвое и втоптали в землю, тем самым мгновенно улучшив его зрение.
                              Цитата Flex Ferrum @
                              Тут надо отправлять в сторону букваря по C++ и по русскому языку.

                              Сначала по русскому языку!! 8-)
                              Сообщение отредактировано: fatalist -
                              "Кто хочет — ищет возможность. Кто не хочет — ищет отмазку. Найти обычно легко как одно, так и другое." © Ho Im
                                ABBZZ C++ FineWriter
                                Сообщение отредактировано: Uncle_Bob -
                                Среднестатистический житель Петербурга различает до двух с половиной тысяч оттенков серого
                                ლ(ಠ益ಠლ) ( ͡- ͜ʖ ͡-) ( ͡° ͜ʖ ͡°) (╯°□°)╯ ¯\_(ツ)_/¯༼ ຈل͜ຈ༽
                                  Что, ABBYY работает над созданием своего ИИ и оттачивает его навыки на форумах? )
                                  Портал естественных наук | Блог Soul'a
                                  Born to carry the flame, bringing light to the dark
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script Execution time: 0,1546 ]   [ 17 queries used ]   [ Generated: 21.11.19, 15:48 GMT ]