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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
#1

Разработка оконого интерфейса под финдовс - C++

17.11.2012, 14:06. Просмотров 522. Ответов 15
Метки нет (Все метки)

Ребята есть 2 программы для которых я не могу сделать оконный интерфейс , что бы была кнопка там показать решение или что нить в жтом роде=)) Подскажите или кто может сделайте=) :
Программа №1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  
  #include <iostream> 
  #include <cmath> 
   using namespace std ;                
     int main()
 {
                cout << "Plese press Enter to keep the program\n";
               
                float x=2.1; /*Обьявление x,y типа float*/
                float y=1.5;
     
                cout<<"Z="<< sin(x-1)/5*(log(pow(x,2)+2))+(2*x+1)/cos(x)-1.47*sqrt(3*x)+5*(pow(log10(x-1),2)) <<  endl;             
   
                cout<<"B="<<pow(x,2)*y+7.2<<endl;
 
                 system (“pause”);
}
И программа №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
    #include <iostream>
   #include <iomanip>
    using namespace std;
    int main ()
   {
                   const int n = 4, m = 5; 
                   float arr[n][m];             
                   float c = 5.2;              
    
   
 
                   for(int i = 0; i < n; i++)
                   for(int j = 0; j < m; j++)
                   arr[i][j]=-100+rand()%200;
                   for (int i = 0; i < n; i++)
   {
                   for (int j = 0; j < m; j++)
                   cout<<setw(6)<<arr[i][j]; 
    } 
    
                    for(int i = 0; i < n; i++)
                    for(int j = 0; j < m; j++)
                    arr[i][j]*=c;
 
                    for(int i = 0; i < n; i++)
                    arr[i][2] = 1;
                    cout<<endl<<endl;
         
                    for(int i = 0; i < n; i++){
                    for(int j = 0; j < m; j++)
                    cout<<setw(6)<<arr[i][j];
                     cout<<endl;
      }  
                    return 0;                      
                    system(“pause”);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 14:06     Разработка оконого интерфейса под финдовс
Посмотрите здесь:
C++ Разработка интерфейса программы автоматизации учета кадров предприятия
Среда разработки под C++ с элементами графического интерфейса C++
Разработка компилятора на C++ под код с++ C++
Разработка под какую платформу перспективнее C++
C++ Изменить программу под тему: Разработка алгоритмов содержащих функции
C++ Запуск JVM из под плюсов, запущенных под Wine!
Корень под корнем, который под корнем, который в свою очередь под корнем., под корнем C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
17.11.2012, 14:23     Разработка оконого интерфейса под финдовс #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
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
// window.cpp : Defines the entry point for the application.
//
 
#include "stdafx.h"
#include "window.h"
#include <cmath>
#include <cstdio>
#define MAX_LOADSTRING 100
 
// Global Variables:
HINSTANCE hInst;                                // current instance
TCHAR szTitle[MAX_LOADSTRING];                  // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING];            // the main window class name
 
// Forward declarations of functions included in this code module:
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);
char str1[100];
char str2[100];
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    float x=2.1; /*Обьявление x,y типа float*/
    float y=1.5;
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
    sprintf(str1, "Z=%lf", sin(x-1)/5*(log(pow(x,2)+2))+(2*x+1)/cos(x)-1.47*sqrt(3*x)+5*(pow(log10(x-1),2))); 
    sprintf(str2, "B=%lf", pow(x,2)*y+7.2); 
    // TODO: Place code here.
    MSG msg;
    HACCEL hAccelTable;
 
    // Initialize global strings
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_WINDOW, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);
 
    // Perform application initialization:
    if (!InitInstance (hInstance, nCmdShow))
    {
        return FALSE;
    }
 
    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WINDOW));
 
    // Main message loop:
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
 
    return (int) msg.wParam;
}
 
 
 
//
//  FUNCTION: MyRegisterClass()
//
//  PURPOSE: Registers the window class.
//
//  COMMENTS:
//
//    This function and its usage are only necessary if you want this code
//    to be compatible with Win32 systems prior to the 'RegisterClassEx'
//    function that was added to Windows 95. It is important to call this function
//    so that the application will get 'well formed' small icons associated
//    with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;
 
    wcex.cbSize = sizeof(WNDCLASSEX);
 
    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOW));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_WINDOW);
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
    return RegisterClassEx(&wcex);
}
 
//
//   FUNCTION: InitInstance(HINSTANCE, int)
//
//   PURPOSE: Saves instance handle and creates main window
//
//   COMMENTS:
//
//        In this function, we save the instance handle in a global variable and
//        create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;
 
   hInst = hInstance; // Store instance handle in our global variable
 
   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
 
   if (!hWnd)
   {
      return FALSE;
   }
 
   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);
 
   return TRUE;
}
 
//
//  FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  PURPOSE:  Processes messages for the main window.
//
//  WM_COMMAND  - process the application menu
//  WM_PAINT    - Paint the main window
//  WM_DESTROY  - post a quit message and return
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code here...
        RECT rect;
        GetClientRect (hWnd, &rect) ;
        SetTextColor(hdc, 0x00000000);
        SetBkMode(hdc,TRANSPARENT);
        rect.left=40;
        rect.top=10;
        DrawText( hdc, str1, -1, &rect, DT_SINGLELINE | DT_NOCLIP  ) ;
        rect.top=40;
        DrawText( hdc, str2, -1, &rect, DT_SINGLELINE | DT_NOCLIP  ) ;
        DeleteDC(hdc);  
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
 
// Message handler for about box.
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:
        return (INT_PTR)TRUE;
 
    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        }
        break;
    }
    return (INT_PTR)FALSE;
}
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
17.11.2012, 14:24     Разработка оконого интерфейса под финдовс #3
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
17.11.2012, 14:27     Разработка оконого интерфейса под финдовс #4
стандарт C++ не предусматривает работы с GUI
любая высокоуровневая работа с GUI выходит за рамки стандарта, и за рамки языка, и является либо частью какой-либо IDE/ОС, либо отдельной кроссплатформенной/кросс-IDE библиотекой
по этому что бы
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
сделать оконный интерфейс
нужно изучить какую-то библиотеку(Qt, MFC и т.д.) или средствами апи
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:28  [ТС]     Разработка оконого интерфейса под финдовс #5
Цитата Сообщение от coloc Посмотреть сообщение
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
нет.. ну ты молождец.. я пишу что пробовал разрабатывать, но у меня не получилось!
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
17.11.2012, 14:29     Разработка оконого интерфейса под финдовс #6
Цитата Сообщение от coloc Посмотреть сообщение
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
Не так чтобы сложно. Но да, отличается от консольных приложений и формошлёпства.
По-началу можно просто использовать заготовку оконного приложения с winapi, генерируемую студией.
Далее
хочешь - не углубляйся в изучение winapi и просто в нужное место вставь DrawText,
хочешь - рассматривай подробно что такое дескриптор приложения, окна, класс окна, все поля структуры оконного класса и.т.д. по-порядку.
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:31  [ТС]     Разработка оконого интерфейса под финдовс #7
Kuzia domovenok, а это куда девать то??
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 14:33     Разработка оконого интерфейса под финдовс #8
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
Kuzia domovenok, а это куда девать то??
может всё-таки книжку почитать, не?
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:36  [ТС]     Разработка оконого интерфейса под финдовс #9
да я с удовольствием но с формами времени пока нет разбиратся.... курсовой проэкт написал.. а как оказалось еще надо и в виде оконного интерфейса сделать..хотя таковой мы не проходили=((
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
17.11.2012, 14:39     Разработка оконого интерфейса под финдовс #10
если используешь MSVS
создай новый проект win32 Project, windowsApplication, (не консольное)...
получишь проект, в котором 99% этого кода уже создано.
Туда и вставляй.
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:57  [ТС]     Разработка оконого интерфейса под финдовс #11
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
если используешь MSVS
создай новый проект win32 Project, windowsApplication, (не консольное)...
получишь проект, в котором 99% этого кода уже создано.
Туда и вставляй.
Кузя ... начинает компилировать а потом пишет!!! не могу найти виндовз.ш капец...погуглин так и не понял где его взять тоо!
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 15:01     Разработка оконого интерфейса под финдовс #12
попробуйте исправить
C++
1
#include "window.h"
на
C++
1
#include <window.h>
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 15:06  [ТС]     Разработка оконого интерфейса под финдовс #13
Нееет , все равно как то не работает.... я гуглил там написано скачайтте этот хидер и залейте там куда то... но где же его скачасть то??
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 15:08     Разработка оконого интерфейса под финдовс #14
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
Нееет , все равно как то не работает.... я гуглил там написано скачайтте этот хидер и залейте там куда то... но где же его скачасть то??
вообще то он и так должен быть в студии...
и еще, не <window.h>, а <windows.h>
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 15:12  [ТС]     Разработка оконого интерфейса под финдовс #15
Результат компеляции меня огорчает... ребята кто скажет что делать???
1>------ Построение начато: проект: zsg, Конфигурация: Release Win32 ------
1> zsg.cpp
1>zsg.cpp(26): warning C4305: инициализация: усечение из "double" к "float"
1>zsg.cpp(30): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> D:\Visual Studio\VC\include\stdio.h(371): см. объявление "sprintf"
1>zsg.cpp(31): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> D:\Visual Studio\VC\include\stdio.h(371): см. объявление "sprintf"
1>zsg.cpp(37): error C2065: IDS_APP_TITLE: необъявленный идентификатор
1>zsg.cpp(38): error C2065: IDC_WINDOW: необъявленный идентификатор
1>zsg.cpp(47): error C2065: IDC_WINDOW: необъявленный идентификатор
1>zsg.cpp(88): error C2065: IDI_WINDOW: необъявленный идентификатор
1>zsg.cpp(91): error C2065: IDC_WINDOW: необъявленный идентификатор
1>zsg.cpp(93): error C2065: IDI_SMALL: необъявленный идентификатор
1>zsg.cpp(152): error C2065: IDM_ABOUT: необъявленный идентификатор
1>zsg.cpp(152): error C2051: значение выражения для варианта выбора не является константой
1>zsg.cpp(153): error C2065: IDD_ABOUTBOX: необъявленный идентификатор
1>zsg.cpp(155): error C2065: IDM_EXIT: необъявленный идентификатор
1>zsg.cpp(155): error C2051: значение выражения для варианта выбора не является константой
1>zsg.cpp(160): warning C4065: оператор switch содержит метку "default", но не содержит ни одной метки "case"
1>zsg.cpp(171): error C2664: DrawTextW: невозможно преобразовать параметр 2 из "char [100]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>zsg.cpp(173): error C2664: DrawTextW: невозможно преобразовать параметр 2 из "char [100]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>zsg.cpp(204): fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка "{" в "zsg.cpp(188)"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 17:42     Разработка оконого интерфейса под финдовс
Еще ссылки по теме:
C++ Построение интерфейса на VC++.
C++ Создание интерфейса c++
Передача интерфейса C++
Запустить проект под windows на c++ из-под javascript C++
C++ Создание пользовательского интерфейса

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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
17.11.2012, 17:42     Разработка оконого интерфейса под финдовс #16
я знаю, что дал код, на 95% сгенерированный студией.
В нём присутствуют объявления констант, соответствующих сгенерированным вместе с проектам ресурсам - иконке, менюшке и.т.д.
Поэтому и просил создать проект в мастере создания проектов, который должен был сгенерировать программу с аналогичным текстом.
Ну и по поводу
невозможно преобразовать параметр 2 из "char [100]" в "LPCWSTR"
В настройках проекта необходимо поставить "Use Multibyte character set"
Yandex
Объявления
17.11.2012, 17:42     Разработка оконого интерфейса под финдовс
Ответ Создать тему
Опции темы

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