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

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

Войти
Регистрация
Восстановить пароль
 
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
#1

Ошибка - C++

04.08.2011, 19:05. Просмотров 459. Ответов 10
Метки нет (Все метки)

Народ, здарова!!!
Тупой вопрос, почему не работает функция
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<iostream.h>
#include<conio.h>
#include<string.h>
 
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{   protected:
  char* Name;
  Shape shape_s;
    public:
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{   private:
  float H;
    public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  friend class Cube;
};
 
class Cube: public Body
{   private:
  float H;
    public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  void Sravnenie_H(Cube&cube,Prizm&prizm)
  { if(cube.H==prizm.H) cout<<"the same";
       else if(cube.H<prizm.H) cout<<"greater";
             else cout<<"smaller";   }
  const char* return_name(const Prizm& prizm)const
  {return prizm.Name;}
};
 
 
int main()
{
  Prizm pri("Prizma",prizm,10.0);
  Cube cub("Cube",cube,9.0);
 
  if(Sravnenie_H(cub,pri))
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is greater."<<endl;}
  else if(Sravnenie_H(cub,pri))
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is smaller."<<endl;}
  else
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is the same."<<endl;}
 
  getch();
  return 0;
}
[C++ Error] Unit1.cpp(49): E2268 Call to undefined function 'Sravnenie_H'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2011, 19:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка (C++):

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка - C++
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка. #include &lt;iostream&gt; #include...

Ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске программы возникает ошибка - C++
Я знаю точно, что ошибка в конструкторе с параметром. Компилятор не ругается, но при запуске моей программы windows выдает ошибку. Почему ?...

Укажите где ошибка (ошибка во время выполнения программы) - C++
Здравствуйте, помогите пожалуйста найти ошибки в коде которые возникаю при выполнении программы Картинка с ошибкой внизу поста. Код: ...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка? - C++
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и вывести наименование товара, цена которого...

типизированный файл, ошибка ошибка при выходе - C++
Работа с типизированным файлом. В функцию вывода добавляю проверку if для вывода персонала только 1 подразделения. Выводит на 1 элемент...

10
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
04.08.2011, 19:14 #2
потому что эта ф-ция член класса Cube, и обращаться к ней надо как к члену класса.
1
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
04.08.2011, 19:22  [ТС] #3
тупой вопрос так что ли Cube.Sravnenie_H(cub,pri)
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
04.08.2011, 19:24 #4
в твоем случаем cub.Sravnenie_H(cub,pri)
и не ясно, что ты пытаешься вернуть из этой ф-ции в if, если она у тебя объявлена как void...
1
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
04.08.2011, 19:32  [ТС] #5
и еще вопросик
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<iostream.h>
#include<conio.h>
#include<string.h>
 
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{   protected:
  char* Name;
  Shape shape_s;
    public:
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{   private:
  float H;
    public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  friend class Cube;
};
 
class Cube: public Body
{   private:
  float H;
    public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  bool Sravnenie_H(Cube&cube,Prizm&prizm)
  { if(cube.H==prizm.H) cout<<"";
       else if(cube.H<prizm.H) cout<<"";
             else cout<<"";   }
  const char* return_name(const Prizm& prizm)const
  {return prizm.Name;}
};
 
 
int main()
{
  Prizm pri("Prizma",prizm,10.0);
  Cube cub("Cube",cube,10.0);
 
  if(cub.Sravnenie_H(cub,pri))
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is greater."<<endl;}
  else if(cub.Sravnenie_H(cub,pri))
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is smaller."<<endl;}
  else
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is the same."<<endl;}
 
  getch();
  return 0;
}
Выдает [C++ Warning] Unit1.cpp(38): W8070 Function should return a value
а почему не чего не происходит если меняю значение
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
04.08.2011, 19:35 #6
написано же, что "ф-ция должна возвращать значение". а никаких return'ов у тебя в ней нет.
0
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
04.08.2011, 20:06  [ТС] #7
Извините, но помогите вставить return, а то я вставил return cube.H; return prizm.H; а толку нет

Добавлено через 25 минут
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<iostream.h>
#include<conio.h>
#include<string.h>
 
enum Shape{prizm,parallelepiped,cube,pyramid,cone,cylinder};
 
class Body
{   protected:
  char* Name;
  Shape shape_s;
    public:
  Body(char* name,Shape s)
  {Name=new char[strlen(name)+1];
  strcpy(Name,name);
  shape_s=s;}
  ~Body()
  {delete[]Name;}
};
 
class Prizm: public Body
{   private:
  float H;
    public:
  Prizm(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  friend class Cube;
};
 
class Cube: public Body
{   private:
  float H;
    public:
  Cube(char *name,Shape s,float h):Body(name,s)
  {H=h;}
  bool Sravnenie_H(Cube&cube,Prizm&prizm)
  { if(cube.H==prizm.H) return true;
       else if(cube.H<prizm.H) return true;
             else return false;  }
  const char* return_name(const Prizm& prizm)const
  {return prizm.Name;}
};
 
 
int main()
{
  Prizm pri("Prizma",prizm,10.0);
  Cube cub("Cube",cube,10.0);
 
  if(cub.Sravnenie_H(cub,pri))
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is greater."<<endl;}
  else if(cub.Sravnenie_H(cub,pri))
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is smaller."<<endl;}
  else
  {cout<<"I know object "<<cub.return_name(pri)<<". My height is the same."<<endl;}
 
  getch();
  return 0;
}
Народ помогите, неправильно дает результат
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
04.08.2011, 20:09 #8
Mr. Pyatachok, для начала надо разобраться с функциями, а не лезть в ООП. Так же не помешало бы научиться грамотно писать код, а то читать противно
1
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
04.08.2011, 20:13  [ТС] #9
Я только учусь и не стоит так критиковать , а то обидно, помогите пожалуйста с функцией
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
04.08.2011, 21:01 #10
C++
1
2
3
4
5
6
bool Sravnenie_H(Cube &cube, Prizm &prizm)
{ 
  if(cube.H<=prizm.H) 
  return true;
  return false;  
}
Так чтоль?
0
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
04.08.2011, 21:06  [ТС] #11
Извините, я понимаю что у меня там бред, а как переделать, чтобы показывало the same
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2011, 21:06
Привет! Вот еще темы с ответами:

С++ ошибка в проге, но не могу понять какая ошибка( - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;clocale&gt; using namespace std; int main (int args, const char * argv ) { ...

Ошибка 2 error LNK2019, не пойму в чем ошибка - C++
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;int __cdecl game(void)&quot; (?game@@YAHXZ) в функции....

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

При компиляции ошибка. Ошибка c++ C2678 - C++
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include...


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

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

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