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

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

17.11.2012, 14:06. Показов 1070. Ответов 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,536
Записей в блоге: 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,536
Записей в блоге: 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
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 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,536
Записей в блоге: 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
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 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
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 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,536
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru