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

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

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

Класс "строка" - C++

13.01.2010, 18:47. Просмотров 358. Ответов 0
Метки нет (Все метки)

Доброго времени суток господа! кто может подсказать вот такую вещь.

есть задание:
написать класс "строка", в который должен:
1) складывать 2 подстроки
2) выполнять замену подстрок
3) менять длину строки

в качестве примера должно было быть следующее:
- есть строка "hello, "
- к ней добавляется "Vasyek" и "!" -> итог "hello, Vasyek!"
- замена "hello" на "bye" -> итог "bye, Vasyek!"
- замена "ye" на "some" -> итог "bsome, Vassomek!"
- подсчет длины строки -> в данном случае 16
- изменение длины строки -> например (3) итог "bso"

вот то что я набросал:

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <iostream>
#include <cstring>
#include <string>
 
using namespace std;
 
class myString
{
private:
    string str1;
    string str2;
    string str;  
    string old;
    string zam;
    int dln; 
    int pos; 
 
public:
    myString();
    ~myString();
    void Set(); 
    string& Rep();
};
 
myString::myString()
{
    str2="";
    str1="";
    str=""; 
    old="";
    zam="";
    pos=0;
    dln=0;
}
 
myString::~myString()
{
}
 
 
string& myString::Rep () 
{       
    while((pos=str1.find(old))!=-1)
    str1.replace(pos,old.length(),zam);
    cout << str1;
    cout << "\n dlina stroki:" <<str1.length() << endl; 
    cout << "\n novaya dlina:" ;
    cin >> dln; 
    str1.resize (dln); 
    
    return str1; 
} 
 
void myString::Set() 
{    
    str1="hello, ";
    cout << "\ntext:" << str1 << endl;//
    cout << "\nprodolzhenie:";
    getline (cin, str2); 
    str1=str1+str2; 
    str1+="!"; 
    cout << "\ntext: " << str1 << endl;
    pos = str1.find ("hello");
    str1.replace (pos, 5 , "bye"); 
    cout << "\nzamena: " << str1 << endl;
    cout << "\nenter old: "; 
    getline(cin, old);
    cout << "\nenter new: ";
    getline(cin, zam);
    cout << "\nok\n";
    
    
}
 
 
int main ()
{
    myString s, str1;
    s.Set();
    cout << "\n novaya stroka: \n" << s.Rep() << endl;
 
 
    system ("pause"); 
    return 0;
}
в принципе оно работает, НО написано криво в ответ я получил что необходимо чтобы в main был такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
          // Я считаю, что myString уже есть
    myString str1, str2;
    
    str1="hello, "; // инициализирую строку
    cin >> str2; // считываю строку (например Vasyek)
    str1=str1+str2; // конкатенация (str1 = "hello, Vasyek")
    str1+="!"; // тоже конкатенация (str1 = "hello, Vasyek!")
    str1.replace("hello", "bye"); // одиночная замена (str1 = "bye, Vasyek!")
    str1.replaceAll ("ye", "some"); // множественная замена (str1 = "bsome, Vassomek!")
    cout << str1.getLength(); // str1.getLength() = 16
    str1.setLength(3); // (str1 = "bso")
    return (0);
*/
помогите поменять то что накарябано!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2010, 18:47     Класс "строка"
Посмотрите здесь:

Создать полноценный класс "Строка", с конструкторами, деструктором, преобразованием типов - C++
Создать полноценный класс &quot;Строка&quot;, с конструкторами, деструктором, преобразованием типов (из char * в String и наоборот, перегрузкой...

Базовый класс "Строка" отказывается работать - C++
не могу понять в чем проблема, базовый класс отказывается работать. main #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

Реализовать шаблонный класс "Строка" - C++
Доброго времени суток! Помогите пожалуйста. Задание такое - класс Stroka оформить как шаблон, потом в int main () продемонстрировать...

Класс "Строка прогресса" - C++
Пожалуйста не спешите отправлять мне сообщение &quot;сделаю за $, я знаю как надо делать ...&quot; и дочитайте пожалуйста до конца. Задание: ...

Определить класс "строка" - C++
Определите класс &quot;строка&quot; с двумя член-данными: char *p и int len, где char*p- указатель на строку, а int len - длина строки. Напишите...

Класс "Символьная строка" - C++
Помогите исправить ошибки!!! Пжалста!!! Оч надо!!!! Задание: Создать класс &quot;символьная строка на экране&quot; с компонентными данными:...

Определить класс "строка" - C++
с++ , visual studio &lt;cut&gt;

Описать класс "Строка" - C++
Спецификация программы 1. В соответствии с приведенными вариантами заданий реализовать программу с использованием классов. 2. В...

Класс "Строка" - C++
Доброго времени суток! Данный код вылетает на строке C=B.concaten(A);//соединяю 2 и 1 строки и перезаписываю в третью с помощью...

Error C2143: синтаксическая ошибка: отсутствие ";" перед "строка" - C++
#include &lt;stdafx.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale(...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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