Дан класс :равносторонний треугольник, вписанный в окружность. В самом конце ошибка: declaration terminated incorrectly. Как её устранить? Код (Text): #include <math.h> #include <conio.h> #include <graphics.h> //tre.cpp class tre {int xq, yq, lq; public: void drawtre() {int d=lq/2; line (xq-d, yq-d, xq+d, yq-d); line (xq-d, yq-d, xq, yq+d); line (xq+d, yq-d, xq, yq+d); } tre(int xi,int yi,int li) {xq=xi,yq=yi,lq=li;} void draw() {drawtre();} void hide() {int bk,cc; bk=getbkcolor(); cc=getcolor(); setcolor(bk); drawtre(); setcolor(cc); } }; //circ.cpp class circ {int xc, yc, rc; public: circ(int xi,int yi,int ri) {xc=xi;yc=yi;rc=ri;} void draw() {circle(xc,yc,rc);} void hide() {int bk,cc; bk=getbkcolor(); cc=getcolor(); setcolor(bk); circle(xc,yc,rc); setcolor(cc); } }; class trecirc:public tre, public circ {public: trecirc(int xi, int yi, int ri): tre(xi,yi,sqrt(3)*ri), circ(xi,yi,ri){} ; void draw() { circ::draw(); tre::draw(); } void hide() { circ::hide(); tre::hide(); } void main() { int dr=DETECT, mod; initgraph(&dr,&mod,"c:\\borlandc\\bgi"); trecirc A1(10,10,60); trecirc F4(40,30,50); A1.draw(); getch(); F4.draw(); getch(); F4.hide(); getch(); A1.hide(); getch(); closegraph(); }
Comer_ Мы на занятиях уже разбирали класс- окр-ть, впис-я в квадрат-..Так что здесь надо было только исправить функцию рисования квадрата и параметры конструктора квадрата..Что с ошибкой-то делать?
Luna Ну укажи хотя бы, на какую строку компилятор ругается. Извини, при таком стиле оформления нет никакого желания смотреть. Будь я твоим преподом, ты б писала как Пушкин.
Phuntik Извини, но это хороший стиль оформления, все методы разделены пробелами - всё отлично воспринимается) Ошибка declaration terminated incorrectly в самом конце после closegraph(); }
Luna, поставьте Код (Text): }; после класса trecirc хотя бы... При беглом анализе кода обнаружил несбалансированность скобок. Comer_, Си жалко T_T
Mankubus ААААААААААААААААА!!!!!!!!!!!!!!!!!!!!С П А С И Б О Т е Б е Б О Л Ь Ш О Е, Mankubus!!!!!!!ТЫ ЧУДО-ЧЕЛОВЕК!!!!!!!!!!!!!!!!!!=) Программа работает ураааааааааааааааааааааа!!!!!!!!!!!!!!!!(на самом деле- 2-1 случай в жизни, где запятая играет столь важное значение)Треугольник равносторонний, только не совсем вписывается в окружность .......эээээээээ....а как фотку загрузить?
Luna Оно и сейчас есть - жми ответить справа внизу топика, только с тех пор как запретили редактирование отобразить его в тексте поста стало несколько сложнее , хотя при наличии штатной "смотрелки" форума это терпимо.
Не понимаю, почему при запуске не получается треугольника, вписанного в окружность(он немного поднят над нею)?вроде параметры заданы правильно.......
Потому что математику таки имеет смысл знать. Треугольник с вершинами (xq-d,yq-d), (xq+d,yq-d), (xq,yq+d) (который и рисуется в drawtre) не является равносторонним, а только равнобедренным, и его центр (в смысле центра масс или пересечения медиан) находится вовсе не в (xq,yq). Равносторонний треугольник со стороной lq=2d и центром (xq,yq) может, например, иметь координаты вершин (xq-d,yq-d/sqrt(3)), (xq+d,yq-d/sqrt(3)), (xq,yq+d*2/sqrt(3)).
diamond Вы чудо)Спасибо вам за то, что вы есть))) .....да, теперь программа на все 100% работает, и треугольник отменный получается ..А координаты вершин вы при помощи чертежа вывели?