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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
#1

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

01.06.2012, 13:38. Просмотров 422. Ответов 7
Метки нет (Все метки)

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");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2012, 13:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Немного не получается (C++):

Немного шаблонов - C++
Добрый день форумчане, у меня в порядке бреда родилась такая идея class B//базовый класс, содержит указатель на void { public: ...

подправить немного - C++
#include &lt;iostream&gt; using namespace std; int main() { int i, j, N, M; double *a,*b,*c; cout«&quot;N = &quot;; cin»N; cout«&quot;M = &quot;;...

Исправить немного - C++
#include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; int Len(char *s) { char *p; int i; for(i=0,...

Подправьте немного... - C++
Суть задачи: найти сумму ряда с точностью 0.001 общий член n!/3^n^n вот написал какой то бред #include &quot;stdafx.h&quot; #include...

немного поменять, - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; using namespace std; struct LIST { int info; LIST *next; ...

немного теории - C++
Очень долго искал в инете определение методу Итерации чтоб так сказать было разжеванно но не нашел кто поможет дать ему определение на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DiffEreD
1430 / 767 / 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];
}
0
Михаил Кричук
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
0
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();
}
0
Михаил Кричук
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
0
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 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
01.06.2012, 14:23  [ТС] #7
Цитата Сообщение от Ganibal Посмотреть сообщение
Все работает. Вначале надо вызвать функцию, а потом только пытаться получать ее результат.
Спасибо теперь на будущее буду знать, а то вчера часа три сидел не знал как сделать.
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
01.06.2012, 14:29 #8
А не проще бы было сделать перегрузку операторов?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2012, 14:29
Привет! Вот еще темы с ответами:

Немного подправить. - C++
Имеется код программы. Он рабочий, но почему то при вводе данных в программу, в документе database.txt выводятся какие то символы, но ни...

Немного о sizeof - C++
Не могу найти. Вот такая форма оператора, с несколькими параметрами: sizeof (323, 43241, 555) Что она возвращает?

немного об указателях - C++
есть код: #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; int main() { int inta=1234; int...

немного усовершенствовать... - C++
B]как сделать так чтобы пробег автобусов генерировался randomize а не вводился с клавиатуры...?...все время получаются какие то...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.06.2012, 14:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru