0 / 0 / 0
Регистрация: 17.12.2022
Сообщений: 79
1

Вывод текста из конструктора

21.09.2023, 19:08. Показов 347. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно как то в конструктор с параметрами засунуть cout?Или как то по другому что то сделать, чтоб мне перед каждым вводом значения переменной выводило надпись?Ну поянтно что можно в main сделать, а как то через классы можно?

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
#include <iostream>
#include <cmath>
using namespace std;
class Treug {
private:
    int x,xb;
    int y,yb;
    int a,ab;
    int b,bb;
 
public:
    Treug(int x1, int y1, int a1, int b1,int xb1,int yb1,int ab1,int bb1) {
        cout << "координаты точки X соновного треугольника:" << endl;
 
        x = x1;
        cout << "координаты точки Y основного треугольника:" << endl;
        y = y1;
        cout << "сторона а основного треугольника:" << endl;
        a = a1;
        cout << "сторона b основного треугольника:" << endl;
        b = b1;
        cout << "координаты точки X дополнительного треугольника:" << endl;
        xb = xb1;
        cout << "координаты точки Y соновного треугольника:" << endl;
        yb = yb1;
        cout << "сторона a дополнительного треугольника:" << endl;
        ab = ab1;
        cout << "сторона b дополнительного треугольника треугольника:" << endl;
        bb = bb1;
    }
    void Print() {
        cout << "X = " << x << "\t Y = " << y << "\t a = " << a << "\t b = " << b << endl;
        cout << "X дополнительного = " << x << "\t Y дополнительного = " << y << "\t a дополнительного = " << a << "\t b дополнительного = " << b << endl;
}
     void Gip() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Гипотенуза = " << g2 << endl;
         
    }
 
     void Ploshad() {
         float p = (a * b) / 2;
         cout << "площадь = " << p << endl;
     }
 
     void Perimetr() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Периметр = " << a + b + g2 << endl;
     }
 
     void Vpisanaya() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Радиус вписанной окружности = " << (a * b) / (a + b + g2) << endl;
 
     }
 
     void Opisanaya() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Радиус описанной окружности = " << g2 / 2 << endl;
     }
     void Visota() {
             float g = a * a + b * b;
             float g2 = sqrt(g);
             cout << "Высота опущенная на гипотенузу = " << (a * b) / g2 << endl;
 
     }
     void Ugol() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         float v = a / g2;
         float n = b / g2;
         if (v > n)
             cout << "Меньший угол = BAC" << endl;
         else
             cout << "Меньший угол = ABC" << endl;
 
     }
 
     void RB() {
         if (a == b)
             cout << "Треугольник равнобедренный" << endl;
         if (a != b)
             cout << "Треугольник не равнобедренный" << endl;
     }
 
     void Umnozhnachislo(int chclass) {
         int ach = a * chclass;
         int bch = b * chclass;
         float g = ach * ach + bch * bch;
         float g2 = sqrt(g);
     }
 
     
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    int x2, y2, a2, b2,xb2,yb2,ab2,bb2;
    cin >> x2 >> y2 >> a2 >> b2 >> xb2 >> yb2 >> ab2 >> bb2;
 
    Treug s(x2, y2, a2, b2,xb2,yb2,ab2,bb2);
    s.Print();
    s.Gip();
    s.Ploshad();
    s.Perimetr();
    s.Vpisanaya();
    s.Opisanaya();
    s.Visota();
    s.Ugol();
    s.RB();
    int ch;
    cin >> ch;
    s.Umnozhnachislo(ch);
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2023, 19:08
Ответы с готовыми решениями:

Ввод текста, сохранение текста в файл, вывод текста из файла
Здравствуйте товарищи, доброго времени суток. Вопрос несложный. Решил создать простенькое...

Почему при вызове конструктора из конструктора нельзя передавать this как аргумент?
Есть такой код: public class Order { { } Order(){ ...

В чём отличия конструктора копирования и конструктора перемещения? Где и как их нужно использовать?
Помогите разобраться в копирующем и перемещающем конструкторах. В чём их существенное отличие и...

Разработать спецификацию и реализацию стандартного конструктора и конструктора с параметрами
Разработать спецификацию и реализацию стандартного конструктора и конструктора с параметрами для...

Вызов конструктора из конструктора и проверка правильности передаваемых параметров
Существует такой код: public Matrix(Double array) : this(array.GetLength(0),...

7
1350 / 850 / 364
Регистрация: 26.02.2015
Сообщений: 3,790
21.09.2023, 19:33 2
У тебя ведь сделано, std::cout находится в конструкторе. В чем еще твой вопрос?
0
2682 / 2151 / 674
Регистрация: 29.06.2020
Сообщений: 7,960
21.09.2023, 19:40 3
Цитата Сообщение от Nishen Посмотреть сообщение
В чем еще твой вопрос?
Он хочет в конструкторе ввод делать.
0
0 / 0 / 0
Регистрация: 17.12.2022
Сообщений: 79
21.09.2023, 20:23  [ТС] 4
Так в консоли перед вводом каждой переменной эти надписи не появляются.Они появляются потом все разом когда я все 6 переменные ввиду
0
1350 / 850 / 364
Регистрация: 26.02.2015
Сообщений: 3,790
21.09.2023, 21:03 5
Цитата Сообщение от agusha27334 Посмотреть сообщение
Так в консоли перед вводом каждой переменной эти надписи не появляются.Они появляются потом все разом когда я все 6 переменные ввиду
Ввод тоже перенеси в конструктор.
0
И тут вот те нате
315 / 204 / 115
Регистрация: 12.07.2016
Сообщений: 546
21.09.2023, 21:04 6
Так что ли? Только зачем тогда параметры конструктору
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
#include <iostream>
#include <cmath>
using namespace std;
class Treug {
private:
    int x,xb;
    int y,yb;
    int a,ab;
    int b,bb;
 
public:
    Treug(/*int x1, int y1, int a1, int b1,int xb1,int yb1,int ab1,int bb1*/) {
        cout << "координаты точки X соновного треугольника:" << endl;
 
        cin >> x;
        cout << "координаты точки Y основного треугольника:" << endl;
        cin >> y;
        cout << "сторона а основного треугольника:" << endl;
        cin >> a;
        cout << "сторона b основного треугольника:" << endl;
        cin >> b;
        cout << "координаты точки X дополнительного треугольника:" << endl;
        cin >> xb;
        cout << "координаты точки Y соновного треугольника:" << endl;
        cin >> yb;
        cout << "сторона a дополнительного треугольника:" << endl;
        cin >> ab;
        cout << "сторона b дополнительного треугольника треугольника:" << endl;
        cin >> bb;
    }
    void Print() {
        cout << "X = " << x << "\t Y = " << y << "\t a = " << a << "\t b = " << b << endl;
        cout << "X дополнительного = " << x << "\t Y дополнительного = " << y << "\t a дополнительного = " << a << "\t b дополнительного = " << b << endl;
}
     void Gip() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Гипотенуза = " << g2 << endl;
         
    }
 
     void Ploshad() {
         float p = (a * b) / 2;
         cout << "площадь = " << p << endl;
     }
 
     void Perimetr() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Периметр = " << a + b + g2 << endl;
     }
 
     void Vpisanaya() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Радиус вписанной окружности = " << (a * b) / (a + b + g2) << endl;
 
     }
 
     void Opisanaya() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         cout << "Радиус описанной окружности = " << g2 / 2 << endl;
     }
     void Visota() {
             float g = a * a + b * b;
             float g2 = sqrt(g);
             cout << "Высота опущенная на гипотенузу = " << (a * b) / g2 << endl;
 
     }
     void Ugol() {
         float g = a * a + b * b;
         float g2 = sqrt(g);
         float v = a / g2;
         float n = b / g2;
         if (v > n)
             cout << "Меньший угол = BAC" << endl;
         else
             cout << "Меньший угол = ABC" << endl;
 
     }
 
     void RB() {
         if (a == b)
             cout << "Треугольник равнобедренный" << endl;
         if (a != b)
             cout << "Треугольник не равнобедренный" << endl;
     }
 
     void Umnozhnachislo(int chclass) {
         int ach = a * chclass;
         int bch = b * chclass;
         float g = ach * ach + bch * bch;
         float g2 = sqrt(g);
     }
 
     
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    //int x2, y2, a2, b2,xb2,yb2,ab2,bb2;
    //cin >> x2 >> y2 >> a2 >> b2 >> xb2 >> yb2 >> ab2 >> bb2;
 
    Treug s; //(x2, y2, a2, b2,xb2,yb2,ab2,bb2);
    s.Print();
    s.Gip();
    s.Ploshad();
    s.Perimetr();
    s.Vpisanaya();
    s.Opisanaya();
    s.Visota();
    s.Ugol();
    s.RB();
    int ch;
    cin >> ch;
    s.Umnozhnachislo(ch);
 
}
0
Вездепух
Эксперт CЭксперт С++
11186 / 6129 / 1677
Регистрация: 18.10.2014
Сообщений: 15,427
21.09.2023, 21:35 7
Цитата Сообщение от agusha27334 Посмотреть сообщение
Так в консоли перед вводом каждой переменной эти надписи не появляются.
И не должны. С чего бы это вдруг они станут там появляться?

Цитата Сообщение от agusha27334 Посмотреть сообщение
Или как то по другому что то сделать, чтоб мне перед каждым вводом значения переменной выводило надпись?
Перед каждым вводом? Так при чем здесь тогда ваш конструктор вообще, месли ввод делается НЕ в конструкторе? Какое отношение конструкторы вообще имеют к вашему вопросу?

Хотите, чтобы надпись выводилась перед вводом - так и поместите ее перед вводом.
0
Комп_Оратор)
Эксперт по математике/физике
8935 / 4690 / 628
Регистрация: 04.12.2011
Сообщений: 13,960
Записей в блоге: 16
21.09.2023, 22:36 8
agusha27334, иной раз кажется, что нет ничего странного из того что нельзя воплотить в жизнь на языке C++. Именно поэтому нужно научиться искренне хотеть, не хотеть странного. Например не стоит хотеть треугольников с целыми сторонами, хотя такие есть и даже среди прямоугольных. Пифагор не виноват. Вывод из инициализирующих выражений, это тоже нехорошая цель даже для странного желания. Оно и скорость снижает и исключением может порадовать. Но вся беда в том, что С++ позволяет, это сделать. Туда можно не только:
Цитата Сообщение от agusha27334 Посмотреть сообщение
засунуть cout
а даже std::cin. Я боюсь и предположить, что можно захотеть туда засунуть, спокусившись стать на путь желаний странного.
Вот если вы покажете, это преподу, он уйдет в запой на неделю:
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 <iostream>
using std::cout;
using  std::endl;
 
class Triangle
{
    public:
    double x, xb;
    //остальные поля
 
    Triangle(double x_, double xb_)
    :x(x_*=bool(cout<<"x= "<<x_<<'\n'))//если не сможет вывести то 0
    ,xb(xb_*=bool(cout<<"xb_= "<<xb_<<'\n'))
    //остальные поля
    {
 
    }
};
 
int main()
{
    Triangle triangle(1.2, 3.4);
 
    return 0;
}
Впрочем, если вы хотите неделю повалять дурака, вместо занятий, - валяйте)
1
21.09.2023, 22:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2023, 22:36
Помогаю со студенческими работами здесь

Инициализация конструктора и конструктора родительского класса
Есть два класса: class C1 { public $a; public $b; public $c; function...

Вывод текста, запрет растягивания окна, окно ввода текста
Здравствуйте. Заранее извиняюсь за создание очередной темы, но решения в поиске я не нашел. Я...

Ввод текста в Мемо1 и вывод текста в Мемо2 по возрастанию слов
Здравствуйте! Пользователь вводит текст в Мемо1, по нажатию кнопки текст должен выйти в Мемо2...

Сохранить формат текста полученного из textarea и вывод этого текста
есть вот такой textarea &lt;TEXTAREA cols=&quot;96&quot; wrap=&quot;hard&quot; class=&quot;forms&quot; id=&quot;description&quot;...

После нажатия на поле для ввода текста происходит вывод этого текста в alert
Вот решил начать изучать JS и ступорюсь на таких заданиях Разместить на страницу поле для ввода...

Поиск текста в .txt и вывод этого текста в консоль
Доброе время суток! Задали в универе написать программу (база данных книг) которая сохраняет...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru