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

C++ составить программу - C++

Восстановить пароль Регистрация
 
ЛеНуШк@
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 10
05.01.2012, 14:41     C++ составить программу #1
На экран выведена прямая линия, которая моделирует поведение струны. Построить программу таким образом, чтобы можно было курсором и левой клавишей натянуть струну в вертикальном направлении (вверх или вниз) на произвольное расстояние. При отпускании левой клавиши, струна должна возвращатся в исходное состояние.
Миниатюры
C++ составить программу  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2012, 14:41     C++ составить программу
Посмотрите здесь:

C++ Составить программу на с++
Составить программу! C++
Составить программу C++
Составить программу в С++ C++
C++ Составить программу в С++
Составить программу C++
Составить программу C++
Составить программу C++
составить программу с++ C++
Составить программу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
05.01.2012, 15:56     C++ составить программу #2
Борланд Си/WINAPI ?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 16:57     C++ составить программу #3
Сделал на Qt
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
#ifndef GUITARSTRING_H
#define GUITARSTRING_H
 
#include <QtGui/QWidget>
#include <QPainter>
#include <QPoint>
 
class GuitarString : public QWidget
{
    QPoint first;
    QPoint middle;
    QPoint last;
    float k;
    float b;
    void paintEvent(QPaintEvent *);
    void mouseMoveEvent(QMouseEvent *);
    void mouseReleaseEvent(QMouseEvent *);
    
public:
    GuitarString(QWidget *parent = 0);
    GuitarString(const QPoint first, const QPoint last);
    ~GuitarString();
};
 
#endif // GUITARSTRING_H
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
#include "guitarstring.h"
#include <QPainter>
#include <QPoint>
#include <QtGui>
 
GuitarString::GuitarString(QWidget *parent): QWidget(parent), first(100, 100), middle(100, 100), last(500, 100)
{
    k = (first.y() - last.y()) / (first.x() - last.x());
    b = first.y() - k * first.x();
}
 
GuitarString::GuitarString(const QPoint f, const QPoint l): QWidget(0), first(f), middle(f), last(l)
{
    k = (first.y() - last.y()) / (first.x() - last.x());
    b = first.y() - k * first.x();
}
 
GuitarString::~GuitarString()
{
    
}
 
void GuitarString::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.setPen(Qt::black);
    if(!middle.isNull())
    {
        painter.drawLine(first, middle);
        painter.drawLine(middle, last);
    }
    else
        painter.drawLine(first, last);
}
 
void GuitarString::mouseMoveEvent(QMouseEvent* event)
{
    if(event -> buttons() & Qt::LeftButton)
        if((middle != first) || (event -> pos().y() == k * event -> pos().x() + b))
        {
            middle = event -> pos();
            update();
        }
}
 
void GuitarString::mouseReleaseEvent(QMouseEvent*)
{
    if(middle != first)
    {
        middle = first;
        update();
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
#include <QtGui/QApplication>
#include "guitarstring.h"
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    GuitarString w;
    w.show();
    
    return a.exec();
}
ЛеНуШк@
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 10
07.01.2012, 19:34  [ТС]     C++ составить программу #4
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include<dos.h>
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include<mouse.h>
 
void ms_gform(int xt,int yt);
int ms_querp(MOUSE_STATE*ms, int bottom);
 
union REGS reg;
int graphdriver, gmode, errorcode;
int form[32]={0xFC3F,0xFC3F,0xFC3F,0xFC3F,0xFC3F,0xFC3F,
       0x0000,0x0000,0x0000,0x0000,
       0xFC3F,0xFC3F,0xFC3F,0xFC3F,0xFC3F,0xFC3F,
       0x0000,0x0180,0x0180,0x0180,0x0180,0x0180,0x0180,
       0x7FFE,0x7FFE,0x0180,0x0180,0x0180,0x0180,0x0180,0x0180,0x0000};
 
void ms_gform(int far *form,int xt,int yt)
   {
     union REGS reg;
     struct SREGS sreg;
     reg.x.ax=9;
     reg.x.bx=xt;
     reg.x.cx=yt;
     reg.x.dx=FP_OFF(form);
     sreg.es=FP_SEG(form);
     int86x(0x33,&reg,&reg,&sreg);
   }
 
    void ms_on(void)
 {
   union REGS reg;
   reg.x.ax=1;
   int86(0x33,&reg,&reg);
 }
 void ms_off(void)
   {
     union REGS reg;
     reg.x.ax=2;
     int86(0x33,&reg,&reg);
   }
 void ms_tform(int type,int msk1,int msk2)
   {
     union REGS reg;
     reg.x.ax=0xA;
     reg.x.bx=type;
     reg.x.cx=msk1;
     reg.x.dx=msk2;
     int86(0x33,&reg,&reg);
   }
 
   int ms_init(int*kbt)
{
  union REGS reg;
       reg.x.ax=0;
  int86(0x33,&reg,&reg);
  *kbt=reg.x.bx;
  return(reg.x.ax);
}
 int ms_querp(MOUSE_STATE*ms,int bottom)
     {
       union REGS reg;
       reg.x.ax=5;
       reg.x.bx=bottom;
       int86(0x33,&reg,&reg);
       ms->bottoms=reg.x.ax;
       ms->x=reg.x.cx;
       ms->y=reg.x.dx;
       return(reg.x.bx);
     }
 
main(void)
  {
    int botm,px,py;MOUSE_STATE state;
    char s[60];
    graphdriver=DETECT;
    initgraph(&graphdriver,&gmode,"c:\\BORLANDC\\BGI\\");
    errorcode=graphresult();
    if(errorcode!=0)
    {
      printf("ЋиЁЎЄ*!\n");
      getch();
      exit(1);
    }
    if(!ms_init(&botm))
    {
      puts("Њлим *Ґ гбв**®ў«Ґ**!");
      exit(-1);
    }
    setfillstyle(1,4);
    bar(10,10,600,480);
    setcolor(15);
    outtextxy(300,470,"‚›•Ћ„");
    setcolor(0);
    setfillstyle(1,15);
    bar(200,150,400,300);
    ms_on();
    ms_gform(form,7,7);
    while(!0)
    {
      if(ms_querp(&state,0)!=0)
        {
          px=state.x;
          py=state.y;
          sprintf(s,"x=%-5d y=%-5d",px,py);
          bar(10,10,200,22);
          outtextxy(30,12,s);
          if(px>300&&px<340&&py>470)goto end;
        }
      }
    end:
    cleardevice();
    closegraph();
    return(0);
}
Добавлено через 32 секунды
мне нало как то это дополнить по заданию((
Yandex
Объявления
07.01.2012, 19:34     C++ составить программу
Ответ Создать тему
Опции темы

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