Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод лишних символов 
V
    Опции темы
ДобренькийПапаша
Дата 27.10.2009, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



На 42 строке после нужных символов выводит всякую фигню в виде звёздочек и прямоугольников
Код

#include <iostream.h>  //Стандартный поток ввода-вывода, требуется для работы функций cin и cout
#include <conio.h>     //Заголовочный файл, требуется для функции getch() - для задержки экрана
#include <string.h>    //Требуется для функции strlen(), для вычисления длинны строки.
#include <ctype.h>
//А-128, Я-159

bool IsValidInput(char inStr[], int len); //Прототип функции IsValidInput 

bool IsValidInput(char inStr[], int len)  //Функция проверки валидности ввода, возвращает false, 
{                                 //если встречает нерусские незаглавные символы.
    for(int i=0; i<len; i++)
    {
        if((int)inStr[i]>-97 || (int)inStr[i]<-128)
        {
            return false;
        }
    }
    return true;
}

int main()
{
    int curASCII;
    char inStr[256];
    cout<<"Input string to encrypt:";        
    cin.getline(inStr, sizeof(inStr));        //Записываем массив символов
    cout<<endl;                                //Перевод на новую строку консоли
    
    int len=strlen(inStr);
    if(IsValidInput(inStr, len))                 //Вызов функции проверки валидности ввода
    {
        char *encryptedStr=new char[len];   //Динамически создаём массив для шифрования, равным длинне введённых символов...
        for(int i=0; i<len; i++)
        {
            curASCII=(int)inStr[i];         //Получение целочисленного представления аски-символа
            encryptedStr[i]=(char)(286-curASCII+1);  //Шифрация = замена символа на n-i+1 символ алфавита (где n=286=128+159-1)
        }

        cout<<"Encrypted string:"<<encryptedStr;
        for(int j=0; j<len; j++)
        {
            cout<<encryptedStr[j];         //После нужных символов выводит всякую фигню в виде звёздочек и прямоугольников
        }
        cout<<endl;
    }
    else
    {
        cout<<"Incorrect input string! Please, type in russian capital case..."<<endl; 
    }
    
    getch();
    return 0;
}


Это сообщение отредактировал(а) ДобренькийПапаша - 27.10.2009, 21:26


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
mes
Дата 27.10.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(ДобренькийПапаша @  27.10.2009,  20:24 Найти цитируемый пост)
На 42 строке после нужных символов выводит всякую фигню в виде звёздочек и прямоугольников

си-строка должна заканчиваться нулем.. только не забывайте при выделении памяти и для него место оставить [len+1] smile

Это сообщение отредактировал(а) mes - 27.10.2009, 22:08


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.