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

Изменить программу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический массив (классов) http://www.cyberforum.ru/cpp-beginners/thread445955.html
Вот такой вопрос, почему так? #include <iostream> #include <string> using namespace std; class primer { public: primer (int _number, char _s1)
C++ Динамическая строка и перегрузка операций Всем доброго дня!!!Если есть минутка, помогите сделать эти задания!буду очень благодарен!! Вот сама задача!!!! 1. Длина L четная, то выделяется подстрока со второго пробела. http://www.cyberforum.ru/cpp-beginners/thread445947.html
Создать класс, для работы с динамическими векторами C++
Создать класс, для работы с динамическими векторами, длины n. В класс реализовать операцию вычитания векторов ввода и вывода в поток. Проверить работу соответствующих операций.
C++ Задача на функции
Помогите разобраться с задачей. Задание. Описать процедуру Minmax (A, B), записывающую в переменную А минимальное из значений А и В, а в переменную В - максимальное из этих значений (А и В - вещественные параметры, являющиеся одновременно входными и выходными). Использую четыре вызова этой процедуры, найти минимальное и максимальное из чисел А, B, C, D. Я понимаю, что написанная мной...
C++ Отлов нескольких одновременно нажатых клавиш http://www.cyberforum.ru/cpp-beginners/thread445887.html
Всем доброго времени суток. Подскажите как одновременно отловить несколько клавиш, попробовал это проделать с ctrl + shift и правой + левой кнопками мыши, получилось конечно, но не очень корректно работает. Подскажите где ошибся int key; TCHAR str; key=wParam; switch(msg) {
C++ нужно перевести математическую формулу у формулу нва с++ http://i070.***********/1202/4b/d6d4496e5067t.jpg подробнее

Показать сообщение отдельно
Orion6767
2 / 2 / 0
Регистрация: 26.10.2010
Сообщений: 67

Изменить программу - C++

14.02.2012, 11:46. Просмотров 728. Ответов 7
Метки (Все метки)

Спасайте - завтра нужно сдать все отчёты. Осталась одна программа:

Общая постановка. Пользовательский класс String должен содержать необходимые элементы-данные, которые создаются в динамической области памяти.
• Конструктор для создания строк: String (…);
• Деструктор: ~String();
• Метод ввода исходной строки: Set();
• Метод печати: void print(…);
Код методов – вне пространства определения класса. Программа иллюстрирует прямой и косвенный способы обращения к методам.
Ввести с клавиатуры строку символов S1. Признак окончания ввода строки - нажатие клавиши "Ввод". Программа должна содержать перегруженную операцию «=», использование которой скопирует S1 в S2 .
Исходную и преобразованную строки вывести в файл.

Задание: Если длина L (строки) кратна 5-и, то подсчитывается количество скобок всех видов.

На этом форуме я нашёл подобную задачу, только там другое условие, я немного изменил его и вот что решает следующая задача:

Если длина L (строки) кратна 5-и, то удаляются 2 первых и 2 последних символа.


Можете подправить код, чтобы программа решала моё условие . Править код (если не ошибаюсь) нужно с 76 строки .

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream>
#include <cstring>
#include <fstream>
 
using namespace std;
 
class String
{
private:
char *m_Str; 
int L; 
void New (const char *str); 
void Del (); 
public:
String (); 
explicit String (const String &str); 
String (const char * str); 
 
~String (); 
void Set ();
void Print ();
void ofile ();
String & operator = (const String & str)
;};
 
void String :: New (const char *str)
{
int size = strlen(str);
m_Str = new char[size+1]; 
L=size; 
strcpy (m_Str, str); 
}
 
void String :: Del()
{
delete [] m_Str;
;}
String::String()
{New("\0");}
String::String (const char *str)
{New(str);}
String::String (const String &str)
{New(str.m_Str);}
String::~String()
{Del();}
 
void String::Print()
{
cout << m_Str << '\n';
}
 
void String::Set()
{
Del();
char tmp[1000];
cin.getline( tmp, 1000 );
cin.sync();
New(tmp); 
}
 
void String::ofile()
{
ofstream file;
file.open ("text.txt", ios::app);
file << m_Str << endl;
file.close ();
}
 
String & String::operator = (const String &str)
{
int j=0;
Del();
char *tmp=new char[str.L];
if(str.L%5==0)
{  
for ( int i=2; i<str.L-2; i++ )
{
tmp[j]=str.m_Str[i];
j++;
}
tmp[j]='\0';
New(tmp);
}
else
New ("Stroka ne kratna 5");
delete [] tmp;
return *this;
}; 
 
int main ()
{
String s1, s2;
s1.Set();
s1.ofile();
s2 = s1;
s2.Print();
s2.ofile();
getchar();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru