Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

17.11.2012, 14:06. Просмотров 556. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 14:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработка оконого интерфейса под финдовс (C++):

Разработка интерфейса программы автоматизации учета кадров предприятия - C++
Разработка интерфейса программы автоматизации облика кадров предприятия с использованием принципов ООП

Среда разработки под C++ с элементами графического интерфейса - C++
Нужно решении, как Delphi, только там пишется языком Паскаль, мне нужно решение под С++, чтобы можно было сделать интерфейс/кнопки и прочие...

Разработка под PSP - C++
Народ, есть у кого компилятор под PSP (*.PBP)? &quot;C&quot;-подобного языка... Нужно хотя бы выводить на нее консоль типа...

Разработка компилятора на C++ под код с++ - C++
Ребята мне нужно создать компилятор по виду как программа в которую пишешь с++ код и выбираешь ОС (Windows, MS-DOS, Linux и тд.), а сам...

Нужна разработка софта под игрушку. - C++
Собственно сабж. Нужно, чтобы софтинка могла выдрать из карты варкравта описание самой карты и сохранить в отдельной папке вместе с...

Разработка под какую платформу перспективнее - C++
Что на дальней дистанции перспективнее в плане разработки? там ПО под винду,анроид, иос.....какую платформу выбрать?

15
Kuzia domovenok
2031 / 1875 / 169
Регистрация: 25.03.2012
Сообщений: 6,456
Записей в блоге: 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;
}
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
17.11.2012, 14:24 #3
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
0
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
17.11.2012, 14:27 #4
стандарт C++ не предусматривает работы с GUI
любая высокоуровневая работа с GUI выходит за рамки стандарта, и за рамки языка, и является либо частью какой-либо IDE/ОС, либо отдельной кроссплатформенной/кросс-IDE библиотекой
по этому что бы
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
сделать оконный интерфейс
нужно изучить какую-то библиотеку(Qt, MFC и т.д.) или средствами апи
0
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:28  [ТС] #5
Цитата Сообщение от coloc Посмотреть сообщение
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
нет.. ну ты молождец.. я пишу что пробовал разрабатывать, но у меня не получилось!
0
Kuzia domovenok
2031 / 1875 / 169
Регистрация: 25.03.2012
Сообщений: 6,456
Записей в блоге: 1
17.11.2012, 14:29 #6
Цитата Сообщение от coloc Посмотреть сообщение
Visual studio или Builder вам в помощь. Можно с помощю WinApi рисовать но будет немного посложнее.
Не так чтобы сложно. Но да, отличается от консольных приложений и формошлёпства.
По-началу можно просто использовать заготовку оконного приложения с winapi, генерируемую студией.
Далее
хочешь - не углубляйся в изучение winapi и просто в нужное место вставь DrawText,
хочешь - рассматривай подробно что такое дескриптор приложения, окна, класс окна, все поля структуры оконного класса и.т.д. по-порядку.
0
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:31  [ТС] #7
Kuzia domovenok, а это куда девать то??
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 14:33 #8
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
Kuzia domovenok, а это куда девать то??
может всё-таки книжку почитать, не?
0
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:36  [ТС] #9
да я с удовольствием но с формами времени пока нет разбиратся.... курсовой проэкт написал.. а как оказалось еще надо и в виде оконного интерфейса сделать..хотя таковой мы не проходили=((
0
Kuzia domovenok
2031 / 1875 / 169
Регистрация: 25.03.2012
Сообщений: 6,456
Записей в блоге: 1
17.11.2012, 14:39 #10
если используешь MSVS
создай новый проект win32 Project, windowsApplication, (не консольное)...
получишь проект, в котором 99% этого кода уже создано.
Туда и вставляй.
0
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 14:57  [ТС] #11
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
если используешь MSVS
создай новый проект win32 Project, windowsApplication, (не консольное)...
получишь проект, в котором 99% этого кода уже создано.
Туда и вставляй.
Кузя ... начинает компилировать а потом пишет!!! не могу найти виндовз.ш капец...погуглин так и не понял где его взять тоо!
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 15:01 #12
попробуйте исправить
C++
1
#include "window.h"
на
C++
1
#include <window.h>
0
Zhenya Russkiy
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 59
17.11.2012, 15:06  [ТС] #13
Нееет , все равно как то не работает.... я гуглил там написано скачайтте этот хидер и залейте там куда то... но где же его скачасть то??
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
17.11.2012, 15:08 #14
Цитата Сообщение от Zhenya Russkiy Посмотреть сообщение
Нееет , все равно как то не работает.... я гуглил там написано скачайтте этот хидер и залейте там куда то... но где же его скачасть то??
вообще то он и так должен быть в студии...
и еще, не <window.h>, а <windows.h>
0
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 ==========
0
17.11.2012, 15:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 15:12
Привет! Вот еще темы с ответами:

Изменить программу под тему: Разработка алгоритмов содержащих функции - C++
#include &lt;string&gt; #include &lt;locale.h&gt; #include &lt;iostream&gt; using namespace std; int f(double r1, double r2, string type) { ...

Разработка web-приложения, приложения под ОС Android,Windows - C++
Доброго времени суток ребят, кто узрел эту тему прошу не проходите мимо, прошу вашей помощи.Мне требуется определиться с темой для...

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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