Автор работы: Пользователь скрыл имя, 11 Декабря 2011 в 15:44, курсовая работа
Ключевым понятием C++ является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В C++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем.
Введение 3
Теоретические сведения 4
Объектно-ориентированное программирование 4
Обобщенное программирование 8
Библиотека iostream 11
Класс string 14
Наследование 16
Руководство программиста 17
Руководство пользователя 18
Текст задачи 20
Листинг программ 21
Объектно-ориентированное программирование 21
Обобщенное программирование 30
Заключение 35
Используемая литература 36
fputc(ch,
}
fclose(f);
return 0;
}
Файл code.h
#pragma once
#include <stdio.h>//подключение
библиотеки stdio
class FileWork//объявляем класс
{
protected:
//имена входных файлов
char * text;
char
* key;
public:
FileWork();
void SetFileName();
FILE * FOpenText();
FILE * FOpenKey();
};
class Code : public FileWork
{
private:
//ключ
char *s1;
char
*s2;
FILE
* out;
//длина ключа
int
key_size;
int
error;
public:
Code();//конструктор по умолчанию
int ReadCodeKey();//считывает файл с ключом кода
int PrintSourseText();//печать измененного текста
int
Coding();//кодирование текста
int Exeqtion() {return error;}
~Code();//деструктор
};
Обобщенное программирование
#include
<iostream>//подключение
#include <stdio.h>//подключение stdio
#include
<cstring>//подключение string
using namespace std;
#define
size_code 50 //именованная константа, размер
шифра
int main()
{
char * text = new char [51]; //файл с текстом
char * code = new char [51]; //файл
с шифром
cout<<"Text file name ";
cin>>text;
cout<<"Code file name ";
cin>>code;
char * s1 = new char [size_code + 1];
char * s2 = new char [size_code + 1];
FILE * f = fopen(code,"r");//открытие файла code для чтение
if (!f)
return 1;
char ch;
int ind = 0;
//чтение строки с заменяемыми символами
while (!feof(f))
{
ch = fgetc(f);
if (ch == '\n')
break;
s1[ind++] = ch;
}
s1[ind] = '\0';
//чтение строки с символами на замену
ind = 0;
while (!feof(f))
{
ch = fgetc(f);
s2[ind++] = ch;
}
ind--;
s2[ind] = '\0';
fclose(f);
FILE * out = fopen("out.txt","w");//
if (!out)
return 1;
//печать шифра в результат
fputs("-->code key\n",out);
fputs(s1,out); fputc('\n',out);
fputs(s2,out); fputc('\n',out);
//открытие
if (!(f = fopen(text,"r")))
return 1;
//эхо печать
fputs("-->sourse text\n",out);
while (!feof(f))
{
ch = fgetc(f);
if (feof(f))
break;
fputc(ch,out)
}
//шифруем
fputs("\n-->code text\n",out);
fseek(f,0,SEEK_SET)
while(!feof(f))
{
ch = fgetc(f);
if (feof(f))
break;
bool flag = false;
for (int i = 0; s1[i] != '\0' && i<size_code; i++)
if (s1[i] == ch)
{
f
b
}
if (flag && i<strlen(s2))
fputc(
else
fputc(
}
fclose(f);
fclose(out);
return 0;
}
7.Заключение
В процессе выполнения курсовой работы были спроектированы и отлажены две программы для решения одной и той же задачи. Были использованы технологии объектно-ориентированного программирования и обобщенного программирования.
Данная работа наиболее полно сформировала представление об объектно-ориентированном программировании и помогла разобраться в интересующих и непонятных для меня вопросах.
8.
Используемая литература