Другие языки программирования и технологии

Подскажите пожалуйста, на каком языке написана программа, на С или C++

Вот эта программа:

/*WinAPI приложение. Минимальный набор функций для отображения окна.
Эта программа станет базовой заготовкой для всех последующих программ*/

#include

//Создаём прототип функции окна
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//объявляем имя программы
char szProgName[]="Имя программы";

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)

{

HWND hWnd; //идентификатор окна
MSG lpMsg;

WNDCLASS w; //создаём экземпляр структуры WNDCLASS и начинаем её заполнять

w.lpszClassName=szProgName; //имя программы
w.hInstance=hInstance; //идентификатор текущего приложения
w.lpfnWndProc=WndProc; //указатель на функцию окна
w.hCursor=LoadCursor(NULL, IDC_ARROW); //загружаем курсор в виде стрелки
w.hIcon=0; //иконки у нас не будет пока
w.lpszMenuName=0; //и меню пока не будет
w.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); //цвет фона окна - белый
w.style=CS_HREDRAW|CS_VREDRAW; //стиль окна - перерисовываемое по х и по у
w.cbClsExtra=0;
w.cbWndExtra=0;

//Если не удалось зарегистрировать класс окна - выходим
if(!RegisterClass(&w))
return 0;

//Создадим окно в памяти, заполнив аргументы CreateWindow
hWnd=CreateWindow(szProgName, //Имя программы
"Моя первая программа! ", //Заголовок окна
WS_OVERLAPPEDWINDOW, //Стиль окна - перекрывающееся
100, //положение окна на экране по х
100, //по у
500, //размеры по х
400, //по у
(HWND)NULL, //идентификатор родительского окна
(HMENU)NULL, //идентификатор меню
(HINSTANCE)hInstance, //идентификатор экземпляра программы
(HINSTANCE)NULL); //отсутствие дополнительных параметров

//Выводим окно из памяти на экран
ShowWindow(hWnd, nCmdShow);
//Обновим содержимое окна
UpdateWindow(hWnd);

//Цикл обработки сообщений

while(GetMessage(&lpMsg, NULL, 0, 0)) //Цикл While. Конструкция цикла очень простая while (наша переменная < конечное значение) {Наш код} Выполняется повторение нашего кода внутри скобок. Знак < можно менять на любые логические значения (<,>,!=,==). Читается цикл как “До тех пор пока выполняется наше условие, мы будем выполнять этот код” *//

{

TranslateMessage(&lpMsg); //Преобразуем сообщения клавиш в символы
DispatchMessage(&lpMsg); //Передаём сообщение соответствующей функции окна

}

return(lpMsg.wParam);

}

//Функция окна
LRESULT CALLBACK WndProc(HWND hWnd, UINT messg,
WPARAM wParam, LPARAM lParam)
{

HDC hdc; //создаём контекст устройства
PAINTSTRUCT ps; //создаём экземпляр структуры графического вывода

//Цикл обработки сообщений
switch(messg)

{

//сообщение рисования
case WM_PAINT :
//начинаем рисовать
hdc=BeginPaint(hWnd, &ps);
//здесь вы обычно вставляете свой текст:
TextOut(hdc, 150,150, "Здравствуй, WIN 32 API!!!!", 26);
//закругляемся
//обновляем окно
ValidateRect(hWnd, NULL);
//заканчиваем рисовать
EndPaint(hWnd, &ps);
break;

//сообщение выхода - разрушение окна
case WM_DESTROY:
PostQuitMessage(0); //Посылаем сообщение выхода с кодом 0 - нормальное завершение
break;

default:
return(DefWindowProc(hWnd, messg, wParam, lParam)); //освобождаем очередь приложения от нераспознаных

}

return 0;

}
на языке паскаль
А Б
А Б
0
Лучший ответ
на языке паскаль... поверим знатокам Пушкина
Смотришь на расширение файла исходного кода, если *.c — значит на Си, иначе C++.
Евгений Вялкин
Евгений Вялкин
94 221
C++
"класс окна" и т. п. в программе.
Структуры и в C++ есть.
Максим Черный
Максим Черный
88 535
Женя Пахолков Чуть выше этот "класс" описывается как структура.
Сергей Бондин Термин "класс окна" в WinAPI введен до распространения С++ и обозначает стандартную структуру, это не тот класс, что в С ++,а просто название совпало.
С++ отличается от С только возможностью писать свои классы + библиотекой готовых классов.
Тут нет ни того, ни другого, поэтому код равно относится к обоим языкам.
Термин класс окна в WinAPI введен до распространения С++ и сбивает с толку, это не тот класс, что в С ++,а просто название совпало.
Евгений Кондугашев В C тоже есть свои стандартные библиотеки. А отличий там от С++ будет побольше. Шаблоны, переопределения операторов, лямбда функции и т. д.
WinApi написана на Си - но этот же код и скомпилит С++ компилятор. С++ это и есть Си - но с классами и прочими дополнениями...
в winapi класс это как раз структура, описывающая стиль, иконку окна/контрола, и регистрирующая callback-процедуру, обрабатывающую сообщения.

программа скомпилируется на си без проблем.
Vladimir Belkovetc
Vladimir Belkovetc
7 029
Мне кажется, это С.
Vlad Vatarkib
Vlad Vatarkib
4 490
Там бейзиком даже не пахнет. Это Си, так как С плюс к Джаве похож.
Табрис Вагизов Короче знатоки вы походу даже программировать толком даже не умеете а суете нос туда где вам не место. Правильный ответ это С, так как каждое приложение на С начинается с "#include " у вас под носом ошибка в коде а вы даже этого не заметили. Строка 6.
Visual Basik вижуал бейсик...
Разницы нет, на чем ты написал код. Есть разница, как ты будешь компилировать. Если под Си, то значит код будет СИшным, в противном случае плюсы
Естественно C++
С виду чистый C.
Это С++. В строчке " char szProgName[]="Имя программы"; " используется тип char - символьный тип, который в C обозначался целосчислительным типом int и указывал на условный номер символа.
Артём Калькенов Фигню ты сморозил. Тип char есть в C.
Судя по комментарию
WNDCLASS w; //создаём экземпляр структуры WNDCLASS и начинаем её заполнять
то это С, так как если бы это был С++ это была бы не структура, а класс
Vladimir Belkovetc пардон, неправильно прочитал ответ. но все равно структуры используются даже в C#, не то, что на C++
например BIgInteger в C# это структура
судя по комментариям // это си++
в си нет однострочных комментариев, только /**/
Vladimir Belkovetc 16 лет как есть. были определены в стандарте C99.
C++
assembler с библиотекой С#. У меня так батя програмирует
Все языки программирование похожи один на второй.

Кстате я думаю это C
Andrei Grebennikov
Andrei Grebennikov
183
кажется С

Похожие вопросы