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

Немного не получается - C++

Восстановить пароль Регистрация
 
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
01.06.2012, 13:38     Немного не получается #1
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
#include "stdafx.h"
#include "iostream"
#include <locale.h>
using namespace std;
 
class terms { public:
double sum, razn, pow, div;
int n,*S;
double a1;
double a2;
terms (int =5);
void vvod();
void vuvod();
void summ();
void raznn();
void poww();
void divv();
};
 
terms::terms (int nn)
{n=nn;
S=new int [n];
}
void terms::vvod()
{cout << "Введите первое число: ";
    cin >> a1;
     cout << "Введите второе число: ";
    cin >> a2;
}
void terms::vuvod()
{   cout << a1<< "+" << a2 << "=" << sum <<  endl;
    cout << a1 << "-" <<a2 << "=" << razn << endl;
    cout << a1 << "*" << a2 << "=" << pow  << endl;
    cout << a1 << "/" << a2 << "=" << div  << endl;
}
void terms::summ()
{sum  = a1 + a2;  // операция сложения
}
void terms::raznn()
{razn = a1 - a2;  // операция вычитания
}
void terms::poww()
{pow  = a1 * a2;  // операция умножения
}
void terms::divv()
{div  = a1 / a2;  // операция деления
}
    void main()
{
    setlocale(LC_ALL,"RUS");
    terms S;
    S.vvod();
    cout << S.a1<< "+" << S.a2 << "=" << S.sum <<  endl;
    cout << S.a1 << "-" <<S.a2 << "=" << S.razn << endl;
    cout << S.a1 << "*" << S.a2 << "=" << S.pow  << endl;
    cout << S.a1 << "/" << S.a2 << "=" << S.div  << endl;
    system ("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2012, 13:38     Немного не получается
Посмотрите здесь:

Немного подправить. C++
немного поменять, C++
немного усовершенствовать... C++
немного не обычно C++
немного теории C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
01.06.2012, 13:56     Немного не получается #2
По моему проблема в
C++
1
2
#include "stdafx.h"
#include "iostream"
я б заменил на
C++
1
2
#include <stdio.h>
#include <iostream>
Добавлено через 7 минут
А конструктор должен обеспечивать инициализацию всех членов
C++
1
2
3
4
terms::terms (int nn): sum(0),razn(0),pow(0), n(nn), a1(0), a2(0)
{
   S=new int [n];
}
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
01.06.2012, 13:59  [ТС]     Немного не получается #3
Цитата Сообщение от yuron_477 Посмотреть сообщение
#include <stdio.h>
#include <iostream>
Дело не в этом она и так работает только вот ответ он не понятно как считает какие бы числа потом не вводил ответ одинаковый, причем не могу понять откуда же он берется

Добавлено через 2 минуты
Цитата Сообщение от yuron_477 Посмотреть сообщение
terms::terms (int nn): sum(0),razn(0),pow(0), n(nn), a1(0), a2(0)
{
* *S=new int [n];
}
А если подставлять это то получается все ответы он выдает 0
zuq
 Аватар для zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
01.06.2012, 14:04     Немного не получается #4
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
Дело не в этом она и так работает только вот ответ он не понятно как считает какие бы числа потом не вводил ответ одинаковый, причем не могу понять откуда же он берется
Вы не вызываете функции для расчета величин. Можно, например, изменить функцию ввода на:
C++
1
2
3
4
5
6
7
8
9
10
11
void terms::vvod()
{
    cout << "Введите первое число: ";
    cin >> a1;
    cout << "Введите второе число: ";
    cin >> a2;
    summ();
    raznn();
    poww();
    divv();
}
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
01.06.2012, 14:09  [ТС]     Немного не получается #5
Цитата Сообщение от zuq Посмотреть сообщение
void terms::vvod()
{
* * cout << "Введите первое число: ";
* * cin >> a1;
* * cout << "Введите второе число: ";
* * cin >> a2;
* * summ();
* * raznn();
* * poww();
* * divv();
}
И так тоже не работает а ответ везде пишет такой =-9.25596е+061
Ganibal
Заблокирован
01.06.2012, 14:16     Немного не получается #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
#include "stdafx.h"
#include "iostream"
#include <locale.h>
using namespace std;
 
class terms { public:
double sum, razn, pow, div;
int n,*S;
double a1;
double a2;
terms (int =5);
void vvod();
void vuvod();
void summ();
void raznn();
void poww();
void divv();
};
 
terms::terms (int nn)
{n=nn;
S=new int [n];
}
void terms::vvod()
{cout << "Введите первое число: ";
    cin >> a1;
     cout << "Введите второе число: ";
    cin >> a2;
}
void terms::vuvod()
{   
    
    cout << a1<< "+" << a2 << "=" << sum <<  endl;
    cout << a1 << "-" <<a2 << "=" << razn << endl;
    cout << a1 << "*" << a2 << "=" << pow  << endl;
    cout << a1 << "/" << a2 << "=" << div  << endl;
}
void terms::summ()
{sum  = a1 + a2;  // операция сложения
}
void terms::raznn()
{razn = a1 - a2;  // операция вычитания
}
void terms::poww()
{pow  = a1 * a2;  // операция умножения
}
void terms::divv()
{div  = a1 / a2;  // операция деления
}
    void main()
  {
    setlocale(LC_ALL,"RUS");
    terms S;
    S.vvod();
    S.summ();
    S.raznn();
    S.poww();
    S.divv();
 
 
    
    cout << S.a1<< "+" << S.a2 << "=" << S.sum <<  endl;
    cout << S.a1 << "-" <<S.a2 << "=" << S.razn << endl;
    cout << S.a1 << "*" << S.a2 << "=" << S.pow  << endl;
    cout << S.a1 << "/" << S.a2 << "=" << S.div  << endl;
    system ("pause");
}
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
01.06.2012, 14:23  [ТС]     Немного не получается #7
Цитата Сообщение от Ganibal Посмотреть сообщение
Все работает. Вначале надо вызвать функцию, а потом только пытаться получать ее результат.
Спасибо теперь на будущее буду знать, а то вчера часа три сидел не знал как сделать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2012, 14:29     Немного не получается
Еще ссылки по теме:

C++ Немного о списках
подправить немного C++
Немного шаблонов C++

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

Или воспользуйтесь поиском по форуму:
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
01.06.2012, 14:29     Немного не получается #8
А не проще бы было сделать перегрузку операторов?
Yandex
Объявления
01.06.2012, 14:29     Немного не получается
Ответ Создать тему
Опции темы

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