Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
ЛеНуШк@
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 10
#1

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

05.01.2012, 14:41. Просмотров 516. Ответов 3
Метки нет (Все метки)

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

Составить программу с массивами структурами. Заполнить структуры информации, составить
Составить программу с массивами структурам согласно варианту. Заполнить структуры информации,...

Составить программу
.Составить программу, которая будет выводить таблицу квадратов для последовательности целых...

Составить программу

Составить программу
Здравствуйте! Кто может помочь, решить не большую самостоятельную)) С++ Заранее большое спасибо))

Составить программу в С++
Дана матрица А (N, M). Найти количество элементов этой матрицы, больших среднего арифметического...

3
Gepar
1181 / 537 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
05.01.2012, 15:56 #2
Борланд Си/WINAPI ?
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.01.2012, 16:57 #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();
}
1
ЛеНуШк@
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 10
07.01.2012, 19:34  [ТС] #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 секунды
мне нало как то это дополнить по заданию((
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2012, 19:34

Составить программу
Составить программу, которая обращает введенное слово, т.е. переставляет символы в обратном...

Составить программу в С++
Для заданого n обчислить \prod_{k = 1}^{n} \frac{i^2}{i^2 + 2i + 3}

Составить программу
Помогите написать полный код на С++. Составить программу: а) Нахождения максимального значения...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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