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

Подключить графику (Borland С++ 3.01) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Связаные списки http://www.cyberforum.ru/cpp-beginners/thread39329.html
Ребят подскажите как можно удалить из двухсвязного списка последние крайние узлы при удалении по нахождению реквизита узла. void del(List *list) { cout << "Введите фамилию для удаления записи." << endl <<"?: "; char mas; cin >> mas; Date *temp = list->Head, *delete_c;
C++ Ввод / вывод. Кириллица. Помогите плиз! Эта программа выводит строки в которых есть слово) Программа работает только с латинским алфавитом! Как переделать на кириллицу? #include "stdafx.h" #include <fstream.h> #include <conio.h> #include <iostream.h> #include <stdio.h> #include <windows.h> ///////////////////// http://www.cyberforum.ru/cpp-beginners/thread39326.html
C++ Произведение элементов массива расположенных после максимального по модулю элемента (С)
Помогите пожалуйста написать программу. Очень буду Вам благодарен, очень срочно надо. В одномерном массиве состоящем из n вещественных элементов вычислить произведение элементов массива расположенных после максимального по модулю элемента.
Массив в функцию записать C++
// в одномерном массиве,состоящем из n вщественных элементов, вычислить: 1) номер минимального элемента массива; 2) сумму элементов массива расположенных между первым и вторым отрицательными элементами !Данное задание я выполнил, теперь нужно в функцию добавить...пом =( //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop...
C++ преобразование типов http://www.cyberforum.ru/cpp-beginners/thread39294.html
Уважаемые специалисты, у меня имеется одна проблема. Есть два числа. double и float. Надо из double вычесть float. Все бы хорошо, но проблема в следующем: при преобразовании float'а к double внутри функции float'овское число из 1.00010 становится, к примеру 1.0001000165939. А мне необходимо, чтобы оно был 1.0001000000000, т. е. чтобы та часть нового double, которая по точности "выше", чем...
C++ Записать структуру в файл подскажыте, как записать структару в файл! подробнее

Показать сообщение отдельно
Deiron
25 / 25 / 1
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 22:27     Подключить графику (Borland С++ 3.01)
ну... с клавой все просто. Есть такая замечательная функция getch();
делаете так:
C++
1
2
3
4
5
6
7
8
9
10
int key;
//...
key=getch();
if(!key){
   key=getch();
//здесь обработка дополнительных клавиш (например <- или ->)
}
else {
//здесь обработка обычных клавиш (например алфавитных клавиш)
}
А вот с мышой можно работать только через прерывания.
Вот моя старая прога, которая рисовала круг по 2 точкам. Точки брались по нажатию левой клавиши мышки.
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
#include <dos.h>
#include <graphics.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
REGS reg1;
void InitMouse(int *nbuttons, int *OK);
void ShowMouse();
void HideMouse();
void ReadMouse(int *x,int *y,int *buttons);
void GetMouse(int *button,long *number,int *x,int *y);
void main()
{
 int b,ok;
 int gmode,gdriver=DETECT;
 int x1,y1,x2,y2;
 double x,y,r;
 long num,n1;
 initgraph(&gdriver,&gmode,"C:\\TC\\BGI");
 cleardevice();
 InitMouse(&b,&ok);
 ShowMouse();
 do
  ReadMouse(&x1,&y1,&b);
 while (!(b&1));//пока не нажата левая клавиша мыши
 num=0;
 do
 {
  GetMouse(&b,&n1,&x2,&y2);
  num=num+n1;
 }
 while (num<2); // пока число нажатий на ЛКМ меньше 2х
 x=((x1+x2)/2);
 y=((y1+y2)/2);
 r=sqrt(pow((x1-x2),2)+pow((y1-y2),2));
 r/=2;
 HideMouse;
 cleardevice();
 setcolor(GREEN);
 circle((int)x,(int)y,(int)r);
 cout<<"press any key to end";
 getch();
 closegraph();
 clrscr();
}
//---------------------------------------------------------------------------
void InitMouse(int *nbuttons, int *OK)
{
 reg1.x.ax=0;
 int86(0x33,&reg1,&reg1);
 *OK=reg1.x.ax;
 *nbuttons=reg1.x.bx;
}
void ShowMouse()
{
 reg1.x.ax=1;
 int86(0x33,&reg1,&reg1);
}
void HideMouse()
{
 reg1.x.ax=2;
 int86(0x33,&reg1,&reg1);
}
void ReadMouse(int *x, int *y, int *buttons)
{
 reg1.x.ax=3;
 int86(0x33,&reg1,&reg1);
 *buttons=reg1.x.bx;
 *x=reg1.x.cx;
 *y=reg1.x.dx;
}
void GetMouse(int *button,long *number,int *x,int *y)
{
 reg1.x.ax=5;
 reg1.x.bx=*button;
 int86(0x33,&reg1,&reg1);
 *button=reg1.x.ax;
 *number=reg1.x.bx;
 *x=reg1.x.cx;
 *y=reg1.x.dx;
}
InitMouse - просто подключает мышу.
ShowMouse - отображает курсор.
HideMouse -убирает курсор (но временно. Если мышу после этого сдвинуть, курсор поялвляется снова. Возможно это недочет моей проги).
ReadMouse - считывает позицию курсора buttons отвечает за то, какая клавиша нажата.

На самом деле эту прогу я делал почти копипастом (все функции работы с мышой с3,14зженны), поэтому объяснить, что там и как мне было бы сложно. Попробуй их сам помучать, чтобы разобраться
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru