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

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
#1

Линейная диаграмма (Прошу Помощи) - C++ WinAPI

17.05.2012, 15:45. Просмотров 2044. Ответов 24
Метки нет (Все метки)

Уважаемые, товарищи! Здраствуйте! Прошу помощи у Вас. Требуется создать линейную диаграмму, у меня возникли трудности, никак не получается ее нарисовать в системе координат, а так же сделать подписи. Требуется самая простая диаграмма, но с подписями. Мои наработки ниже. Прошу откликнуться на мою просьбу. Заранее Спасибо!
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
    
#include <windows.h>
#include <string.h>
#include <fstream>
#include <stdio.h>
#include <iostream>
 
int numData;
int res;
FILE* pFile;
int str[1];
float * buffer;
float * buffer2;
int i[10]={365, 430, 495, 560, 625, 690,755, 820, 885, 950};
int j;
 
 
 
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
TCHAR szProgName[] = TEXT("LineDiag");
 
int WINAPI WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow)
{
WNDCLASS wndClass;
HWND hWnd;
MSG message;
 
wndClass.lpszClassName = szProgName;
wndClass.hInstance = hCurrentInst;
wndClass.lpfnWndProc = WndProc;
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.lpszMenuName = 0;
wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
 
if (!RegisterClass(&wndClass))
return 0;
 
hWnd = CreateWindow(
szProgName,
TEXT("LineDiag"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hCurrentInst,
NULL
);
 
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
 
while (GetMessage(&message, NULL, 0, 0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
 
return message.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT ps;
RECT rc;
 
switch (nMessage)
{
case WM_PAINT:
hDC = BeginPaint(hWnd, &ps);
MoveToEx (hDC, 300, 650, NULL);
LineTo (hDC, 300, 100);
LineTo (hDC, 295, 115);
MoveToEx (hDC,300, 100, NULL);
LineTo (hDC,305, 115);
MoveToEx (hDC, 300, 650, NULL);
LineTo (hDC, 950, 650);
LineTo (hDC, 935, 645);
MoveToEx (hDC, 950, 650, NULL);
LineTo (hDC, 935, 655);
MoveToEx (hDC, 300, 650, NULL);
pFile = fopen ("input.txt","r");
for (int i=0; i<1000; i++)
{
res=fscanf(pFile,"%f %f",&str[10]);
if (res>0) numData++;
}
rewind (pFile);
buffer = (float*) malloc (sizeof(float)*numData);
buffer2 = (float*) malloc (sizeof(float)*numData);
for (int i=0; i<numData; i++)
{
fscanf(pFile,"%f %f", &buffer[i], &buffer2[i]);
}
for (int j=0; j<numData; j++)
{
    fscanf(pFile, "%f %f", &buffer[j], &buffer2[j]);
}
fclose (pFile);
//HPEN NewPen=CreatePen (PS_SOLID, 2, RGB(255,0,0)); 
//SelectObject
 
for (int j=0; j<numData; j++)
LineTo(hDC,   i[j], buffer[j]);
 
EndPaint(hWnd, &ps);
 
break;
 
case WM_DESTROY:
PostQuitMessage(0);
break;
 
default:
return DefWindowProc(hWnd, nMessage, wParam, lParam);
}
 
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 15:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Линейная диаграмма (Прошу Помощи) (C++ WinAPI):

тема: C++ Visual Studio 2013 ПОМОЩИ ПРОШУ! А то уже сломаю голову скоро! - C++
тема: C++ Visual Studio 2013 ПОМОЩИ ПРОШУ! А то уже сломаю голову скоро! Всем Здравствуйте и спасибо, что откликнулись на мои крики о...

Линейная программа - C++
Всем привет! прошу помощи: Целой переменной S присвоить сумму цифр трехзначного целого числа k.

Абрамов № 61, 85, 334(а), 374, 67(б,а). Прошу помочь, мне нужны эти задания для зачета прошу помощи. - Turbo Pascal
Прошу помощи, скачайте файл Абрамов (пожалуйста), номер 61, 85, 334(а), 374, 67(а,б). Помочите чем сможете пожалуйста

Линейная диаграмма - Pascal ABC
Ребят, возникли трудности с созданием линейной горизонтальной диаграммы в Pascal ABC. Помогите доделать код. Вот, что удалось сделать.. ...

Линейная диаграмма жизни животных - Pascal
Добрый вечер форумчане, сестра учится в школе и надо сделать задачу, сам не силен, прошу помощи, заранее благодарен &quot;По данным таблицы...

Прошу помощи - Bash
Помогите пожалуйста... необходимо написать прогу, не понимаю как Создайте 2 сценария (top_ten_on_cpu и top_ten_on_mem). Эти сценарии...

24
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24794 / 16468 / 5076
Регистрация: 22.10.2011
Сообщений: 29,089
Записей в блоге: 5
17.05.2012, 16:35 #2
Не знаю, что у тебя хранится в файле input.txt, но вот такая функция:

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
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam)
{
    HDC hDC;
    PAINTSTRUCT ps;
    RECT rc;
 
    switch (nMessage)
    {
        case WM_PAINT:
            hDC = BeginPaint(hWnd, &ps);
            MoveToEx (hDC, 300, 650, NULL);
            LineTo (hDC, 300, 100);
            LineTo (hDC, 295, 115);
            MoveToEx (hDC,300, 100, NULL);
            LineTo (hDC,305, 115);
            MoveToEx (hDC, 300, 650, NULL);
            LineTo (hDC, 950, 650);
            LineTo (hDC, 935, 645);
            MoveToEx (hDC, 950, 650, NULL);
            LineTo (hDC, 935, 655);
            MoveToEx (hDC, 300, 650, NULL);
 
            for (int j=0; j<numData; j++) // а теперь просто проходим по всем точкам и рисуем ...
            {
                char s[10] = {0};
                LineTo(hDC,   ii[j], 650 - (int)(0.5 * buffer[j])); // линию,
                sprintf(s, "%0.0f", buffer[j]);
                rc = {ii[j] - 20, 650, ii[j] + 20, 670};
                DrawText (hDC, s, -1, &rc,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER); // и подпись...
            }
            EndPaint(hWnd, &ps);
            break;
 
        case WM_CREATE: // не надо это делать в функции рисования, можно сделать один раз тут
            pFile = fopen ("input.txt","r");
            for (int i=0; i<1000; i++)
            {
                res=fscanf(pFile,"%f %f",&str1, &str2);
                if (res>0) numData++;
            }
            rewind (pFile);
            buffer = (float*) malloc (sizeof(float)*numData);
            buffer2 = (float*) malloc (sizeof(float)*numData);
            for (int i=0; i<numData; i++)
            {
                fscanf(pFile,"%f %f", &buffer[i], &buffer2[i]);
            }
            for (int j=0; j<numData; j++)
            {
                fscanf(pFile, "%f %f", &buffer[j], &buffer2[j]);
            }
            fclose (pFile);
            break;
 
        case WM_DESTROY: // и удалить выделенную память тут
            free(buffer);
            free(buffer2);
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, nMessage, wParam, lParam);
    }
    return 0;
}
Выглядит - вот так (красоту наводи сам, цвета добавь, шрифт поменяй) :
1
Миниатюры
Линейная диаграмма (Прошу Помощи)  
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
17.05.2012, 16:58  [ТС] #3
У меня в Файле input.txt хранились данные в виде:
500 600
550 700
600 725
Каков должен быть файл для Вашей программы?
Хотелось бы полный текст Вашего творения, возникли некоторые проблемы с объявлениями. Знания нулевые (
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24794 / 16468 / 5076
Регистрация: 22.10.2011
Сообщений: 29,089
Записей в блоге: 5
17.05.2012, 17:07 #4
Цитата Сообщение от V.I.P Посмотреть сообщение
Хотелось бы полный текст Вашего творения
Вот полный текст, вместе в файлом проекта и txt-файлом (собиралось в Code::Blocks)
1
Вложения
Тип файла: zip arch.zip (2.1 Кб, 16 просмотров)
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
17.05.2012, 17:10  [ТС] #5
С объявлениями разобрался, Спасибо!
Но при отладке возникает следующее:
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24794 / 16468 / 5076
Регистрация: 22.10.2011
Сообщений: 29,089
Записей в блоге: 5
17.05.2012, 17:16 #6
Без понятия. У меня это выглядит так (см. аттач)

В крайнем случае можешь задать полное имя файла, если программа его не находит...
1
Миниатюры
Линейная диаграмма (Прошу Помощи)  
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
17.05.2012, 17:21  [ТС] #7
Эхм, за что отвечает файл t_strage.cbp?
strange файлов у меня в директории нет
0
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
17.05.2012, 17:29  [ТС] #8
Показывает ошибку в тексте "Требуется Выражение":
Каким образом избавиться?
Компилирую в MS Visual Studio 2010
0
Миниатюры
Линейная диаграмма (Прошу Помощи)  
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24794 / 16468 / 5076
Регистрация: 22.10.2011
Сообщений: 29,089
Записей в блоге: 5
17.05.2012, 17:44 #9
Цитата Сообщение от V.I.P Посмотреть сообщение
Эхм, за что отвечает файл t_strage.cbp?
cbp - это CodeBlocksProject, если у тебя MSVC - он тебе не нужен.
Цитата Сообщение от V.I.P Посмотреть сообщение
Показывает ошибку в тексте "Требуется Выражение":
Каким образом избавиться?
Я всегда знал, что VC не совсем адекватна

Заполни структуру так:
C++
1
SetRect(&rc, ii[j] - 20, 650, ii[j] + 20, 670);
- должно работать...
1
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
18.05.2012, 15:45  [ТС] #10
Низкий поклон Вам, после изменения этой строчки ошибок нет, все замечательно работает!
Большое Спасибо за уделенное внимание и время!

Добавлено через 21 час 22 минуты
Возникла еще одна проблема, а именно: нужно пронумеровать не только ось X для значений из файла, но и ось Y и в начало координат добавить 0.
Пытался, но не получилось. Подскажите, в чем проблема? Заранее Спасибо!
Моя попытка закоментирована.
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
#include <windows.h>
#include <string.h>
#include <fstream>
#include <stdio.h>
#include <iostream>
 
int numData;
int res;
FILE* pFile;
int str[1];
float * buffer;
float * buffer2;
int ii[10]={365, 430, 495, 560, 625, 690,755, 820, 885, 950};
int j;
int i;
 
float str1, str2;
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
TCHAR szProgName[] = TEXT("LineDiag");
 
int WINAPI WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow)
{
WNDCLASS wndClass;
HWND hWnd;
MSG message;
 
wndClass.lpszClassName = szProgName;
wndClass.hInstance = hCurrentInst;
wndClass.lpfnWndProc = WndProc;
wndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndClass.lpszMenuName = 0;
wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
 
if (!RegisterClass(&wndClass))
return 0;
 
hWnd = CreateWindow(
szProgName,
TEXT("LineDiag"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hCurrentInst,
NULL
);
 
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
 
while (GetMessage(&message, NULL, 0, 0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
 
return message.wParam;
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam)
{
    HDC hDC;
    PAINTSTRUCT ps;
    RECT rc;
    RECT rr;
    HPEN NewPen;
    HPEN OldPen;
 
    switch (nMessage)
    {
        case WM_PAINT:
            hDC = BeginPaint(hWnd, &ps);
            MoveToEx (hDC, 300, 650, NULL);
            LineTo (hDC, 300, 100);
            LineTo (hDC, 295, 115);
            MoveToEx (hDC,300, 100, NULL);
            LineTo (hDC,305, 115);
            MoveToEx (hDC, 300, 650, NULL);
            LineTo (hDC, 950, 650);
            LineTo (hDC, 935, 645);
            MoveToEx (hDC, 950, 650, NULL);
            LineTo (hDC, 935, 655);
            MoveToEx (hDC, 300, 650, NULL);
            NewPen = CreatePen (PS_SOLID, 2, RGB(255, 0, 0));
            SelectObject(hDC, NewPen);
            for (int j=0; j<numData; j++)
            {
                char s[10] = {0};
                LineTo(hDC,   ii[j], 650 - (int)(0.5 * buffer[j]));
                sprintf(s, "%0.0f", buffer[j]);
                SetRect(&rc, ii[j] - 20, 650, ii[j] + 20, 670);
 
                DrawText (hDC, s, -1, &rc,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER);
            }
            /*for (int i=0; i<numData; i++)
            {
                char ss[10] = {0};
                sprintf(ss, "%0.0f", buffer2[i]);
                SetRect(&rr, 80, i[j] - 20 , 100, i[j] +20 ); //// Не знаю, как задать координаты 
 
                DrawText (hDC, ss, -1, &rr,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER);
            }*/
            DeleteObject (NewPen);
            ReleaseDC (hWnd, hDC);
            EndPaint(hWnd, &ps);
            break;
 
        case WM_CREATE:
            pFile = fopen ("input.txt","r");
            for (int i=0; i<1000; i++)
            {
                res=fscanf(pFile,"%f %f",&str1, &str2);
                if (res>0) numData++;
            }
            rewind (pFile);
            buffer = (float*) malloc (sizeof(float)*numData);
            buffer2 = (float*) malloc (sizeof(float)*numData);
            for (int i=0; i<numData; i++)
            {
                fscanf(pFile,"%f %f", &buffer[i], &buffer2[i]);
            }
            for (int j=0; j<numData; j++)
            {
                fscanf(pFile, "%f %f", &buffer[j], &buffer2[j]);
            }
            fclose (pFile);
            break;
 
        case WM_DESTROY:
            free(buffer);
            free(buffer2);
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, nMessage, wParam, lParam);
    }
    return 0;
}
Добавлено через 30 минут
Исправил строку на:
SetRect(&rc, 80, i - 20 , 100, i +20 );
значения появляются, но они где то далеко наверху, а не сбоку графика, как нужно =(
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24794 / 16468 / 5076
Регистрация: 22.10.2011
Сообщений: 29,089
Записей в блоге: 5
18.05.2012, 15:49 #11
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
        case WM_PAINT:
            hDC = BeginPaint(hWnd, &ps);
            MoveToEx (hDC, 300, 650, NULL);
            LineTo (hDC, 300, 100);
            LineTo (hDC, 295, 115);
            MoveToEx (hDC,300, 100, NULL);
            LineTo (hDC,305, 115);
            MoveToEx (hDC, 300, 650, NULL);
            LineTo (hDC, 950, 650);
            LineTo (hDC, 935, 645);
            MoveToEx (hDC, 950, 650, NULL);
            LineTo (hDC, 935, 655);
            MoveToEx (hDC, 300, 650, NULL);
            NewPen = CreatePen (PS_SOLID, 2, RGB(255, 0, 0));
            SelectObject(hDC, NewPen);
 
            SetRect(&rc, 280, 640, 300, 660); // Ноль в начале координат
            DrawText (hDC, "0", -1, &rc,
                      DT_SINGLELINE | DT_CENTER | DT_VCENTER);
 
            for (int j=0; j<numData; j++)
            {
                char s[10] = {0};
                int pnt_y = 650 - (int)(0.5 * buffer[j]);
                LineTo(hDC,   ii[j], pnt_y);
 
                sprintf(s, "%0.0f", buffer[j]);
                SetRect(&rc, ii[j] - 20, 650, ii[j] + 20, 670); // Метки на оси OX
                DrawText (hDC, s, -1, &rc,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER);
 
                sprintf(s, "%0.0f", buffer[j]);
                SetRect(&rc, 250, pnt_y - 20, 290, pnt_y + 20); // Те же самые метки на оси OY
                DrawText (hDC, s, -1, &rc,
                          DT_SINGLELINE | DT_CENTER | DT_VCENTER);
            }
            DeleteObject (NewPen);
            ReleaseDC (hWnd, hDC);
            EndPaint(hWnd, &ps);
            break;
1
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
18.05.2012, 16:11  [ТС] #12
Похоже я перегрелся, 80 и 100 для фиксированных иксов, когда ось начинается только на 300. Вашу Идею понял.
Большое Спасибо Вам!
0
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
26.05.2012, 21:35  [ТС] #13
Требуется добавить меню, а именно команды Файл -> Открыть и Файл -> Выход. Должен открывать txt файлы и выполнять чтение с них. Подскажите как реализовать?
Заранее Спасибо!
0
V.I.P
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 22
28.05.2012, 10:58  [ТС] #14
Обязательно ли добавлять файл ресурсов?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24794 / 16468 / 5076
Регистрация: 22.10.2011
Сообщений: 29,089
Записей в блоге: 5
28.05.2012, 11:10 #15
Нет, не обязательно. Можно динамически добавить меню: перед созданием окна
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    if (!RegisterClass(&wndClass)) return 0;
    HMENU hMenu = CreateMenu();
    HMENU hPopupMenu = CreatePopupMenu();
    AppendMenu(hPopupMenu, MF_STRING, IDM_OPEN, TEXT("&Открыть файл")); // IDM_OPEN - мой #define
    AppendMenu(hPopupMenu, MF_STRING, IDM_EXIT, TEXT("&Выход")); // IDM_EXIT тоже 
    AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hPopupMenu, TEXT("&Файл"));
 
    hWnd = CreateWindow(szProgName,
                        TEXT("LineDiag"),
                        WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        NULL, hMenu, hCurrentInst, NULL);
, а потом в WM_COMMAND лови IDM_OPEN/IDM_EXIT и делай там то, что тебе нужно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        // ...
        case WM_COMMAND:
            switch(LOWORD(wParam))
            {
                case IDM_OPEN :
                // Тут открываешь файл и читаешь из него
                break;
 
                case IDM_EXIT : ; // break-а нет, "проваливаемся" на WM_DESTROY
            }
 
        case WM_DESTROY:
        // ...
1
28.05.2012, 11:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2012, 11:10
Привет! Вот еще темы с ответами:

прошу помощи - C++
Помогите получить зачетку. Надо написать токую програму на С : User вводит цифру нп: 7965132 а на монитор выводитса : 6,2. тоесть...

Помощи прошу - C++
Как сделать ? String name; getline(cin, name) не получается использовать массив

Прошу помощи. - Удаление вирусов
Доброго времени суток!! Помогите, если есть время, разобраться с проблемой - рекламный вирус, обнаружить обычными средствами не удается,...

Прошу помощи!!! - Удаление вирусов
Здравствуйте!Вообщем дело в следующем искали с другом дрова на его мптришник я отошел ненадолго а он мне счастливый заявляет что нашел...


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

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

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