Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2020, 01:51   #1
incl_02
Пользователь
 
Регистрация: 28.02.2020
Сообщений: 11
По умолчанию Графика в c++

Помогите пожалуйста.
Программа должна строить график функции.
Изображения
Тип файла: png Screenshot_1.png (7.9 Кб, 14 просмотров)
incl_02 вне форума Ответить с цитированием
Старый 28.02.2020, 01:55   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Жесть, не повезло Вам.
Попробуйте перефразировать вопрос в новой теме.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 28.02.2020, 10:54   #3
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Код:
#include <iostream>
#include <windows.h> 
#include <windowsx.h>                   
#include <math.h>
 
HINSTANCE hInstance; HINSTANCE hPrevInst;
LPSTR lpszArgs; int nWinMode;
LRESULT CALLBACK WindowFunc(HWND, UINT, WPARAM, LPARAM);
int center_x = 200;
int center_y = 200;
int mastab_x = 40;
int mastab_y = 40;
 
int  WINAPI WinMain(  HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszArgs, int nWinMode) 
{
char szWinName[ ]="MyWindow";char szTitle[ ]="Программа"; MSG msg; WNDCLASS wc; ZeroMemory(&wc,sizeof(wc));wc.hInstance= hInstance;wc.lpszClassName=szWinName;wc.lpfnWndProc=WindowFunc;wc.style=0;wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);wc.hCursor=LoadCursor(NULL,IDC_ARROW);wc.hbrBackground=GetStockBrush(WHITE_BRUSH);wc.lpszMenuName=NULL;wc.cbClsExtra=0;wc.cbWndExtra=0;RegisterClass (&wc);HWND hwnd = CreateWindow (szWinName,szTitle,WS_OVERLAPPEDWINDOW,100,100,500,500,HWND_DESKTOP,NULL,hInstance,NULL); ShowWindow (hwnd, SW_SHOWNORMAL); while(GetMessage(&msg,NULL,0,0)) DispatchMessage(&msg); return 0; }

 
void DrawCoordinateSystem(HDC hdc, HWND hwnd)
{
  int i,j, k, l ;
 
  TextOut(hdc,center_x, center_y, "0", 1);
 
  
  for(i = 0; i <= 10*mastab_x; i++)
  {
   SetPixel(hdc, center_x + i, center_y, RGB(0,0,0));
   SetPixel(hdc, center_x - i, center_y, RGB(0,0,0));
  }
  TextOut(hdc,center_x + i, center_y-5, "X", 1);
 
  for(k = 0; k <= 10*mastab_y; k++)
  {
   SetPixel(hdc, center_x, center_y + k, RGB(0,0,0));
   SetPixel(hdc, center_x, center_y - k, RGB(0,0,0));
  }
  TextOut(hdc,center_x - 5, center_y - k + 5, "Y", 1);
 
 
  char buf[5];
 
  
  for(l=0;l<10;l++)
  {
   sprintf(buf, "%d", l+1);
   TextOut(hdc,center_x+3, center_y - mastab_y * ( l + 1 ), buf, 2);
   sprintf(buf, "%d", -(l+1));
   TextOut(hdc,center_x+3, center_y + mastab_y * ( l + 1 ), buf, 2);
 
   for(i = 0; i <= 10*mastab_x ; i++)
   {
    SetPixel(hdc, center_x + i, center_y + mastab_y * ( l + 1 ), RGB(64,128,128));
    SetPixel(hdc, center_x - i, center_y + mastab_y * ( l + 1 ), RGB(64,128,128));
    SetPixel(hdc, center_x + i, center_y - mastab_y * ( l + 1 ), RGB(64,128,128));
    SetPixel(hdc, center_x - i, center_y - mastab_y * ( l + 1 ), RGB(64,128,128));
   }
  }
 
  for(l=0;l<10;l++)
  {
   sprintf(buf, "%d", l+1);
   TextOut(hdc,center_x + mastab_x * ( l + 1 ), center_y+3 , buf, 2);
   sprintf(buf, "%d", -(l+1));
   TextOut(hdc, center_x - mastab_x * ( l + 1 ), center_y+3 , buf, 2);
 
   for(i = 0; i <= 10*mastab_y ; i++)
   {
    SetPixel(hdc, center_x + mastab_x * ( l + 1 ), center_y + i, RGB(64,128,128));
    SetPixel(hdc, center_x + mastab_x * ( l + 1 ), center_y - i, RGB(64,128,128));
    SetPixel(hdc, center_x - mastab_x * ( l + 1 ), center_y + i, RGB(64,128,128));
    SetPixel(hdc, center_x - mastab_x * ( l + 1 ), center_y - i, RGB(64,128,128));
   }
  }
}

void DrawGraph(HDC hdc, HWND hwnd)
{
 float x, y;
 for(x = -1; x < 1; x+=0.01)
 {
   y = cos(x*x+1)- abs(sin(2*x)-5.76);
   SetPixel(hdc, center_x + mastab_x * x, center_y - mastab_y * y, RGB(255,0,0));
 }
}
 

LRESULT CALLBACK WindowFunc(HWND hwnd, UINT message,WPARAM wParam, LPARAM lParam)  {
switch(message) {
case WM_DESTROY:  PostQuitMessage (0); break;
case WM_PAINT: { HDC hdc = GetDC(hwnd);  DrawCoordinateSystem(hdc, hwnd); DrawGraph(hdc, hwnd); ReleaseDC(hwnd, hdc); } break;
default: return DefWindowProc (hwnd,message,wParam,lParam);
} 
return 0;
}
 
int main(void){ WinMain( hInstance,  hPrevInst, lpszArgs,  nWinMode); }
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое изменение графика при переносе данных, формулы и графика на другой лист REztor Microsoft Office Excel 0 01.06.2013 18:01
Графика plm Общие вопросы по программированию, компьютерный форум 0 18.01.2011 19:07
Графика в С++! Straiker Помощь студентам 0 21.12.2009 11:22
графика MariyaVo Помощь студентам 3 06.04.2009 19:37