Форум программистов, компьютерный форум CyberForum.ru

Разъяснение кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Взаимная агрегация http://www.cyberforum.ru/cpp-beginners/thread1139224.html
Здравствуйте, не знал как правильно назвать тему, если ошибся - простите. Пишу симулятор банкомата, есть класс Card и User. Пользователь имеет карту, в интерфейсе класса User я пишу Card *card; Чтобы когда карта вставлялась в картридер, я мог получить информацию о пользователей, в интерфейсе я пишу User *user. Проблема в том, что классы описаны в различных модулях.... файлах. И получается...
C++ Ошибка в коде? Доброго времени суток. Учусь по книге Дейтелов "Как программировать на С++"...Перепечатал оттуда пример в компилятор, но он не компилируется. Код: Заголовок GradeBook.h #include <string> using std::string; class GradeBook { public: const static int students = 10; GradeBook(string, const int); http://www.cyberforum.ru/cpp-beginners/thread1139215.html
Задание массивов, вывод их на печать и вычисление вспомогательных выражений C++
Здравствуйте помогите пожалуйста написать программу. Заданы 3 массива случайных вещественных чисел, определённой размерности A, B, C Необходимо вычислить значение М при помощи вычисления вспомогательных функций. Задание массивов, вывод их на печать и вычисление вспомогательных выражений оформить в виде отдельных функций. Выводить на экран промежуточные значения. (идёт перебор элементов матриц...
C++ Работа с многострочным текстом(введенным из консоли)
Имеется условие: С клавиатуры вводится многострочный текст. Оставить в тексте только первые вхождения каждой буквы, остальные – удалить. Вывести слова полученного текста, которые начинаются и заканчиваются одной и той же буквой. И работоспособный код: #include <stdio.h> #include <cstring> #define MAX 100
C++ С++ для совсем чайников http://www.cyberforum.ru/cpp-beginners/thread1139187.html
1. Лодка перемещается сначала по течению реки, а затем против течения. Вычислить путь пройденной лодкой, если её скорость в стоячей воде v км/ ч скорость течения vr км/ч, время движения по течению t1 ч, а против течения t2 ч. 2. Дано натуральное четырехзначное число. Определить, сколько раз в нем встречается максимальная цифра. 3. Найти максимальное из натуральных чисел, не превышающих 5000,...
C++ Строку в вектор vector<string> result; vector<string>::iterator it; string str; cin>>str; result.push_back(str); for (it = result.begin(); it!=result.end(); ++it) { cout<<*it<<endl; подробнее

Показать сообщение отдельно
RFskynet
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 4
04.04.2014, 22:27     Разъяснение кода
Доброго времени суток, такая проблема, надеюсь поможете безвозмездно.
Имеется программа "шифрования"
Хочется чтобы спецы объяснили сам процесс шифрования, каким тут способом и как реализовано.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
#include<math.h>
#include"rus.h"
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
void main()
{
char* kluch; //резервируем адрес для ключевого выражения
ifstream inp("Input.txt"); //записись
ofstream out("Output.txt"); //из
if(!inp)
{
cout«Rus("ОТСУТСТВУЕТ ФАЙЛ Input.txt");
getch();
exit(1);
} 
cout«Rus("ВВЕДИТЕ КЛЮЧ (БЕЗ ПРОБЕЛОВ)");
cin»kluch;
int n=strlen(kluch); //длина ключа
int b,j,i=0;
for(int k=0;k<n;k++)
{ //преобразование символов ключа в прописные
b=kluch[k];
if(b<=-33&&b>=-64)b+=32; //A->а,Б->б,...(русский алфавит)
if(b==-81||b==-88||b==-86)b+=16; //Ї->ї,Є->є,Ё->ё
if(b<=90&&b>=65)b+=32; //A->a, B->b,...(английский )
kluch[k]=b;
}
char temp,buffer=NULL;//buffer-считываемый символ,temp- преобразованный символ
 
while(!inp.eof()) //пока не достигнут конец файла
{
inp.read((char*)&buffer,sizeof(buffer));//считываем очередной символ
if(buffer==NULL)break;// если файл пустой
b=buffer;
//преобразование символов исходного текста в заглавные
if(b>=-32&&b<=-1)b-=32; //а->А,б->Б,...(русский алфавит)
if(b==-65||b==-72||b==-70)b-=16; //ї->Ї,є->Є,ё->Ё
if(b>=97&&b<=122)b-=32; //a->A, b->B,...(английский )
buffer=b;
 
j=fmod(i,n); // переменная j циклически изменяется от 0 до n-1
temp=buffer^kluch[j];// применяем операцию "исключающее ИЛИ"
out.put(temp); //записываем кодированный символ
i++; //переходим к следующему символу ключевого слова
buffer=NULL; 
}
 
inp.close();
out.close();
cout«Rus("ЗАШИФРОВАННЫЙ ТЕКСТ НАХОДИТСЯ В ФАЙЛЕ Output.txt");
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru