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

Удалить из введенной с клавиатуры строки начальные пробелы - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.67
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
30.06.2010, 17:20     Удалить из введенной с клавиатуры строки начальные пробелы #1
Собственно в написании такой програмулинки:которая удаляет из введенной с клавиатуры строки начальные пробелы. Полученная строка без начальных пробелов должна сохраняться в файл,заранее большое спасибо всем отозвавшимся мне помочь!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2010, 17:20     Удалить из введенной с клавиатуры строки начальные пробелы
Посмотрите здесь:

C++ написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы
Удалить начальные пробелы из строки... C++
C++ Удалить из строки начальные пробелы
Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы. C++
C++ Написать программу, которая удаляет из введенной с клавиатуры строки конечные пробелы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 01:16     Удалить из введенной с клавиатуры строки начальные пробелы #41
Код ужасный более чем до конца... Но работает. По другому сообразить не могу как сделать. Сделаны все функции

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include <iostream>
#include <cstdlib>
#include <string>
class CTime 
{
private:
    int h;
    char m[2];
public:
    CTime(int _h, char _m[]):h(_h){strcpy(m,_m);}
    void GetTime() 
    {
        std::cout<<h<<":"<<m<<'\n';
    }
    void SetInfo(int _h, char _m[2])
    {
        h=_h;
        strcpy(m,_m);
    }
    int GetH(){return h;}
    char* GetM(){return m;}
    void ToAm(CTime&Ob);
    void ToRus(CTime&Ob);
    CTime operator +(CTime&Ob);
    CTime operator -(CTime&Ob);
    CTime operator =(CTime&Ob);
    bool operator ==(CTime&Ob);
    friend std::ostream& operator <<(std::ostream&str, CTime& Ob);
    friend std::istream& operator>>(std::istream&str, CTime& Ob);
};
std::ostream& operator <<(std::ostream&str, CTime& Ob)
{
    str<<Ob.h<<":"<<Ob.m<<'\n';
    return str;
}
std::istream& operator>>(std::istream&str, CTime& Ob)
{
    str>>Ob.h;
    str>>Ob.m;
    return str;
}
CTime CTime::operator =(CTime&Ob)
{
    if(this==&Ob)
        return *this;
    h=Ob.h;
    strcpy(m,Ob.m);
        return *this;
}
bool CTime::operator ==(CTime&Ob)
{       int x=atoi(m);
        int l=atoi(Ob.m);
        return (h==Ob.h&&l==x);
}
void CTime::ToAm(CTime&Ob)
{
    std::cout<<"Enter hours and minutes\n";
    std::cin>>Ob.h;
    std::cin>>Ob.m;
    if((Ob.h>=24)&&(Ob.m!="00"))
    {
        std::cout<<"Ne mozhet bit bolee 24 chasov v sutkax\n";
        exit(0);
    }
    Ob.GetTime();
    if(Ob.h<12)
        std::cout<<Ob.h<<":"<<Ob.m<<" AM"<<'\n';
    if(Ob.h>=12)
        std::cout<<Ob.h-12<<":"<<Ob.m<<" PM"<<'\n';
}
void CTime::ToRus(CTime &Ob)
{
    std::string str;
    std::cout<<"Enter hours and minutes and PM or AM\n";
    std::cin>>Ob.h;
    std::cin>>Ob.m;
    if(Ob.h>=12&&Ob.m!="00")
    {
        std::cout<<"Ne mozhet bit bolee 12 chasov po amerikanskomu vremeni\n";
        exit(0);
    }
    std::cin>>str;
    if (str=="PM")
        std::cout<<Ob.h+12<<":"<<Ob.m<<'\n';
    if (str=="AM")
        std::cout<<Ob.h<<":"<<Ob.m<<'\n';
}
CTime CTime::operator +(CTime &Ob)
{
    CTime Temp(0,"");
    Temp.h=h+Ob.h;
    if (Temp.h>24)
    {
        int t=Temp.h/24;
        Temp.h=Temp.h-t*24;
    }
    int p,x,c; char*s;
    s=new char[2];
    p=atoi(Temp.m);
    x=atoi(m);
    c=atoi(Ob.m);
    p=x+c;
    if(p>60)
    {
        int t=p/60;
        p=p-t*60;
        for(int i=0;i<t;i++)
            Temp.h++;
    }
    s=itoa(p,s,10);
    strcpy(Temp.m,s);
    return Temp;
    delete s;
}
CTime CTime::operator -(CTime&Ob)
{
    CTime Temp(0,"");
    Temp.h=h-Ob.h;
    if(Temp.h<0)
    {
        std::cout<<"Ne mozhet bit raznici -\n";
        exit(0);
    }
    if(Temp.h>24)
    {
        int t=Temp.h/24;
        Temp.h=Temp.h-t*24;
    }
    int x, r, s; char*p; p=new char[2];
    x=atoi(Temp.m);
    r=atoi(m);
    s=atoi(Ob.m);
    x=r-s;
    if (x<0)
    {
        int l=x/60;
        x=x-l*60;
        for(int i=0;i>l;i--)
            Temp.h--;
    }
    if(Temp.h<0)
    {
        std::cout<<"Ne mozhet bit raznici -\n";
        exit(0);
    }
    if(x>60)
    {
        int l=x/60;
        x=x-l*60;
        for(int i=0;i<l;i++)
            Temp.h++;
    }
    p=itoa(x,p,10);
    strcpy(Temp.m,p);
    return Temp;
    delete p;
}
int main()
{   CTime Ob1(18,"10");
    CTime Ob2(18,"10");
    CTime Ob3(0,"");
    Ob3=Ob1+Ob2;
    std::cout<<"Sum is: "<< Ob3 <<'\n';
    Ob3=Ob1-Ob2;
    std::cout<<"Razn is: "<< Ob3 <<'\n';
    if(Ob1==Ob2)
        std::cout<<"Equal\n";
    else
        std::cout<<"Not equal\n";
    Ob1.ToAm(Ob1);
    Ob2.ToRus(Ob2);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
01.07.2010, 02:02  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #42
Цитата Сообщение от Lavroff Посмотреть сообщение
Код ужасный более чем до конца... Но работает. По другому сообразить не могу как сделать. Сделаны все функции

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include <iostream>
#include <cstdlib>
#include <string>
class CTime 
{
private:
    int h;
    char m[2];
public:
    CTime(int _h, char _m[]):h(_h){strcpy(m,_m);}
    void GetTime() 
    {
        std::cout<<h<<":"<<m<<'\n';
    }
    void SetInfo(int _h, char _m[2])
    {
        h=_h;
        strcpy(m,_m);
    }
    int GetH(){return h;}
    char* GetM(){return m;}
    void ToAm(CTime&Ob);
    void ToRus(CTime&Ob);
    CTime operator +(CTime&Ob);
    CTime operator -(CTime&Ob);
    CTime operator =(CTime&Ob);
    bool operator ==(CTime&Ob);
    friend std::ostream& operator <<(std::ostream&str, CTime& Ob);
    friend std::istream& operator>>(std::istream&str, CTime& Ob);
};
std::ostream& operator <<(std::ostream&str, CTime& Ob)
{
    str<<Ob.h<<":"<<Ob.m<<'\n';
    return str;
}
std::istream& operator>>(std::istream&str, CTime& Ob)
{
    str>>Ob.h;
    str>>Ob.m;
    return str;
}
CTime CTime::operator =(CTime&Ob)
{
    if(this==&Ob)
        return *this;
    h=Ob.h;
    strcpy(m,Ob.m);
        return *this;
}
bool CTime::operator ==(CTime&Ob)
{       int x=atoi(m);
        int l=atoi(Ob.m);
        return (h==Ob.h&&l==x);
}
void CTime::ToAm(CTime&Ob)
{
    std::cout<<"Enter hours and minutes\n";
    std::cin>>Ob.h;
    std::cin>>Ob.m;
    if((Ob.h>=24)&&(Ob.m!="00"))
    {
        std::cout<<"Ne mozhet bit bolee 24 chasov v sutkax\n";
        exit(0);
    }
    Ob.GetTime();
    if(Ob.h<12)
        std::cout<<Ob.h<<":"<<Ob.m<<" AM"<<'\n';
    if(Ob.h>=12)
        std::cout<<Ob.h-12<<":"<<Ob.m<<" PM"<<'\n';
}
void CTime::ToRus(CTime &Ob)
{
    std::string str;
    std::cout<<"Enter hours and minutes and PM or AM\n";
    std::cin>>Ob.h;
    std::cin>>Ob.m;
    if(Ob.h>=12&&Ob.m!="00")
    {
        std::cout<<"Ne mozhet bit bolee 12 chasov po amerikanskomu vremeni\n";
        exit(0);
    }
    std::cin>>str;
    if (str=="PM")
        std::cout<<Ob.h+12<<":"<<Ob.m<<'\n';
    if (str=="AM")
        std::cout<<Ob.h<<":"<<Ob.m<<'\n';
}
CTime CTime::operator +(CTime &Ob)
{
    CTime Temp(0,"");
    Temp.h=h+Ob.h;
    if (Temp.h>24)
    {
        int t=Temp.h/24;
        Temp.h=Temp.h-t*24;
    }
    int p,x,c; char*s;
    s=new char[2];
    p=atoi(Temp.m);
    x=atoi(m);
    c=atoi(Ob.m);
    p=x+c;
    if(p>60)
    {
        int t=p/60;
        p=p-t*60;
        for(int i=0;i<t;i++)
            Temp.h++;
    }
    s=itoa(p,s,10);
    strcpy(Temp.m,s);
    return Temp;
    delete s;
}
CTime CTime::operator -(CTime&Ob)
{
    CTime Temp(0,"");
    Temp.h=h-Ob.h;
    if(Temp.h<0)
    {
        std::cout<<"Ne mozhet bit raznici -\n";
        exit(0);
    }
    if(Temp.h>24)
    {
        int t=Temp.h/24;
        Temp.h=Temp.h-t*24;
    }
    int x, r, s; char*p; p=new char[2];
    x=atoi(Temp.m);
    r=atoi(m);
    s=atoi(Ob.m);
    x=r-s;
    if (x<0)
    {
        int l=x/60;
        x=x-l*60;
        for(int i=0;i>l;i--)
            Temp.h--;
    }
    if(Temp.h<0)
    {
        std::cout<<"Ne mozhet bit raznici -\n";
        exit(0);
    }
    if(x>60)
    {
        int l=x/60;
        x=x-l*60;
        for(int i=0;i<l;i++)
            Temp.h++;
    }
    p=itoa(x,p,10);
    strcpy(Temp.m,p);
    return Temp;
    delete p;
}
int main()
{   CTime Ob1(18,"10");
    CTime Ob2(18,"10");
    CTime Ob3(0,"");
    Ob3=Ob1+Ob2;
    std::cout<<"Sum is: "<< Ob3 <<'\n';
    Ob3=Ob1-Ob2;
    std::cout<<"Razn is: "<< Ob3 <<'\n';
    if(Ob1==Ob2)
        std::cout<<"Equal\n";
    else
        std::cout<<"Not equal\n";
    Ob1.ToAm(Ob1);
    Ob2.ToRus(Ob2);
    return 0;
}
О спасибки просто жесть на все 173 строки,если работают все функции это есть гуд молодца! вот еслиб ещё оболочку к этому всему замутить!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 07:14     Удалить из введенной с клавиатуры строки начальные пробелы #43
173 строки - мало для ООП. Какую оболочку?
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
01.07.2010, 16:57  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #44
Цитата Сообщение от Lavroff Посмотреть сообщение
173 строки - мало для ООП. Какую оболочку?
Да ладно я думаю консольное подойдёт!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 16:59     Удалить из введенной с клавиатуры строки начальные пробелы #45
Я бы тебе посоветовал попробовать ее оптимизировать... Какой курс?
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
01.07.2010, 19:26  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #46
Цитата Сообщение от Lavroff Посмотреть сообщение
Я бы тебе посоветовал попробовать ее оптимизировать... Какой курс?
Курс последний оптимизировать эт можно попробовать!

Добавлено через 3 минуты
p.s есть ещё парочку задачь котоых нужно решить:
1.Необходимо решить следующую задачу: динамическое создание элементов управления и назначение им функций. По щелчку на форме правой кнопкой выпадает контекстное меню со следующими пунктами: Надпись 3, Текст 3, Кнопка 3. Когда пользователь выбирает пункт меню, то на форме (в точке щесчка) появляется соответствующий элемент управления (Static, Edit или Button), а количество элементов уменьшается, например, выставили одну надпись и при следующем отображении меню в нем будут пункты: Надпись 2, Текст 3, Кнопка 3. Если на форме выставлены все элементы одного типа, например, текст, то данный пункт исчезает из меню. После выставления всех девяти элементов (необходимо сделать проверку на это), по щелчку на первой кнопке: Надпись1 = Площадь Окна, Текст1 = площадь окна (посчитанная); по нажатию на вторую: Надпись2 = Площадь Клиентской Области Окна, Текст2 = площадь клиентской области окна (посчитанная); по нажатию на третью: Надпись3 = Площадь Заголовка Окна, Текст3 = площадь заголовка окна (площадь окна - площадь клинтской области окна). Совет: Все необходимые идентификаторы и связанные с ними функции создайте заранее.
2.Создать произвольное меню (7-8 пунктов, причем из них 3 первого уровня, 2 входят в элементы меню первого уровня, остальные входят в элементы меню 2 уровня). Создать на форме две кнопки. По нажатию на первую кнопку меню должно руссифицироваться (т. е. все английские названия переводятся на русский), после повторного нажатия меню вновь становится англоязычным. Вторая кнопка должна делать то же самое. Разница заключается в том, что в первом случае вы должны сделать "подмену" меню (у вас изначально существует два меню: русское и английское), а во втором вы работаете с одним и тем же ресурсом (т. е. осуществляете двухсторонний перевод пунктов одного и того же меню).
и вот это:
Создать маленькую игрушку. На поле находятся 10 кнопок (Button), счетчик (Spin), список (ListBox), индикатор (ProgressBar). Правила: при запуске игры на кнопки помещаются 10 случайных чисел (при этом на счетчике необходимо выставить скорость игры в десятых долях секунды, что будет являться значением для таймера). Задача: необходимо за заданное время щелкнуть по числам на кнопках в порядке возрастания, при этом числа должны добавляться в список (если, конечно, данное число является следующим по возрастанию). Если игрок не успевает, то список очищается и игра начинается снова с текущим значением таймера (на счетчике). Индикатор заполняется соответственно таймеру.
За помощь спасибо!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 19:33     Удалить из введенной с клавиатуры строки начальные пробелы #47
denizurs,

Не по теме:

Уже вижу что нет... Мощно. Оптимизируй ту прогу. На 5-ом курсе вряд-ли настолько коряво можно написать.



П.С. По тем прогам что ты скинул - ничем не могу помочь. С программированием не в консоли пока что не знаком
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
01.07.2010, 23:03  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #48
Цитата Сообщение от Lavroff Посмотреть сообщение
denizurs,

Не по теме:

Уже вижу что нет... Мощно. Оптимизируй ту прогу. На 5-ом курсе вряд-ли настолько коряво можно написать.



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

Добавлено через 4 минуты
Вот такое например
Создать приложение, которое осуществляет поиск заданного слова (словосочетания) в заданном файле (файлах) и выводит в список наименование файла и позицию(-и) заданной фразы в нем.
Дополнить проект Find (файловый менеджер).
Необходимо отображать на заголовке окна текущее время (постоянно). Для осуществления этой цели воспользуйтесь таймером.
Добавьте на форму несколько переключателей (Radio), с помощью которых должна осуществляться сортировка файлов и папок в списке. Сортировка должна производиться: по имени (по умолчанию), по времени создания, по времени последней модификации. Причем, каталоги всегда отображаются до файлов.
Продумать и (желательно) реализовать функцию подсчета размера каталога.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 23:15     Удалить из введенной с клавиатуры строки начальные пробелы #49
denizurs, Сильно.

Не по теме:

Просто посмотрел тебе в профиль, а там написано что тебе 28) Вот и подумал может второе высшее

denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
01.07.2010, 23:34  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #50
Цитата Сообщение от Lavroff Посмотреть сообщение
denizurs, Сильно.

Не по теме:

Просто посмотрел тебе в профиль, а там написано что тебе 28) Вот и подумал может второе высшее

да какойтам второе высшее я колледж немогу с горем попалам закончить!
как там насчёт задачки решима?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 23:37     Удалить из введенной с клавиатуры строки начальные пробелы #51
Наверное) Но я не смогу)
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
01.07.2010, 23:51  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #52
А вот такое вот:
Написать функцию вычисления значения по заданной строке символов, являющихся записью этого числа в десятичной системе счисления. Предусмотреть случай выхода за границы диапазона определяемого типом int. Используйте механизм исключений.
Перепишите функцию-член vect::operator[](int) таким образом, чтобы генерировать исключение "превышение диапазона", если используется неправильный индекс.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
01.07.2010, 23:52     Удалить из введенной с клавиатуры строки начальные пробелы #53
Тоже пас) Я пока на все более менее серьезное пас) По крайней мере ближайшее время
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
02.07.2010, 00:25  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #54
AAAAAAAAAAA HELP! здавать то нужно а то будет незачёт,а мну их аж 10 таких задач сделать нужно
а вот такую потянеш?
Используя понятие множественного наследования, разработайте класс "Окружность, вписанная в квадрат".
Придумайте три примера объектов, для реализации которых логично было бы использовать множественное наследование. Для каждого примера опишите интерфейс класса и напишите небольшую программу-пример с использованием объекта такого типа (с результатами).
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.07.2010, 00:30     Удалить из введенной с клавиатуры строки начальные пробелы #55
denizurs,

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

Ну придумай мне три типа объектов)
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
02.07.2010, 01:02  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #56
Так обсолютно любых три объекта от ума!
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.07.2010, 02:32     Удалить из введенной с клавиатуры строки начальные пробелы #57
Ну ща что-нить подумаю... Только вот множественное насследование... Хм...

Добавлено через 1 час 14 минут
Не знаю насколько это пойдет однако.

1) Она все правильно считает
2) Она реализована через множественное наследование
3) Класс Окружность вписанная в квадрат найден через множественное насследование
4) Есть три типа объектов

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
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <string>
#define PI 3.14
class Circle
{
protected:
    double radius;
public:
    Circle(double _radius):radius(_radius){}
    virtual ~Circle(){}
    virtual double GetRadius(){return radius;}
    virtual double GetPer(){return 2*PI*radius;}
    virtual void SetInfo(double _radius){radius=_radius;}
};
class Square
{
protected:
    double a;
public:
    Square(double _a):a(_a){}
    virtual ~Square(){}
    double GetA(){return a;}
    virtual double GetArea(){return a*a;}
    virtual void SetInfo(double _a){a=_a;}
};
class CinS:public Circle, public Square
{
public:
    CinS(double _radius, double _a):Circle(_radius),Square(_a){}
    ~CinS(){}
    virtual void SetInfo(double _radius, double _a)
    {
        a=_a;
        radius=_a/2;
    }
    double GetRadius(){return radius;}
    double GetArea(){return PI*(radius*radius);}
    double GetPer(){return 2*PI*radius;}
};
int main()
{
    Circle Ob1(0);
    int s=0;
    std::cout<<"Enter radius of the circle\n";
    std::cin>>s;
    Ob1.SetInfo(s);
    std::cout<<"For circle with radius: "<< Ob1.GetRadius() <<'\n';
    std::cout<<"Perimetr: "<< Ob1.GetPer() <<'\n';
    std::cout<<"\n";
    Square Ob2(0);
    int d=0;
    std::cout<<"Enter side of the square\n";
    std::cin>>d;
    Ob2.SetInfo(d);
    std::cout<<"For square with side: "<< Ob2.GetA() <<'\n';
    std::cout<<"Area is: "<< Ob2.GetArea() <<'\n';
    std::cout<<"\n";
    CinS Ob3(0,0);
    int f=0;
    std::cout<<"Enter side of square\n";
    std::cin>>f;
    Ob3.SetInfo(f/2,f);
    std::cout<<"For square with side: "<< Ob3.GetA() <<" and circle with radius: "<< Ob3.GetRadius() <<'\n';
    std::cout<<"Perimetr of circle is: "<< Ob3.GetPer() <<'\n';
    std::cout<<"Area of circle is: "<< Ob3.GetArea() <<'\n';
    return 0;
denizurs
0 / 0 / 0
Регистрация: 30.06.2010
Сообщений: 52
02.07.2010, 02:52  [ТС]     Удалить из введенной с клавиатуры строки начальные пробелы #58
О тенькью проверил работает и вроде как неплохо!
а ещё можно подогнать работку так как ещё надо?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2010, 03:41     Удалить из введенной с клавиатуры строки начальные пробелы
Еще ссылки по теме:

C++ Программа, которая удаляет из введенной с клавиатуры строки начальные пробелы
C++ Удалить начальные пробелы из введенной с клавиатуры строки
C++ Удалить из строки начальные пробелы

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
02.07.2010, 03:41     Удалить из введенной с клавиатуры строки начальные пробелы #59
Так же я тут описал еще один класс который получается в результате множественного наследования ( на тот случай, если все же все 3 объекта типа класс должны быть получены в рез-те множественного наследования, если так, остальные два допиши как нибудь по подобию)

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
#include <iostream>
#include <cstdlib>
#include <cstring>
#define PI 3.14
class Triangle
{
protected:
    double a,b,c;
public:
    Triangle(double _a, double _b, double _c):a(_a),b(_b),c(_c){}
    virtual ~Triangle(){}
    virtual void SetInfo(double _a, double _b, double _c)
    {
        a=_a; b=_b; c=_c;
    }
    double GetPer(){return a+b+c;}
    double GetA(){return a;}
    double GetB(){return b;}
    double GetC(){return c;}
};
class Circle
{
protected:
    double radius;
public:
    Circle(double _radius):radius(_radius){}
    virtual ~Circle(){}
    virtual void SetInfo(double _radius){radius=_radius;}
    virtual double GetRad(){return radius;}
    virtual double GetPer(){return 2*PI*radius;}
};
class CnT:public Triangle, public Circle
{
public:
    CnT(double _a, double _b, double _c, double _radius):Triangle(_a,_b,_c),Circle(_radius){}
    ~CnT(){}
    virtual void SetInfo(double _a, double _b, double _c, double _radius)
    {
        a=_a;b=_b;c=_c;radius=(a+b-c)/2;
    }
    virtual double GetRad(){return (a+b-c)/2;}
    virtual double GetArea(){return PI*(radius*radius);}
    virtual double GetPer(){return 2*PI*radius;}
};
int main()
{
    CnT Ob(0,0,0,0);
    int a, b, c;
    std::cout<<"Enter a, b, c\n";
    std::cin>>a; std::cin>>b; std::cin>>c; 
    Ob.SetInfo(a,b,c,(a+b+c)/2);
    std::cout<<"For circle near triangle with radius: "<< Ob.GetRad() <<'\n';
    std::cout<<"Perimetr: "<< Ob.GetPer() <<'\n';
    std::cout<<"Area: "<< Ob.GetArea() <<'\n';
    return 0;
}
Добавлено через 1 минуту
Что за задачка еще? Скинь посмотрю, скажу возьмусь ли)

Добавлено через 33 минуты
Для двух объектов. Если это конечно было нужно вместе)

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
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <string>
#define PI 3.14
class Circle
{
protected:
    double radius;
public:
    Circle(double _radius):radius(_radius){}
    virtual ~Circle(){}
    virtual double GetRadius(){return radius;}
    virtual double GetPer(){return 2*PI*radius;}
    virtual void SetInfo(double _radius){radius=_radius;}
};
class Square
{
protected:
    double a;
public:
    Square(double _a):a(_a){}
    virtual ~Square(){}
    double GetA(){return a;}
    virtual double GetArea(){return a*a;}
    virtual void SetInfo(double _a){a=_a;}
};
class CinS:public Circle, public Square
{
public:
    CinS(double _radius, double _a):Circle(_radius),Square(_a){}
    ~CinS(){}
    virtual void SetInfo(double _radius, double _a)
    {
        a=_a;
        radius=_a/2;
    }
    double GetRadius(){return radius;}
    double GetArea(){return PI*(radius*radius);}
    double GetPer(){return 2*PI*radius;}
};
class Triangle
{
protected:
        double a,b,c;
public:
        Triangle(double _a, double _b, double _c):a(_a),b(_b),c(_c){}
        virtual ~Triangle(){}
        virtual void SetInfo(double _a, double _b, double _c)
        {
                a=_a; b=_b; c=_c;
        }
        double GetPer(){return a+b+c;}
        double GetA(){return a;}
        double GetB(){return b;}
        double GetC(){return c;}
};
class CnT:public Triangle, public Circle
{
public:
        CnT(double _a, double _b, double _c, double _radius):Triangle(_a,_b,_c),Circle(_radius){}
        ~CnT(){}
        virtual void SetInfo(double _a, double _b, double _c, double _radius)
        {
                a=_a;b=_b;c=_c;radius=(a+b-c)/2;
        }
        virtual double GetRad(){return (a+b-c)/2;}
        virtual double GetArea(){return PI*(radius*radius);}
        virtual double GetPer(){return 2*PI*radius;}
};
int main()
{
    CinS Ob1(0,0);
    int f=0;
    std::cout<<"Enter side of square\n";
    std::cin>>f;
    Ob1.SetInfo(f/2,f);
    std::cout<<"For circle in square with radius : "<< Ob1.GetRadius() <<'\n';
    std::cout<<"\n";
    std::cout<<"Perimetr of circle in square is: "<< Ob1.GetPer() <<'\n';
    std::cout<<"Area of circle in square is: "<< Ob1.GetArea() <<'\n';
    std::cout<<"\n";
    CnT Ob2(0,0,0,0);
    int a, b, c;
    std::cout<<"Enter a, b, c\n";
    std::cin>>a; std::cin>>b; std::cin>>c; 
    Ob2.SetInfo(a,b,c,(a+b+c)/2);
    std::cout<<"For circle near triangle with radius: "<< Ob2.GetRad() <<'\n';
    std::cout<<"\n";
    std::cout<<"Perimetr: "<< Ob2.GetPer() <<'\n';
    std::cout<<"Area: "<< Ob2.GetArea() <<'\n';
    system ("pause");
    return 0;
}
Yandex
Объявления
02.07.2010, 03:41     Удалить из введенной с клавиатуры строки начальные пробелы
Ответ Создать тему
Опции темы

Текущее время: 23:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru