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

Простейшая шифровка текста. - C++

Восстановить пароль Регистрация
 
IPP94
Сообщений: n/a
25.03.2013, 23:50     Простейшая шифровка текста. #1
Программа должна шифровать и расшифровывать введенный пользователем текст. Вот что я имею:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main ()
{char a[]="abcdefghijklmnopqrstuvwxyz "; //алфавит
char z[]=" zyxwvutsrqponmlkjihgfedcba"; //шифр алфавита
char text[256]; char shifr[256]; //введенный текст, зашифрованный текст
int i,j,n; // параметры
printf("%s\n",a); printf("%s\n",z); //представление шифровальной таблицы
printf("\nEnter text : ");
gets(text); //запись текста в массив
for (i=0; i<256; i++)
    {for (j=0; j<28; j++) {if(text[i]==a[j]){shifr[i]=z[j];};};};
printf("%s",shifr); // вывод зашифрованной формы
return 0;}
Отсюда у меня вопрос по функции gets. Мне сказали что её применять опасно. Как простым алгоритмом (без функции gets) мне записать текст в символьный массив? Если считывать по символу через цикл, то программа "встает". Компилятор DEV-C++. И сразу второй вопрос, точнее просьба советом. Какой компилятор мне лучше поставить, если я не особо умный в программировании, имею ОС windows 7 x64, и люблю полноэкранное редактирование.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 23:50     Простейшая шифровка текста.
Посмотрите здесь:

C++ Шифровка и дешифровка текста
C++ шифровка/дешифровка
C++ Шифровка табличной заменой
C++ простейшая программа C++
C++ Шифровка текста двунаправленным списком
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
25.03.2013, 23:56     Простейшая шифровка текста. #2
Цитата Сообщение от IPP94 Посмотреть сообщение
Какой компилятор
Почитайте, что такое компилятор а что такое IDE. А чем DEV-C++ вас не устраивает? Вполне приличная среда для новичков.
IPP94
Сообщений: n/a
26.03.2013, 00:05     Простейшая шифровка текста. #3
Вот. IDE - среда разработки. DEV-C++ - IDE которую я использую. Она мне нравится. Просто посетила меня мысль что может это какая-то "левая" IDE. Но вы развеяли мои сомнения. Но главный вопрос остается: что на счет gets?
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
26.03.2013, 00:26     Простейшая шифровка текста. #4
Цитата Сообщение от IPP94 Посмотреть сообщение
что на счет gets?
У вас код на С. Не знаю опасно ли ее применять или нет, но лучше пользоваться cin.getline( text, 256)

Добавлено через 6 минут
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
#include <iostream>
 
int main() {
 
    char a[] = "abcdefghijklmnopqrstuvwxyz ";
    char z[] = "zyxwvutsrqponmlkjihgfedcba";
    
    const int size = 256;
    char text[size]; 
    char shifr[size];
    
    std::cout << a << std::endl << z << std::endl
              << "Enter text: ";
              
    std::cin.getline( text, size );
    
    for( int i = 0; i < size; i++ ) {
        for( int j = 0; j < sizeof(z) / sizeof(char); j++ ) {
            if( text[i] == a[j] ) {
                shifr[i] = z[j];
                shifr[i+1] = '\0';
            }
        }
    }    
    
    std::cout << std::endl << shifr;
    
    return 0;
}
Вот на С++. И еще на заметку: учитесь нормально оформлять код, читать невозможно
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
26.03.2013, 00:39     Простейшая шифровка текста. #5
Цитата Сообщение от coloc Посмотреть сообщение
cin.getline( text, 256)
это C++
надо применять gets_s
Yandex
Объявления
26.03.2013, 00:39     Простейшая шифровка текста.
Ответ Создать тему
Опции темы

Текущее время: 06:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru