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

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

Войти
Регистрация
Восстановить пароль
 
ShookTrooper
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 3
#1

Символьная строка в функции get_string() не выводится в методе print - C++

19.03.2012, 20:59. Просмотров 664. Ответов 4
Метки нет (Все метки)

Введенная символьная строка в функции get_string() не выводится в методе print.
В чем ошибка??? Заранее спасибо!

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
# include <iostream.h>
# include <conio.h>
# include <math.h>
# include <stdio.h>
# include <stdlib.h>
//------------------------------------------------------------------------------------------------------------------------------------------------------------------
class String
{
    private:
        char* str;
        int n;
 
    public:
    //default constructor
    String () {}
 
    //copy constructor
    String (String & s)
    {
        n=s.n;
            set_string(s.str);
    }
 
    //constructor with params
    String(int size, char *s)
    {
        n=size;
         str=new char[n];
         for (int i=0; i<n; i++)
            str[i]=s[i];
    }
 
      //destructor
      ~String()
      {
            delete []str;
      }
 
      void set_string(char* s)
      {
         for (int i=0; i<n; i++)
            str[i]=s[i];
      }
 
      void print_str()
      {
         cout<<endl;
         for (int i=0;i<n;i++)
        cout<<str[i];
        }
};
 
char* get_string(int k)
{
    char* t;
   t=new char[k];
   gets(t);
    return t;
}
 
 
 
int main()
{
    int size=80;
 
   String ob(size,get_string(size));
   ob.set_string(get_string(size));
   ob.print_str();
    getch(); return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2012, 20:59     Символьная строка в функции get_string() не выводится в методе print
Посмотрите здесь:

Дана символьная строка. Подсчитать в ней количество вхождений букв г, k, t. ( не используя встроенные функции) - C++
Дана символьная строка. Подсчитать в ней количество вхождений букв г, k, t. ( не используя встроенные функции)

Символьная строка - C++
Подскажите алгоритм который будет вычислять количество слов больше 4 элементов в символьной строке

символьная строка - C++
Задано символьная строка, который является двоичным кодом целого без знакового числа (состоит из 0 и 1). Вычислить и вывести на экран...

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

Является ли перевертышем символьная строка - C++
Проверить, является ли перевертышем следующая символьная строка после удаления из нее всех пробелов: а) &quot;АРГЕНТИНА МАНИТ НЕГРА&quot;; б) &quot;А ...

Дана символьная строка,написать программу которая.. - C++
Дана символьная строка. Написать программу, которая заменяет каждую из латинских букв этой строки на две звездочки. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
19.03.2012, 21:29     Символьная строка в функции get_string() не выводится в методе print #2
как вариант - вы записываете в поток ровно 80 символов вне зависимости от фактического положения нулевого символа окончания строки. соответственно в поток могут пойти неопределенные символы за пределами динамически выделенной памяти и все это может сопровождаться широким спектром чудес начиная от "кракозябликов" и заканчивая "access violation"
ShookTrooper
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 3
19.03.2012, 21:54  [ТС]     Символьная строка в функции get_string() не выводится в методе print #3
хм.. ну если в майне перед getch() вставить
C++
1
puts(get_string(size));
, то выведет правильно же

Добавлено через 20 минут
up
up
up
vxg
Модератор
3144 / 1946 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
20.03.2012, 13:47     Символьная строка в функции get_string() не выводится в методе print #4
сказано -
Цитата Сообщение от vxg Посмотреть сообщение
может сопровождаться широким спектром чудес
почему же просто не попробывать сделать по человечески?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2012, 14:10     Символьная строка в функции get_string() не выводится в методе print
Еще ссылки по теме:

Дано символьная строка. Найти наибольшую последовательность букв к - C++
дано символьная строка. Найти наибольшую последовательность букв к.

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

Дано символьная строка. Определить количество пробелов этой строке - C++
вот наброски, но не работает, ошибки пишет( #include&lt;iostream&gt; using namspase std; void main() { char stc; gets...

Создать класс Str (символьная строка). Переопределить оператор присвоения. - C++
Помогите решить с обяснениями. Создать класс Str (символьная строка). Переопределить оператор присвоения.


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

Или воспользуйтесь поиском по форуму:
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
20.03.2012, 14:10     Символьная строка в функции get_string() не выводится в методе print #5
Цитата Сообщение от ShookTrooper Посмотреть сообщение
void set_string(char* s)
{
for (int i=0; i<n; i++)
str[i]=s[i];
}
Как минимум
C++
1
for (int i=0; i <= strlen(s); i++)
плюс нужно учитывать, что длина s должна быть меньше длины str.
Yandex
Объявления
20.03.2012, 14:10     Символьная строка в функции get_string() не выводится в методе print
Ответ Создать тему
Опции темы

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