944,119 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 3994
  • C++ RSS
You are currently viewing page 1 of this multi-page discussion thread
Feb 22nd, 2005
0

help needed with errors

Expand Post »
Can someone help me please? I've got 17 errors and 3 warnings. The main problem is that it keeps telling me that "Triangle" isn't a class name i'm so confused. Could you also help me with any other problems that you see? Thx in advance. (list of errors at bottom)

C++ Syntax (Toggle Plain Text)
  1. #include <iostream.h>
  2.  
  3. class Triangle
  4. {
  5. public:
  6. friend Triangle Copy(Triangle triangle1);
  7. friend bool operator ==(const Triangle& triangle1, const Triangle& triangle2);
  8. friend ostream& operator <<(ostream& outs, Triangle& the_triangle);
  9.  
  10. Triangle(float side1, float side2, float side3);
  11. Triangle();
  12.  
  13. void SetTriangle(float side1, float side2, float side3);
  14.  
  15. bool IsEquilateral();
  16. bool IsIsosceles();
  17. bool IsScalene();
  18.  
  19. bool IsRight();
  20. bool IsAcute();
  21. bool IsObtuse();
  22.  
  23. float get_side1();
  24. float get_side2();
  25. float get_side3();
  26.  
  27. private:
  28. void swap(float& side_1, float& side_2);
  29. void order();
  30. float side_1, side_2, side_3;
  31. };
  32.  
  33. void main()
  34. {
  35. Triangle triangle1, triangle2(6.0, 6.0, 6.0), triangle3(5.0, 4.0, 3.0), triangle4(6.0, 4.0. 4.0);
  36. cout << "display triangle 2: \n";
  37.  
  38. }
  39.  
  40. Triangle::Triangle(float side1, float side2, float side3)
  41. {
  42. SetTriangle(side1, side2, side3);
  43. order();
  44. }
  45.  
  46. Triangle::Triangle()
  47. {
  48. side_1 = 0;
  49. side_2 = 0;
  50. side_3 = 0;
  51. }
  52.  
  53. void Triangle::SetTriangle(float side1, float side2, float side3)
  54. {
  55. side_1 = side1;
  56. side_2 = side2;
  57. side_3 = side3;
  58. order ();
  59. }
  60.  
  61. void Triangle::swap(float& side_1, float& side_2)
  62. {
  63. float temp = side_1;
  64. side_1 = side_2;
  65. side_2 = temp;
  66. }
  67.  
  68. void Triangle::order()
  69. {
  70. if (side_1 > side_2)
  71. swap (side_1, side_2);
  72. if (side_1 > side_3)
  73. swap (side_1, side_3);
  74. if (side_2 > side_3)
  75. swap (side_2, side_3);
  76. }
  77.  
  78. float Triangle::get_side1()
  79. {
  80. return side_1;
  81. }
  82. float Triangle::get_side2()
  83. {
  84. return side_2;
  85. }
  86. float Triangle::get_side3()
  87. {
  88. return side_3;
  89. }
  90.  
  91. Triangle
  92. friend bool operator ==(const Triangle& Triangle1, const Triangle& Triangle2)
  93. {
  94. return((Triangle1.get_side1() == Triangle2.get_side1()) && (Triangle1.get_side2() == Triangle2.get_side2()) && (Triangle1.get_side3() == Triangle2.get_side3()));
  95. }
  96.  
  97. Triangle
  98. friend Triangle::ostream& operator <<(ostream& outs, Triangle& the_triangle)
  99. {
  100. return(outs << the_triangle.get_side1() << the_triangle.get_side2() << the_triangle.get_side3());
  101. }
  102.  
  103. bool Triangle::IsEquilateral()
  104. {
  105. return((side_1 == side_2) && (side_2 == side_3));
  106. }
  107.  
  108. bool Triangle::IsIsosceles()
  109. {
  110. if ((side_1 == side_2) && (side_2 == side_3))
  111. return(false);
  112. if((side_1 == side_2) && (side_1 != side_3) && (side_2 != side_3))
  113. return(true);
  114. if((side_2 == side_3) && (side_2 != side_1) && (side_3 != side_1))
  115. return(true);
  116. if((side_1 == side_3) && (side_1 != side_2) && (side_3 != side_2))
  117. return(true);
  118. }
  119.  
  120. bool Triangle::IsScalene()
  121. {
  122. return(side_1 != side_2 && side_2 != side_3 && side_1 != side_3);
  123. }
  124.  
  125. bool Triangle::IsRight()
  126. {
  127. return(side_3 * side_3 == side_1 * side_1 + side_2 * side_2);
  128. }
  129. bool Triangle::IsAcute()
  130. {
  131. return(side_1 + side_2 < side_3);
  132. }
  133. bool Triangle::IsObtuse()
  134. {
  135. return (side_3 * side_3 > side_1 * side_1 + side_2 * side_2);
  136. }



C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(36) : error C2059: syntax error : 'constant'
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(37) : error C2228: left of '.cout' must have class/struct/union type
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(37) : error C2297: '<<' : illegal, right operand has type 'char [22]'
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(41) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(45) : warning C4508: 'Triangle' : function should return a value; 'void' return type assumed
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(47) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(52) : warning C4508: 'Triangle' : function should return a value; 'void' return type assumed
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(54) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(55) : error C2373: 'SetTriangle' : redefinition; different type modifiers
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(62) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(64) : warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(69) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(70) : error C2373: 'order' : redefinition; different type modifiers
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(79) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(83) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(87) : error C2653: 'Triangle' : is not a class or namespace name
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(93) : error C2144: syntax error : missing ';' before type 'int'
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(93) : error C2501: 'Triangle' : missing storage-class or type specifiers
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(93) : error C2373: 'Triangle' : redefinition; different type modifiers
C:\Documents and Settings\owner\My Documents\C++\lab7\lab7.cpp(93) : fatal error C1004: unexpected end of file found
Similar Threads
Reputation Points: 11
Solved Threads: 0
Light Poster
blackdove is offline Offline
46 posts
since Feb 2005
Feb 22nd, 2005
0

Re: help needed with errors

Compare this with what you have:
C++ Syntax (Toggle Plain Text)
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Triangle
  6. {
  7. public:
  8. friend Triangle Copy(Triangle triangle1);
  9. friend bool operator ==(const Triangle& triangle1, const Triangle& triangle2);
  10. friend ostream& operator <<(ostream& outs, Triangle& the_triangle);
  11.  
  12. Triangle(float side1, float side2, float side3);
  13. Triangle();
  14.  
  15. void SetTriangle(float side1, float side2, float side3);
  16.  
  17. bool IsEquilateral();
  18. bool IsIsosceles();
  19. bool IsScalene();
  20.  
  21. bool IsRight();
  22. bool IsAcute();
  23. bool IsObtuse();
  24.  
  25. float get_side1() const;
  26. float get_side2() const;
  27. float get_side3() const;
  28.  
  29. private:
  30. void swap(float& side_1, float& side_2);
  31. void order();
  32. float side_1, side_2, side_3;
  33. };
  34.  
  35. int main()
  36. {
  37. Triangle triangle1, triangle2(6.0, 6.0, 6.0), triangle3(5.0, 4.0, 3.0), triangle4(6.0, 4.0, 4.0);
  38. cout << "display triangle 2: \n";
  39.  
  40. }
  41.  
  42. Triangle::Triangle(float side1, float side2, float side3)
  43. {
  44. SetTriangle(side1, side2, side3);
  45. order();
  46. }
  47.  
  48. Triangle::Triangle()
  49. {
  50. side_1 = 0;
  51. side_2 = 0;
  52. side_3 = 0;
  53. }
  54.  
  55. void Triangle::SetTriangle(float side1, float side2, float side3)
  56. {
  57. side_1 = side1;
  58. side_2 = side2;
  59. side_3 = side3;
  60. order ();
  61. }
  62.  
  63. void Triangle::swap(float& side_1, float& side_2)
  64. {
  65. float temp = side_1;
  66. side_1 = side_2;
  67. side_2 = temp;
  68. }
  69.  
  70. void Triangle::order()
  71. {
  72. if (side_1 > side_2)
  73. swap (side_1, side_2);
  74. if (side_1 > side_3)
  75. swap (side_1, side_3);
  76. if (side_2 > side_3)
  77. swap (side_2, side_3);
  78. }
  79.  
  80. float Triangle::get_side1() const
  81. {
  82. return side_1;
  83. }
  84. float Triangle::get_side2() const
  85. {
  86. return side_2;
  87. }
  88. float Triangle::get_side3() const
  89. {
  90. return side_3;
  91. }
  92.  
  93. bool operator ==(const Triangle& Triangle1, const Triangle& Triangle2)
  94. {
  95. return((Triangle1.get_side1() == Triangle2.get_side1()) && (Triangle1.get_side2() == Triangle2.get_side2()) && (Triangle1.get_side3() == Triangle2.get_side3()));
  96. }
  97.  
  98. ostream& operator <<(ostream& outs, Triangle& the_triangle)
  99. {
  100. return(outs << the_triangle.get_side1() << the_triangle.get_side2() << the_triangle.get_side3());
  101. }
  102.  
  103. bool Triangle::IsEquilateral()
  104. {
  105. return((side_1 == side_2) && (side_2 == side_3));
  106. }
  107.  
  108. bool Triangle::IsIsosceles()
  109. {
  110. if ((side_1 == side_2) && (side_2 == side_3))
  111. return(false);
  112. if((side_1 == side_2) && (side_1 != side_3) && (side_2 != side_3))
  113. return(true);
  114. if((side_2 == side_3) && (side_2 != side_1) && (side_3 != side_1))
  115. return(true);
  116. if((side_1 == side_3) && (side_1 != side_2) && (side_3 != side_2))
  117. return(true);
  118. return false;
  119. }
  120.  
  121. bool Triangle::IsScalene()
  122. {
  123. return(side_1 != side_2 && side_2 != side_3 && side_1 != side_3);
  124. }
  125.  
  126. bool Triangle::IsRight()
  127. {
  128. return(side_3 * side_3 == side_1 * side_1 + side_2 * side_2);
  129. }
  130. bool Triangle::IsAcute()
  131. {
  132. return(side_1 + side_2 < side_3);
  133. }
  134. bool Triangle::IsObtuse()
  135. {
  136. return (side_3 * side_3 > side_1 * side_1 + side_2 * side_2);
  137. }
But be sure to check all of the line numbers that your compiler is giving you errors on and try to guess what I changed to fix it.
Reputation Points: 12
Solved Threads: 2
Light Poster
Siersan is offline Offline
45 posts
since Jan 2005
Feb 22nd, 2005
0

Re: help needed with errors

i see that you made the get_side functions constant, which helps with one of the problems, but what does the error mean when it says "error C2653: 'Triangle' : is not a class or namespace name"?
Reputation Points: 11
Solved Threads: 0
Light Poster
blackdove is offline Offline
46 posts
since Feb 2005
Feb 22nd, 2005
0

Re: help needed with errors

Compare the operator== and operator<< functions between your version and mine. Therein lies the problem. Both Triange and friend should be removed from the front of the function tags, and Triangle is not the namespace that ostream is declared in.
Reputation Points: 12
Solved Threads: 2
Light Poster
Siersan is offline Offline
45 posts
since Jan 2005
Feb 22nd, 2005
0

Re: help needed with errors

okay, yea i see that. but im still getting 14 errors *i feel so stupid right now* im so lost... i even tried your version of it ..
Reputation Points: 11
Solved Threads: 0
Light Poster
blackdove is offline Offline
46 posts
since Feb 2005
Feb 22nd, 2005
0

Re: help needed with errors

Post the errors. Most likely we're using incompatible compilers where stuff like new headers and namespaces work for me but not for you.
Reputation Points: 12
Solved Threads: 2
Light Poster
Siersan is offline Offline
45 posts
since Jan 2005
Feb 22nd, 2005
0

Re: help needed with errors

OMG! thank you so much! it worked. i just re-compiled it again and it was fine. i dont know why it was showing errors a few minutes ago :/ (now i just have to finish writing the code in main) could i pm you later if i have another question/problem come up?
Reputation Points: 11
Solved Threads: 0
Light Poster
blackdove is offline Offline
46 posts
since Feb 2005
Feb 22nd, 2005
0

Re: help needed with errors

Sure, but be warned that I'm very busy during work hours, so I may not get to your question until tomorrow evening if I miss it tonight.
Reputation Points: 12
Solved Threads: 2
Light Poster
Siersan is offline Offline
45 posts
since Jan 2005
Feb 22nd, 2005
0

Re: help needed with errors

thats fine. i dont think i will work on it more until tomorrow anyways. thanks again for all of your help
Reputation Points: 11
Solved Threads: 0
Light Poster
blackdove is offline Offline
46 posts
since Feb 2005
Feb 23rd, 2005
0

another small problem ....

i've gotten rid of all of the errors and completed everything in my program except now i cant figure out how to get my "friend Triangle Copy(Triangle triangle1);" function to work correctly. It is supposed to copy one object into another. Could someone please help me?

thx in advance
heres the code i have now:
C++ Syntax (Toggle Plain Text)
  1. #include <iostream.h>
  2. #include<stdlib.h>
  3.  
  4. class Triangle
  5. {
  6. public:
  7. Triangle(float side1, float side2, float side3);
  8. Triangle();
  9.  
  10. void SetTriangle(float side1, float side2, float side3);
  11.  
  12. bool IsEquilateral();
  13. bool IsIsosceles();
  14. bool IsScalene();
  15.  
  16. bool IsRight();
  17. bool IsAcute();
  18. bool IsObtuse();
  19.  
  20. friend Triangle Copy(Triangle triangle1);
  21. friend bool operator ==(const Triangle& triangle1, const Triangle& triangle2);
  22. friend ostream& operator <<(ostream& outs, Triangle& the_triangle);
  23.  
  24. private:
  25. void swap(float& side_1, float& side_2);
  26. void order();
  27. float side_1, side_2, side_3;
  28. };
  29.  
  30. void main()
  31. {
  32. //test1
  33. Triangle triangle1, triangle2(6.0, 6.0, 6.0), triangle3(5.0, 4.0, 3.0), triangle4(6.0, 4.0, 4.0);
  34. cout << "display triangle 2:\n" << triangle2 << "display triangle 3:\n" << triangle3 << "display triangle 4:\n" << triangle4;
  35.  
  36. //test2(copy test)
  37. Triangle Copy(Triangle triangle1);
  38. cout << "\n\ndisplay triangle 1:\n" << triangle1 << "display triangle 4:\n" << triangle4;
  39. if(triangle1 == triangle4)
  40. cout << "are equal\n\n";
  41. else
  42. cout << "are not equal\n\n";
  43.  
  44. //test3(== test)
  45. cout << "\ndisplay triangle 2:\n" << triangle2 << "display triangle 3:\n" << triangle3;
  46. if (triangle2 == triangle3)
  47. cout << "are equal\n\n";
  48. else
  49. cout << "are not equal\n\n";
  50.  
  51. //test4(set triangle test)
  52. triangle3.SetTriangle(5,4,3);
  53. cout << "\ndisplay triangle 3: \n" << triangle3;
  54.  
  55. }
  56.  
  57. Triangle::Triangle(float side1, float side2, float side3)
  58. {
  59. SetTriangle(side1, side2, side3);
  60. order();
  61. }
  62.  
  63. Triangle::Triangle()
  64. {
  65. side_1 = 0;
  66. side_2 = 0;
  67. side_3 = 0;
  68. }
  69.  
  70. void Triangle::SetTriangle(float side1, float side2, float side3)
  71. {
  72. side_1 = side1;
  73. side_2 = side2;
  74. side_3 = side3;
  75. order ();
  76. }
  77.  
  78. bool Triangle::IsEquilateral()
  79. {
  80. return((side_1 == side_2) && (side_2 == side_3));
  81. }
  82.  
  83. bool Triangle::IsIsosceles()
  84. {
  85. if ((side_1 == side_2) && (side_2 == side_3))
  86. return(false);
  87. if((side_1 == side_2) && (side_1 != side_3) && (side_2 != side_3))
  88. return(true);
  89. if((side_2 == side_3) && (side_2 != side_1) && (side_3 != side_1))
  90. return(true);
  91. if((side_1 == side_3) && (side_1 != side_2) && (side_3 != side_2))
  92. return(true);
  93. return(false);
  94. }
  95.  
  96. bool Triangle::IsScalene()
  97. {
  98. return(side_1 != side_2 && side_2 != side_3 && side_1 != side_3);
  99. }
  100.  
  101. bool Triangle::IsRight()
  102. {
  103.  
  104. return(side_3 * side_3 == side_1 * side_1 + side_2 * side_2);
  105.  
  106. }
  107. bool Triangle::IsAcute()
  108. {
  109.  
  110. return(side_3 * side_3 < side_1 * side_1 + side_2 * side_2);
  111.  
  112. }
  113. bool Triangle::IsObtuse()
  114. {
  115.  
  116. return(side_3 * side_3 > side_1 * side_1 + side_2 * side_2);
  117.  
  118. }
  119.  
  120. /*Triangle Copy(Triangle triangle1)
  121. {
  122. Triangle triangle4(6.0, 4.0, 4.0);
  123. triangle1 = triangle4;
  124. return(triangle1);
  125. }*/
  126.  
  127. bool operator ==(const Triangle& Triangle1, const Triangle& Triangle2)
  128. {
  129. return((Triangle1.side_1 == Triangle2.side_1) && (Triangle1.side_2 == Triangle2.side_2) && (Triangle1.side_3 == Triangle2.side_3));
  130. }
  131.  
  132. ostream& operator <<(ostream& outs, Triangle& the_triangle)
  133. {
  134. outs << "Side1 = " << the_triangle.side_1 << "\nSide2= " << the_triangle.side_2 << "\nSide3 = " << the_triangle.side_3;
  135. if(the_triangle.IsEquilateral())
  136. outs << "\nIs Equilateral\n";
  137. else if(the_triangle.IsIsosceles())
  138. outs << "\nIs Isosceles\n";
  139. else if(the_triangle.IsScalene())
  140. outs << "\nIs Scalene\n";
  141.  
  142. if(the_triangle.IsRight())
  143. outs << "Is Right\n";
  144. else if(the_triangle.IsAcute())
  145. outs << "Is Acute\n";
  146. else if(the_triangle.IsObtuse())
  147. outs << "Is Obtuse\n";
  148. return(outs << "------------------\n");
  149.  
  150. }
  151.  
  152. void Triangle::swap(float& side_1, float& side_2)
  153. {
  154. float temp = side_1;
  155. side_1 = side_2;
  156. side_2 = temp;
  157. }
  158.  
  159. void Triangle::order()
  160. {
  161. if (side_1 > side_2)
  162. swap (side_1, side_2);
  163. if (side_1 > side_3)
  164. swap (side_1, side_3);
  165. if (side_2 > side_3)
  166. swap (side_2, side_3);
  167. }
Reputation Points: 11
Solved Threads: 0
Light Poster
blackdove is offline Offline
46 posts
since Feb 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Developing A Class
Next Thread in C++ Forum Timeline: question





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC