Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59

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

17.11.2012, 14:06. Показов 1058. Ответов 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”);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2012, 14:06
Ответы с готовыми решениями:

разработка интерфейса
вот пример интерфейса - вопрос следующий - как такие интерфейсы делаются : на каждую кнопку - своя панель с элементами? или свой фрейм...

Разработка интерфейса
Чем (кроме скинов) можно пользоваться для разработки красивого интерфейса? Фантазией, умом само собой...

Разработка интерфейса на JS
Здравствуйте! Мне нужно написать такой интерфейс: Каждый блок - это массив, на этом блоке нужно будет из маленьких квадратиков...

15
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
17.11.2012, 14:23
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;
}
0
погромист
 Аватар для coloc
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
17.11.2012, 14:24
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
0
 Аватар для StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
17.11.2012, 14:27
стандарт C++ не предусматривает работы с GUI
любая высокоуровневая работа с GUI выходит за рамки стандарта, и за рамки языка, и является либо частью какой-либо IDE/ОС, либо отдельной кроссплатформенной/кросс-IDE библиотекой
по этому что бы
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
сделать оконный интерфейс
нужно изучить какую-то библиотеку(Qt, MFC и т.д.) или средствами апи
0
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:28  [ТС]
Цитата Сообщение от coloc Посмотреть сообщение
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
нет.. ну ты молождец.. я пишу что пробовал разрабатывать, но у меня не получилось!
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
17.11.2012, 14:29
Цитата Сообщение от coloc Посмотреть сообщение
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
Не так чтобы сложно. Но да, отличается от консольных приложений и формошлёпства.
По-началу можно просто использовать заготовку оконного приложения с winapi, генерируемую студией.
Далее
хочешь - не углубляйся в изучение winapi и просто в нужное место вставь DrawText,
хочешь - рассматривай подробно что такое дескриптор приложения, окна, класс окна, все поля структуры оконного класса и.т.д. по-порядку.
0
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:31  [ТС]
Kuzia domovenok, а это куда девать то??
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
17.11.2012, 14:33
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
Kuzia domovenok, а это куда девать то??
может всё-таки книжку почитать, не?
0
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:36  [ТС]
да я с удовольствием но с формами времени пока нет разбиратся.... курсовой проэкт написал.. а как оказалось еще надо и в виде оконного интерфейса сделать..хотя таковой мы не проходили=((
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
17.11.2012, 14:39
если используешь MSVS
создай новый проект win32 Project, windowsApplication, (не консольное)...
получишь проект, в котором 99% этого кода уже создано.
Туда и вставляй.
0
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:57  [ТС]
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
если используешь MSVS
создай новый проект win32 Project, windowsApplication, (не консольное)...
получишь проект, в котором 99% этого кода уже создано.
Туда и вставляй.
Кузя ... начинает компилировать а потом пишет!!! не могу найти виндовз.ш капец...погуглин так и не понял где его взять тоо!
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
17.11.2012, 15:01
попробуйте исправить
C++
1
#include "window.h"
на
C++
1
#include <window.h>
0
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 15:06  [ТС]
Нееет , все равно как то не работает.... я гуглил там написано скачайтте этот хидер и залейте там куда то... но где же его скачасть то??
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
17.11.2012, 15:08
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
Нееет , все равно как то не работает.... я гуглил там написано скачайтте этот хидер и залейте там куда то... но где же его скачасть то??
вообще то он и так должен быть в студии...
и еще, не <window.h>, а <windows.h>
0
 Аватар для Zhenya Russkiy
0 / 0 / 1
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 15:12  [ТС]
Результат компеляции меня огорчает... ребята кто скажет что делать???
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 ==========
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
17.11.2012, 17:42
я знаю, что дал код, на 95% сгенерированный студией.
В нём присутствуют объявления констант, соответствующих сгенерированным вместе с проектам ресурсам - иконке, менюшке и.т.д.
Поэтому и просил создать проект в мастере создания проектов, который должен был сгенерировать программу с аналогичным текстом.
Ну и по поводу
невозможно преобразовать параметр 2 из "char [100]" в "LPCWSTR"
В настройках проекта необходимо поставить "Use Multibyte character set"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2012, 17:42
Помогаю со студенческими работами здесь

Разработка интерфейса
Здравствуйте. У меня последний учебный год по специальности программист и мы уже начинаем работать над дипломом. Моя задумка была создать,...

Разработка пользовательского интерфейса
Подскажите, пожалуйста, как можно разработать интерфейс, пользовательский интерфейс, удобный для ввода и вывода информации. Пример: Дан...

Комбобокс (разработка интерфейса)
разрабатываю интерфейс программы в form1 нажимаю кнопочку , высвечивается form2 в котором есть несколько combobox , spinedit, edit у...

Что перспективнее - разработка игр под мобильные платформы или разработка embedded-систем
Доброго времени суток. Скажите пожалуйста, как вы думаете, что перспективней в будущем - разработка игр под мобильные платформы (Android,...

Разработка кроссплатформенного графического интерфейса?
Вопрос не много не в тот форум, но более подходящего не нашел. Как разрабатывается гуи на примере вот этого редактора...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru