Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Cofeee
#1

создать классы - C++

13.12.2011, 18:00. Просмотров 195. Ответов 0
Метки нет (Все метки)

Я написал программу шифрования и дешифр. , но реализовал её без использования классов. Теперь вот надо как-то её переделать .
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
 
char Shifr(char* ABC, char c, int n, int len) // --------------------- ф-я Шифрования
{
    for(int i = 0; i < len; i++)
    {
        if(ABC[i] == c)
        {
            int q = i + n;
            if ( q  >= len)
            {
                return ABC[q - len];
            }
            else
                return ABC[q];
            
        }
    }
    return c;
}
 
char Deshifr(char* ABC, char c, int n, int len) //------------------- ф-я Дешифрования
{
    for(int i = 0; i < len; i++)
    {
        if(ABC[i] == c)
        {
            int q = i - n;
            if (q < 0)
            {
                return ABC[len + q];
            }
            else
                return ABC[i - n];
             
        }
    }
    return c;
}
 
int main() // - - - - - - - - - - - - - - - - - - - - - - - - - - - -  main()
     
{
    setlocale(LC_ALL,"russian");
    
    char text[194];
    
    int n,num;
    
    FILE *alf  , *ish , *sh_w, *d_sh, *ish1;
 
      alf = fopen ( "Alfavit.txt" , "rb" );// открытие файла, где хран. алфавит
      int q = 0;
 
      while ( !feof (alf))
      {
            fread ( &text[q] ,1 ,1 ,alf);
            q++;
            }
 
      fclose (alf);
 
    cout << "Введите размер сдвига : ";
    cin>> n;
    cout << endl;
 
    
    int l = 0;                                                          
    ish1 = fopen ( "IshdText.rtf" , "rb" );                             
    int b;                                                               
      while ((b =  fgetc (ish1))!=EOF)                                   
          {l++;}                                                         
      int  k = l;                                                        
      cout << "Размер исходного файла : " << k <<" "<<"байт"<<endl;    
      fclose(ish1);                                                      
                                                                         
      char *x;                                                             
      x = new char[k];                                                  
   
    
 
    int i = 0;
    ish = fopen ( "IshdText.rtf" , "rb" );
    
      while ( ! feof (ish))
      {
            fread( &x[i], 1,1, ish );
            //putchar ( x[i] );
            i++;
            if (x[i+1] = 0)
                break;
      }
      
      cout<<endl;
     
//--------------------------------------------------Вызов функции Шифрования
    for( int i=0 ; i < k ;i++)
    {
        x[i] = Shifr(text,x[i],n,194);
    }
    
    cout <<"Файл зашифрован !"<<endl<<endl;
    sh_w = fopen ( "Shifr.rar" , "wb" );
    
      for ( int l = 0; l < k; l++)
      {
            fwrite( &x[l], 1,1, sh_w );
            //putchar ( x[l] );
            
      }
      
    do {
    cout <<"1.Выйти"<<endl;
    cout <<"2.Дешифровать"<<endl;
    cout <<"Ваш выбор:";
 
    cin >> num;
    switch (num)
    {
    case 1:
        break;
    case 2:
        {
            for(int i = 0; i < k; i++)
    {
        x[i] = Deshifr(text,x[i],n,194);//----------------------- Вызов функции Дешифрования
    }
 
    cout <<endl<<"Файл дешифрован !"<<endl<<endl;
    d_sh = fopen ( "DeShifr.rtf" , "wb" );
    
      for ( int l = 0; l < k; l++)
      {
            fwrite( &x[l], 1,1, d_sh );
            //putchar ( x[l] );
            
      }
      cout<< endl;
    
    break;}
 
        
    } 
        
    }
    while ( num != 1);
    
    return 0;
}
Добавлено через 4 минуты
думаю может нужно функции как-то в класс позагнать, а?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 18:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создать классы (C++):

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) - C++
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию...

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия) - C++
Привет Помогите пожалуйста с решением задачи на C++. вот задание: &quot;Создать класс Point (точка). На его основе создать классы...

Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle - C++
Создать абстрактный базовый класс Figure с виртуальной функцией -периметр.Создать производные классы Rectangle, Circle,Triangle,Rhomb в...

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы - C++
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие...

Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема - C++
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема:...

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2011, 18:00
Привет! Вот еще темы с ответами:

Создать производные классы - C++
Создать производные классы со своими методами вывода информации на экран (абстрактного класса Библиотека). Производные классы: 1....

Создать классы Person и Date - C++
Пожалуйста!!! Помогите!!! Нужно создать классы Person и Date для программы /она будет составляться в следующем задании/. Вот что...

Создать классы точки и треугольника - C++
Создать класс Pair (пара чисел); определить метод изменения полей и вычисления произведения чисел. Определить производный класс...

Классы : Создать класс автомобиль - C++
Само задание : Создать класс , который описывает автомобиль . Минимально с 3 атрибутами . Добавить каждому атрибуту set и get метод ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru