Сделал прогу, которая рисует график. К ней надо приделать ввод данных, так чтобы данные вводились во время работы проги, желательно в другом окне или меню, или вообще хоть как-то.
Код:
#include <windows.h>
#include <iostream.h>
#include <math.h>
#define Pi 3.14159265
//---------------------------------------------------------------------------
double shag=1;
double xx=2;
double x1=-5;
double x2=5;
double x3=x2-x1;
double kolshag=x3/shag;
int mnogitel=1;
double udef;
bool flag=true;
char charsym;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//îñíîâíàÿ ÷àñòü ïðîãðàììû
//÷àñòü 1 - îêíî
//---------------------------------------------------------------------------
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
void DrawDiagram(HWND hWnd, HDC hdc, int offset);
//---------------------------------------------------------------------------
TCHAR szTitle[] = "×åðòèëêà";
TCHAR szWindowClass[] = "chert";
//---------------------------------------------------------------------------
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//---------------------------------------------------------------------------
HWND hWnd;
MSG msg;
WNDCLASS wcex;
//---------------------------------------------------------------------------
//wcex.cbSize = sizeof(WNDCLASS);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WindowProcedure;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = szWindowClass;
//wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
RegisterClass ( &wcex );
//---------------------------------------------------------------------------
//hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
hWnd = CreateWindow(
szWindowClass,
szTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
// MENUITEMINFO,
hInstance,
NULL);
if(!hWnd)
{
MessageBox(hWnd, "Îøèáêà ñîçäàíèÿ îêíà", "Îøèáêà", IDI_ERROR || MB_OK);
return 1;
}
ShowWindow( hWnd , nCmdShow );
UpdateWindow( hWnd );
//---------------------------------------------------------------------------
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//---------------------------------------------------------------------------
LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rect;
static int offset = 0;
SetTimer(hWnd, 1, 3000, NULL);
switch (message)
{
case WM_TIMER:
GetClientRect(hWnd, &rect);
InvalidateRect(hWnd, &rect, true);
UpdateWindow(hWnd);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
DrawDiagram(hWnd, hdc, offset);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
//---------------------------------------------------------------------------
//÷àñòü2
//---------------------------------------------------------------------------
void DrawDiagram(HWND hWnd, HDC hdc, int offset)
{
}---
Сильно не ругать, всего чуток за си сижу)
Нужен ввод shag, x1, x2, xx
Скажите хоть чем это делать можно и где Нужную инфу легко найти, сегодня её надо бы доделать.
PS:как кодировку менять тут с вин7?