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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
20.01.2011, 02:09     Отладка программы #1
Общая постановка. Пользовательский класс Х должен содержать необходимые элементы - данные, которые создаются в динамической области памяти, конструктор для их создания (операция 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 секунд
Помогите, пожалуйста ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2011, 02:09     Отладка программы
Посмотрите здесь:

Отладка программы. C++
C++ Отладка программы.
C++ Отладка программы
Отладка программы C++
C++ Отладка программы в CodeBlocks
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
killboss
 Аватар для killboss
57 / 57 / 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 минуты
всё понятно или чего объяснить???
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
20.01.2011, 02:21  [ТС]     Отладка программы #3
Спасибо, killboss, одна только проблема, компилятору не нравится идентификатор "_TCHAR"...пожелания учту)

Добавлено через 2 минуты
Цитата Сообщение от killboss Посмотреть сообщение
s->x
пояснить бы еще этот момент, почему не s.x ?
killboss
 Аватар для killboss
57 / 57 / 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()
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
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.01.2011, 02:33     Отладка программы #6
andreip, пробуйте

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

Ответ не совпадает(
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2011, 02:41     Отладка программы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 02:41     Отладка программы #9
Цитата Сообщение от andreip Посмотреть сообщение
Спасибо всем) Буду разбираться теперь что тут к чему и для чего, скомпилировалось.
Если что пиши в личку, объясню!!!
Yandex
Объявления
20.01.2011, 02:41     Отладка программы
Ответ Создать тему
Опции темы

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