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

Первый старт. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как найти сумму всех цифр числа? http://www.cyberforum.ru/cpp/thread317966.html
В частности нужна реализация проверки деления числа на 3, тоесть дано число 123456789 = 1+2+3+4+5+6+7+8+9=45, 45/3=15 => число составное. Или с помощью каких функции можно составить это
C++ Процесс не закрывается Проблема на 82ой строчке, второй параметр функции GetMessage(). Так как у меня создается одно окно второй параметр пишу 0. Но если будет несколько окон, то второй параметр должен быть идентефикатор окна. В моем случае это глобальный параметр MainWindowHandle. Если я его ставлю вместо нуля, запускаю программу, завершаю программу, она остается висеть в процессах(видно в Диспетчере задач). ... http://www.cyberforum.ru/cpp/thread317596.html
C++ Где можно скачать C++?
Мне очень интересно где можно скачать c++.Недавно захотелось заняться программированием.Нашёл в интернете кучу самоучителей а сам язык никак не могу найти.Помогите пожалуйста!!!!!!!!!!!!Дайте ссылочку!!!
C++/CLI WinForms Структура с именем "Train", сортировка
Добрый день ! у меня возникла проблема с написанием функции сортировки для консольного приложения . может быть кто нибудь подскажет? условие: Дана запись с именем TRAIN, содержащая следующие поля: · Название пункта назначения; · Номер поезда; · Время отправления. Написать программу, которая выполняет следующие действия: · Ввод с клавиатуры данных из 6 элементов типа TRAIN, и...
C++ libcurl: закачка файла http://www.cyberforum.ru/cpp/thread317250.html
Файл скачивается, но его размер 12243 байт, хотя должен быть 12182 байт, и так с любым файлом, получается чуть большего размера, что не так? #include <iostream> #include <curl/curl.h> #include <fstream> static size_t Writer(char *data, size_t size, size_t nmemb, std::ofstream* pBuf){ size_t result = 0; if(pBuf != NULL){ pBuf->write(data, size*nmemb); result =...
C++ Как перекомпилить Win32 dll -> Win64 Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64 подробнее

Показать сообщение отдельно
Dzhekson6000
34 / 32 / 1
Регистрация: 25.11.2010
Сообщений: 387
30.06.2011, 20:29  [ТС]     Первый старт.
скачал с сайта мелкосовта курс лекций Семёнова.
Там есть такой код.
C++
1
2
3
LPD3DXMESH cylinder;
D3DXCreateCylinder(device, 0.2f, 0.2f, 1, 16, 3, &cylinder, NULL);
cylinder->DrawSubset(0);
он создаёт цилиндер.
я вставил в свой код ну неполучается.
Вот что пишет.
Ошибка 3 error C2065: cylinder: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 99 1 1
Ошибка 5 error C2065: cylinder: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 100 1 1
Ошибка 7 error C2065: cylinder: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 101 1 1
Ошибка 4 error C2065: device: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 100 1 1
Ошибка 1 error C2065: LPD3DXMESH: необъявленный идентификатор e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 99 1 1
Ошибка 2 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "cylinder" e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 99 1 1
Ошибка 8 error C2227: выражение слева от "->DrawSubset" должно указывать на тип класса, структуры или объединения либо на универсальный тип e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 101 1 1
Ошибка 6 error C3861: D3DXCreateCylinder: идентификатор не найден e:\documents and settings\user\мои документы\visual studio 2010\projects\1\1\lesson1.cpp 100 1 1

Вот весь код.

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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <d3d9.h>
#include "mmsystem.h"
#pragma warning( disable : 4996 )
#include <strsafe.h>
#pragma warning( default : 4996 )
#include "windows.h"
 
// принемаем сообщение обратно, должна быть во всех программа для Win32 (???)
LRESULT __stdcall WndProc(HWND, UINT, WPARAM, LPARAM);
 
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                      LPSTR lpCmdLine, int nCmdShow)
{
  WNDCLASS wc;// класс окна
  MSG msg; // (???)
 
  // Настройка класа окна.
  wc.style = CS_OWNDC;                        // стиль для окна..... CS_NOCLOSE
  wc.lpfnWndProc = WndProc;                   // указатель на обработчик сообщений.
  wc.cbClsExtra = 0;                          // что то связанное с байтами (???)
  wc.cbWndExtra = 0;                          // но во всех примерах нужна использовать 0.
  wc.hbrBackground = (HBRUSH)(6);             // цвет фона. необезательное значение.
  wc.hCursor = LoadCursor(NULL, IDC_ARROW);   // задаёт курсор
  wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // значёк окна.
  wc.hInstance = hInstance;                   // дискриптов экзамплятора оконных процеддур
  wc.lpszClassName = "class";                 // Имя класса.
  wc.lpszMenuName = NULL;                     // имя ресурса меню
 
  // Регистрация класса окна
  RegisterClass(&wc);                         // RegisterClass - это функция. &wc - это указатель на класс окна.
 
  // создание окна.
  HWND hWnd = CreateWindow(
      "class",                                // Имя класса.
      "Инициализация Direct3D",               // Имя окна.
       WS_OVERLAPPEDWINDOW,                   // Стиль окна
       0,                                     // Позиция окна по X
       0,                                     // Позиция окна по Y
       500,                                   // Ширина окна.
       500,                                   // Высота окна.
       NULL,                                  // Указатель на радительское окно.
       NULL,                                  // Дискриптор связанного с окном меню.
       hInstance,                             // Дескриптор экземпляра модуля. Получается функцией WinMain
       NULL                                   // Используется для указания дополннительных данных создаваемова окна
       );
 
  //Отображение окна (???)
  ShowWindow(hWnd,nCmdShow);
 
 
 
  UpdateWindow(hWnd);
 
 
  IDirect3D9 * d3d = NULL;                     // объект Direct3D
  IDirect3DDevice9 * dev = NULL;               // устройство (видеокарта)
 
  d3d = Direct3DCreate9(D3D_SDK_VERSION);
 
 
  // Создание устройства рендера.
  D3DPRESENT_PARAMETERS pp;
  ZeroMemory(&pp,sizeof(pp));
 
  pp.BackBufferWidth = 500;                  // Ширина поверхности вторичного буфера в пикселах.
  pp.BackBufferHeight = 500;                 // Высота поверхности вторичного буфера в пикселах.
  pp.BackBufferFormat = D3DFMT_X8R8G8B8;     // Формат пикселей во вторичном буфере.
  pp.BackBufferCount = 1;                    // Количество используемых вторичных буферов.
  pp.SwapEffect = D3DSWAPEFFECT_DISCARD;
  pp.hDeviceWindow = hWnd;
  pp.Windowed = true;                        // Оконно или растянуто.
 
 
 
  d3d->CreateDevice(
      D3DADAPTER_DEFAULT,
      D3DDEVTYPE_HAL,                         // Тип устройства. Видеокарта или процессор.
      hWnd,                                   // Главное окно приложение.
      D3DCREATE_SOFTWARE_VERTEXPROCESSING,    // Способ обработки.
      &pp, 
      &dev);
 
 
 
while (1)
  {
    if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
      if (msg.message == WM_QUIT)
        break;
      TranslateMessage(&msg);
      DispatchMessage(&msg);
    }
 
    dev->Clear(0,NULL,D3DCLEAR_TARGET,
               D3DCOLOR_XRGB(100,0,0),1.0f,0);
 
    dev->BeginScene();
    LPD3DXMESH cylinder;
    D3DXCreateCylinder(device, 0.2f, 0.2f, 1, 16, 3, &cylinder, NULL);
    cylinder->DrawSubset(0);
    dev->EndScene();
 
    dev->Present(NULL,NULL,NULL,NULL);
    }
 
  if (dev != NULL)
    dev->Release();
  if (d3d != NULL)
    d3d->Release();
  return 0;
}
 
 
 
 
 
 
 
 
LRESULT __stdcall WndProc (HWND hWnd, UINT msg,
                           WPARAM wParam, LPARAM lParam)
{
  switch (msg)
  {
  case WM_DESTROY:
    PostQuitMessage(0);
    return 0;
  }
  return DefWindowProc(hWnd,msg,wParam,lParam);
}
 
Текущее время: 08:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru