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

Классы STR с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Банкомат по карте позволяет снимать деньги со счета и / или печатать справку об остатке на счете. http://www.cyberforum.ru/cpp-beginners/thread455518.html
Банкомат по карте позволяет снимать деньги со счета и / или печатать справку об остатке на счете. Информация об остатке на счете сохраняется в файле. Предусмотреть возможность внесения данных в файл, дозапись файла, редактирование данных файла, вывод всей информации из файла на экран
C++ Перевести программу в структуры Добрый вечер, помогите пожалуйста сделать в программе структуры, препод сказал, что нужны структуры... #include <cstring> #include <string> #include <fstream> #include <iostream> #include <conio.h> #include <malloc.h> using namespace std; void punkt_3(ofstream &fout, ifstream& fin, char *str, char &symbol); http://www.cyberforum.ru/cpp-beginners/thread455512.html
C++ Сортировка массива структур
В чем ошибка? Сортировать по полю фамилия. Отдел кадров #include<stdio.h> #include<conio.h> typedef struct vk { char n;//фамилия char i;//Иницыали double r;//god roztdeniya double o;//zarplata
Крестики нолики(сократить код) C++
а как в крестиках ноликах можно заменить проверку двух подряд крестиков? //////////////////////HORIZONTAL/////////////// if(a==a && a!=' '){ } if(a==a && a!=' '){ } if(a==a && a!=' '){ } if(a==a && a!=' '){ } if(a==a && a!=' '){ } if(a==a && a!=' '){ } if(a==a && a!=' '){ }
C++ Принадлежит ли точка области. http://www.cyberforum.ru/cpp-beginners/thread455496.html
Даны действительные числа x, y. Определить, принадлежит ли точка с координатами (x, y) заштрихованной части плоскости. Ответ выдаёт не правильно. Вот что получилось у меня: //--------------------------------------------------------------------------- #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused
C++ В текстовом файле заменить все лова начинающиеся с буквы "а" на первое место, которое начинается с буквы "с" ЗАВТРА ЭКЗАМЕН И НЕ РЕШИЛА ЭТУ ЗАДАЧУ! НЕ ЗНАЮ КАК! ели знаете как ее решить-решите, очень надо! В текстовом файле заменить все лова начинающиеся с буквы "а" на первое место, которое начинается с буквы "с".Дополнительных файлов и массивов строк не использовать" подробнее

Показать сообщение отдельно
Тина_Ливингстон
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 59
03.03.2012, 09:36  [ТС]     Классы STR с++
Пмогите пожалуйста найти ошибку

Код
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
#include <cstring>
#include<string>
using namespace std;
class Str
{
private:
        char* str;
        int n;
public:
        Str( char* s);//конструктор с троки
        Str();//конструктор без параметров пустой строки
        Str( Str& );//конструктор копирования
        Str(char s);//конструктор, принимающий параметр – символ
        ~Str();//деструктор
        char* CleenStr(char* s);//очистка строки
        Str& operator=(const Str & s1);//Перегрузка оператора присваивания
        Str operator+(const Str&)const;//перегр оператор + сцепления 2 строк
        bool operator >(const Str& )const;
        bool operator ==(const Str&)const;
        friend istream& operator>>(istream& , Str& );//перегрузка ввода с клавиатуры
        friend ostream& operator<<(ostream& , Str& );//Перегрузка оператора вывода в поток
        //void input();
        char* return_str();
        int return_size();
};
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
101
102
#include "header.h"
//конструктор пустой строки (без параметров)
Str::Str()
{
   str=new char[1];    
   str[0]='\0';
   n=0;
}
//конструктор, принимающий С-строку
Str::Str(char * s)
{
    int i=0;
    while (s[i]!='\0')
        i++;
   n=i;
   str=new char[i];
   strcpy(str,s);
}
//конструктор, принимающий параметр – символ
Str::Str(char s)
{
    str=new char;
    str[0]=s;
    str[1]='\0';
    n=1;
}
//конструктор копирования
Str::Str(Str& st)
{
    str=new char;
    n=st.n;
    strcpy(str,st.str);
}
//деструктор
Str::~Str()
{
    delete [] str;
}
//очистка строки
char* Str:: CleenStr(char* s)
{
    s[0]='\0';
    strcpy(str,s);
    return str;
}
//операция +
Str Str:: operator+(const Str& st)const 
{
    char* k;
    k=new char[strlen(str)+strlen(st.str)+1];
    k=strcat(str,st.str);
    Str a(k);
    return a;
    
}
Str& Str:: operator =(const Str& s1)
{
    if (this == &s1) 
        return *this; 
   delete [] str ; 
   str = new char[strlen(s1.str) + 1]; 
   strcpy(str, s1.str); 
   return * this; 
}
//операторы стравнения
bool Str::operator ==(const Str& p)const
{
     if((strcmp(str,p.str))!=1)
        {
                return false;
        }
        return true;
}
bool Str::operator >(const Str& p)const
{
    if((strcmp(str,p.str))<0)
    {
        return false;
    }
    return true;
}
//void Str::input()
//{
//  cout<<"Строка:"<< endl;
//  for (unsigned short i=0; i<strlen(str); i++)
//  {
//      if ( (str[i]>='A') && (str[i]<='z') )
//      {
//          cout<<str[i];
//      }
//  }
//  cout<<endl;
//  return;
//}
ostream &operator<<( ostream & ostr , Str &_str )
{
    return cout<<_str.return_str();
}   
istream &operator>>( istream & ostr , Str &_str )
{
    return cin >>_str.return_str();
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "header.h"
int main()
{
    setlocale (LC_ALL,".1251");
    Str s1;
    cout<<"Введите строку 1"<<endl;
    cin>>s1;
    //s1.input();
    Str s2;
    cout<<"Введите строку 2"<<endl;
    cin>>s2;
    //s2.input();
    cout<<"Сложение строк:"<<endl;
    Str s3;
    s3=s1+s2;
    cout<<s3<<endl;
    return 0;
}
 
Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru