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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
#1

Отладка программы - C++

20.01.2011, 02:09. Просмотров 1416. Ответов 8
Метки нет (Все метки)

Общая постановка. Пользовательский класс Х должен содержать необходимые элементы - данные, которые создаются в динамической области памяти, конструктор для их создания (операция new) и установки их начальных значений: Х(), деструктор: ~ Х (), friend – функция печати: friend void print(), функция, решающая поставленную задачу: friend Void Run().
Код методов и функций – вне пространства определения класса.

При x= –4,5, y=0,75* , z=0,845 , u=-55,6848.

// Лаб раб №3.cpp: главный файл проекта.

#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;


class primer
{
private:
double x,y,z;
public:
primer();
void set(void);
friend double run(primer s);
˜~primer();
}
void primer::set(void)
{
cout<<"Enter x:";
cin>>x;
cout<<"Enter y:";
cin>>y;
cout<<"Enter z:";
cin>>z;
}
void print(double h)
{
printf("Resultat h=%.6f\n",h);
}
double run(primer s)
{
double a,b,c,h;
a=pow(8+pow(fabs(s.x-s.y),2)+1),(1/3);
b=pow((s.x,2)+(s.y,2))+2;
c=(pow(exp(s.x-s.y))*(pow((pow(tan(s.z),2)),x));
h=a/b-c;
return h;
}
void main()
{
double k;
primer*a=new primer;
a->set();
k=run(*a);
print(k);
delete a;
getch();
}

Вроде все должно выглядеть примерно так, но не компилируется( Visual 2008

Добавлено через 41 минуту
// Лаб раб №3.cpp: главный файл проекта.

#include "stdafx.h"
#include "math.h"
#include "conio.h"
#include <iostream>
using namespace std;


class primer
{
private:
double x,y,z;
public:
primer();
void set(void);
friend double run(primer s);
~primer();
};

void primer::set(void)
{
cout<<"Enter x:";
cin>>x;
cout<<"Enter y:";
cin>>y;
cout<<"Enter z:";
cin>>z;
}
void print(double h)
{
printf("Resultat h=%.6f\n",h);
}
double run(primer s)
{
double a,b,c,h;
a=pow((8+pow(fabs(s.x-s.y),2)+1),(1/3));
b=pow((s.x,2)+(s.y,2))+2;
c=(pow(exp(s.x-s.y))*(pow((pow(tan(s.z),2)),s.x)));
h=a/b-c;
return h;
}
void main()
{
double k;
primer*a=new primer;
a->set();
k=run(*a);
print(k);
delete a;
getch();
}

1>.\Лаб раб №3.cpp(38) : error C2661: pow: нет перегруженной функции, принимающей 1 аргументов (b=pow((s.x,2)+(s.y,2))+2
1>.\Лаб раб №3.cpp(39) : error C2661: pow: нет перегруженной функции, принимающей 1 аргументов (c=(pow(exp(s.x-s.y))*(pow((pow(tan(s.z),2)),s.x)))

Добавлено через 28 секунд
Помогите, пожалуйста ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2011, 02:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отладка программы (C++):

Отладка программы) - C++
Добрый день, пожалуйста помогите отладить программу. Выдает не верные значения. # include &lt;iostream&gt; # include &lt;math.h&gt; using...

Отладка программы в С++ - C++
Дали программу, которая должна считать количество введенных букв А, пробелов и остальных символов. Проблема: не идет считывание (учет)...

Отладка программы - C++
Помогите пожалуйста сделать программу корректной. В общем из трех чисел x, y, z нужной найти максимальное попробовал следующее, но чего то...

Отладка программы на С++ - C++
Нужно отладить программу, при компиляции выдает: ----- Построение начато: проект: WR01, Конфигурация: Debug Win32 ------ 1&gt; ...

Отладка программы. - C++
Не знаю даже условия, даны только какие-то выражения: http://s1.dump.ru/viewer/3727329/ попробовал сделать по шаблону, который дали,...

Отладка программы. - C++
Для заданного а вычислить f(a), где f(x) задана графиком ( график во вложении) . Вопрос: как сделать так, что бы после введения...

8
killboss
60 / 60 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 02:13 #2
Ошибок тьма, да и код написан криво. Ты уж извиняй!!!
Вот исправил, работает, я проверял:
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
#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <iostream>
 
using namespace std;
 
class primer
{
private:
    double x,y,z;
public:
    primer() {};
    void set(void);
    double run(primer *s);
    ~primer(){};
};
 
void primer::set(void)
{
    cout<<"Enter x:";
    cin>>this->x;
    cout<<"Enter y:";
    cin>>this->y;
    cout<<"Enter z:";
    cin>>this->z;
};
 
void print(double h)
{
    printf("Resultat h=%.6f\n",h);
};
 
double primer::run(primer *s)
{
    double a,b,c,h,a1,a2,c1,c2;
    a1 = fabs(s->x-s->y);
    a2 = 8+pow(a1,2)+1;
    a = pow(a2,1/3);
    b = pow(s->x,2)+pow(s->y,2)+2;
    c1 = exp(s->x-s->y);
    c2 = (pow(tan(s->z),2));
    c = pow(c1,x)*pow(c2,x);
    h = a/b-c;
    return h;
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double k;
    primer *a=new primer();
    a->set();
    k = a->run(a);
    print(k);
    delete (a);
    getch();
    return 0;
};
Читай внимательнее классы, конструкторы, методы и объекты --- и таких глупых ошибок делать не будешь!!! :0

Добавлено через 2 минуты
всё понятно или чего объяснить???
1
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
20.01.2011, 02:21  [ТС] #3
Спасибо, killboss, одна только проблема, компилятору не нравится идентификатор "_TCHAR"...пожелания учту)

Добавлено через 2 минуты
Цитата Сообщение от killboss Посмотреть сообщение
s->x
пояснить бы еще этот момент, почему не s.x ?
0
killboss
60 / 60 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 02:21 #4
Цитата Сообщение от andreip Посмотреть сообщение
компилятору не нравится идентификатор "_TCHAR"...пожелания учту)
Тогда замени:
C++
1
int _tmain(int argc, _TCHAR* argv[])
на
C++
1
void main()
1
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
20.01.2011, 02:25  [ТС] #5
1>.\Лаб раб №3.cpp(58) : warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\conio.h(145): см. объявление 'getch'
1>.\Лаб раб №3.cpp(59) : error C2562: main: функция типа 'void', возвращающая значение
1> .\Лаб раб №3.cpp(50): см. объявление 'main'

вот что вышло после замены

построилось без return 0
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.01.2011, 02:33 #6
andreip, пробуйте

C++
1
int main()
1
killboss
60 / 60 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 02:37 #7
Цитата Сообщение от andreip Посмотреть сообщение
построилось без return 0
Всё работает???
0
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
20.01.2011, 02:38  [ТС] #8
Спасибо всем) Буду разбираться теперь что тут к чему и для чего, скомпилировалось.

Ответ не совпадает(
0
killboss
60 / 60 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 02:41 #9
Цитата Сообщение от andreip Посмотреть сообщение
Спасибо всем) Буду разбираться теперь что тут к чему и для чего, скомпилировалось.
Если что пиши в личку, объясню!!!
0
20.01.2011, 02:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2011, 02:41
Привет! Вот еще темы с ответами:

Отладка программы - C++
С чем связаны такие ошибки : Программа падает примерно через минут после работы,и виснет. Правильно_ли я понимаю,что это связано с...

Отладка программы - C++
Есть небольшие проблемы с отладкой программы. Компилятор молчит #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; ...

Отладка программы - C++
Отлаживал циклы, не получается отладить код этой программы, пишет: Сам код: #include &quot;stdafx.h&quot; #include...

Отладка программы - C++
Нужна помощь в отладке программы, не могу запустить в среде Visual 2008 // Л.р.3.cpp: определяет точку входа для консольного...


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

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

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