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

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

Войти
Регистрация
Восстановить пароль
 
Erasus
1 / 1 / 1
Регистрация: 17.08.2014
Сообщений: 27
#1

Определить количество введенных символов - C++

28.07.2016, 15:23. Просмотров 175. Ответов 2
Метки нет (Все метки)

Всем привет

Есть кусок кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    //setlocale(LC_CTYPE, "russian");
 
    char sz_Source[8];
 
    gets(sz_Source);
 
    for (int i = 0; i < sizeof(sz_Source); i++)
    {
        cout << encrypt(sz_Source[i]);
    }
    cout << endl;
 
    system("pause");
 
    return 0;
}
Мне нужно, чтобы размер sz_Source сам менялся в зависимости от введенных пользователем символов. Дело в том, что я пишу простейшее шифрование текста (буквы алфавита смещаются на 1 вперед) и если я пишу, допустим, hello, а длина массива 8, то он мне напишет ifmmpbbb, а bbb в конце это нули в массиве. От этого мне надо избавиться и сделать так, чтобы он шифровал ровно столько, сколько написано пользователем. Я пока только учусь и попытался сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
    //setlocale(LC_CTYPE, "russian");
 
    char *sz_Source = new char;
 
    gets(sz_Source);
 
    for (int i = 0; i < sizeof(sz_Source); i++)
    {
        cout << encrypt(sz_Source[i]);
    }
    cout << endl;
 
    delete sz_Source;
 
    system("pause");
 
    return 0;
}
В этом случае он кодирует до 4 символов и с кучей ошибок. Помогите разобраться
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2016, 15:23     Определить количество введенных символов
Посмотрите здесь:

Определить количество числовых символов, введенных с клавиатуры - C++
Программа, которая определяет, сколько символов введено с клавиатуры и сколько из них числовых символов. Помогите, пожалуйста, написать...

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

Количество введенных символов, слов и строк - C++
Напишите программу, которая выводит на экран вводимые символы до тех пор, пока не введено &lt;CTRL/Z&gt;, выводит ко-личество введенных символов,...

Подсчитать в вводимой строке количество введенных символов, отличных от пробела. - C++
С клавиатуры вводятся символы до тех пор, пока не встретится конец предложения. Концом предложения считать символы : ! ?. Подсчитать...

В последовательности введенных символов (последний '$') определить порядковый номер первой буквы R - C++
В последовательности введенных символов (последний '$') определить порядковый номер первой буквы R (с учетом верхнего/нижнего регистров) ...

Определить количество, минимальное и максимальное из введенных чисел - C++
Пользователь вводит последовательность чисел. Окончание ввода – ввод числа ноль. Программа должна определить количество, минимальное и...

Среди введенных чисел определить количество положительных отрицательных и равных нулю - C++
Ввести в программе n чисел с клавиатуры и определить, сколько среди них положительных, отрицательных и равных 0. Вывести результат на экран.

Определить количество символов в предложении - C++
Посчитать количество символов * &quot; ! в предложении.

Определить количество различных символов - C++
Как сделать так, чтобы программа читала не буквы, например, в слове, а именно символы, то есть мне нужно количество символов, к примеру, в...

Определить количество символов введённой строки - C++
1) Написать программу, которая позволяет вводить с клавиатуры строку, содержащую более одного слова, и определять: а) количество символов...

определить количество слов, короче 5 символов - C++
определить количество слов, короче 5 символов помогите сделать

Определить количество символов В содержащихся в строке - C++
Заданная строка. Определить количество символов В содержащихся в этой строке.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Ivana
2887 / 1712 / 148
Регистрация: 01.03.2013
Сообщений: 4,883
Записей в блоге: 2
28.07.2016, 15:29     Определить количество введенных символов #2
Строковые классы должны представлять строчки в виде граждан первого класса. Они абстрагируются от того, что строки — штуки сложные, и дают возможность работать с ними легко, ну прям как с числами. Почти все строковые классы C++ перегружают оператор +, и для конкатенации строчек можно писать s+"bar". Но как ни старайся, никакой на свете строковый класс C++ не даст вам написать "foo"+"bar", поскольку строковые литералы в C++ всегда имеют тип char*, а не string. Абстракция прохудилась так, что языком C++ её не заткнёшь. (Интересно, что историю развития C++ можно описать как историю затыкания дырок в абстракции строк. Уж не знаю, отчего бы не добавить к языку элементарный класс строчек.)
http://russian.joelonsoftware.com/Ar...tractions.html
zss
Модератор
Эксперт С++
6284 / 5887 / 1908
Регистрация: 18.12.2011
Сообщений: 15,111
Завершенные тесты: 1
28.07.2016, 15:29     Определить количество введенных символов #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Erasus Посмотреть сообщение
gets(sz_Source);
Вводит текстовую строку с терминальным нулем в конце.
Поэтому вместо sizeof(sz_Source) используйте strlen(sz_Source)
Yandex
Объявления
28.07.2016, 15:29     Определить количество введенных символов
Ответ Создать тему
Опции темы

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