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

Чтение\запись файлов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread241464.html
Задание было такое: Создать телефонный справочник для осуществления следующих операций: Добавление абонентов в базу. Удаление абонентов из базы. Модификация данных абонента. Поиск абонентов по телефонному номеру или фамилии. Распечатка в алфавитном порядке абонентов из заданного диапазона номеров или фамилий; например, для номеров диапазон может быть: 222222 - 333333, а для фамилий:...
C++ Классы. Нахождение периметра и площади прямоугольника. Написал код, но никак не пойму на что оно материться, компилятор пишет о том что он не может определить адрес перезагрузки функции, но это какой-то феерический бред в его исполнении. В общем-то программа: # include <iostream> # include "rectangle.h" using namespace std; Rectangle::Rectangle (double a, double b) { http://www.cyberforum.ru/cpp-beginners/thread241458.html
Функции в с++ (разработка и использование) C++
Привет всем кто читает эту тему! Пожалуйста, кому не трудно помогите с задачами на функци, заранее огромное спасибо. I Разработка нерекурсивных функции Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель.С помощью данной функции: сократить дробь a/b. II Разработать рекурсивную функцию , возвращающую значение : для перевода числа...
Элементы массива по возрастанию C++
И опять здравствуйте! За эту неделю уже 4 (или даже 5) раз обращаюсь за помощью. Теперь нужно разобраться с задачей на двумерные массивы. Суть состоит с том, что элементы главной диагонали нужно расположить по возрастанию. У меня пока идёт только сам цикл, а вот полностью оформить программу мысли не доходят. Вот мой код for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if (a<a) {int...
C++ Для каждого массива определить среднее арифметическое максимального и минимального значения http://www.cyberforum.ru/cpp-beginners/thread241437.html
Использование функций, возвращающих одно значение. Даны целочисленные массивы D, A. Для каждого массива определить среднее арифметическое максимального и минимального значения.
C++ Использование функций, возвращающих одно значение помогите решить: Использование функций, возвращающих одно значение. Даны целочисленные массивы D, A. Для каждого массива определить среднее арифметическое максимального и минимального значения. подробнее

Показать сообщение отдельно
VirtualAngel
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 3
12.02.2011, 00:20  [ТС]     Чтение\запись файлов
// Работа с файлами.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <windows.h>
#include <math.h>



using namespace std;

char next;
int i;
long double ksimbol;
long double p;
long double q;
long double AKryptSimbol;
long double KryptSimbol;


//Размер имени файла
const int NameSize = 40;

//Массив для имени файла
char FileName[NameSize];
char KryptFile[NameSize];


void KRYPT() {

//Получение имени файла
cout<<"\nВведите имя текстового файла и путь к нему: \n";
cin >> FileName;

//Получение имени зашифрованного файла и пути к нему
cout<<"\nВведите имя шифруемого файла и путь к нему (например C:'\\'KryptFile.bin) :\n";
cin >> KryptFile;


ifstream inFile;
inFile.open(FileName);

ofstream outFile;
outFile.open(KryptFile);


//Проверка правильности открытия файла FileName
if (!inFile) {
cout<<"\n Ошибка при открытии файла\n"<<" "<<FileName<<"!!!";
}

if (!outFile) {
cout<<"\n Ошибка при открытии файла\n"<<" "<<KryptFile<<"!!!";
}



cout<<"\n Введите два простых числа.\n Сохраните их в тайне!!! Они определят ключ к шифру!!!\n";
cin>>p;
cin>>q;

long double n = p * q;
long double f = (p-1)*(q-1);
long double d = n - f;
long double e = 1/(fmod(d, n));

while(inFile>>next) {
if (next == 'q') { i =12; KryptSimbol = fmod(pow(i, e), n);}
if (next == 'w') { i =31; KryptSimbol = fmod(pow(i, e), n);}
if (next == 'e') { i =22; KryptSimbol = fmod(pow(i, e), n);}
outFile<<KryptSimbol<<" ";
}


inFile.close();
outFile.close();
}




void AKRYPT() {

//Получение имени зашифрованного файла и пути к нему
cout<<"\nВведите имя зашифрованного файла и путь к нему (например C:'\\'KryptFile.bin) :\n";
cin >> KryptFile;


ifstream inFile;
inFile.open(KryptFile);

if (!inFile) {
cout<<"\n Ошибка при открытии файла\n"<<" "<<KryptFile<<"!!!";
}

cout<<"\n Введите два простых числа.\n Сохраните их в тайне!!! Они определят ключ к шифру!!!\n";
cin>>p;
cin>>q;

long double n = p * q;
long double f = (p-1)*(q-1);
long double d = n - f;

while(inFile>>KryptSimbol) {

AKryptSimbol = fmod(pow(KryptSimbol, d) ,n);
cout<<AKryptSimbol<<" ";

if (AKryptSimbol == 12) { cout<<"q";}
if (AKryptSimbol == 31) { cout<<"w";}
if (AKryptSimbol == 22) { cout<<"e";}

}

inFile.close();
}



void _tmain(int argc, _TCHAR* argv[]) {
SetConsoleOutputCP(1251);


KRYPT();

AKRYPT();



getchar();
getchar();


}

Код такой. Прога реализует RSA шифрование(должна реализовать). Создай текстовый файл, загони в него символ Q. При шифровке он заменяется на число 12, которое должно получится после дешифровки. Посмотри пожалуйсто и помоги.
 
Текущее время: 13:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru