Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 17.08.2014
Сообщений: 28
1

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

28.07.2016, 15:23. Просмотров 1241. Ответов 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 символов и с кучей ошибок. Помогите разобраться
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2016, 15:23
Ответы с готовыми решениями:

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

Определить количество символов, введенных пользователем с клавиатуры
Добрый вечер. Вопрос: как мне определить кол-во символов, введенных пользователем с клавиатуры? ...

Количество введенных символов
подскажите есть задание С клавиатуры вводится последовательность символов до тех пор, пока не...

Подсчитать количество введенных символов
С клавиатуры вводится последовательность символов строки. После ввода каждого символа программа...

2
4453 / 2072 / 263
Регистрация: 01.03.2013
Сообщений: 5,508
Записей в блоге: 22
28.07.2016, 15:29 2
Строковые классы должны представлять строчки в виде граждан первого класса. Они абстрагируются от того, что строки — штуки сложные, и дают возможность работать с ними легко, ну прям как с числами. Почти все строковые классы C++ перегружают оператор +, и для конкатенации строчек можно писать s+"bar". Но как ни старайся, никакой на свете строковый класс C++ не даст вам написать "foo"+"bar", поскольку строковые литералы в C++ всегда имеют тип char*, а не string. Абстракция прохудилась так, что языком C++ её не заткнёшь. (Интересно, что историю развития C++ можно описать как историю затыкания дырок в абстракции строк. Уж не знаю, отчего бы не добавить к языку элементарный класс строчек.)
http://russian.joelonsoftware.... tions.html
0
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,581
28.07.2016, 15:29 3
Цитата Сообщение от Erasus Посмотреть сообщение
gets(sz_Source);
Вводит текстовую строку с терминальным нулем в конце.
Поэтому вместо sizeof(sz_Source) используйте strlen(sz_Source)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2016, 15:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Подсчитать количество символов введенных до знака #
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; int main() { char ch; ...

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

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


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

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

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