Программа "Список коммерческих банков" на языке Си

 

СОДЕРЖАНИЕ


Введение

.Алгоритм решения

.Описание программы

.Инструкция пользователю

.Примеры работы программы

Заключение

Список литературы

Приложение (листинг программы)



ВВЕДЕНИЕ


Язык Си - это универсальный язык программирования, для которого характерны экономичность выражения, современный набор операторов и типов данных. Язык Си не является ни языком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его для многих задач более удобным и эффективным, чем языки, предположительно более мощные. Операционная система, компилятор с языка Си и по существу все прикладные программы системы "ДЕМОС" написаны на Си. Язык Си не связан с какими-либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей Си-компилятор.

Язык Си является универсальным языком программирования. Он первоначально появился в операционной системе UNIX, и развивался как основной язык систем, совместимых с ОС UNIX. Сам язык, однако, не связан с какой-либо одной операционной системой или машиной; и хотя его называют языком системного программирования, так как он удобен для написания операционных систем, он может использоваться для написания любых больших вычислительных программ, программ для обработки текстов и баз данных.

Язык Си - это язык относительно "низкого уровня". Это означает, что Си имеет дело с объектами того же вида, что и большинство ЭВМ, а именно, с символами, числами и адресами. Они могут объединяться и пересылаться посредством обычных арифметических и логических операций, осуществляемых реальными ЭВМ.

В языке Си отсутствуют операции, имеющие дело непосредственно с составными объектами, такими как строки символов, множества, списки или с массивами, рассматриваемыми как целое. Здесь, например, нет никакого аналога операциям PL/1, оперирующим с массивами и строками. Язык не предоставляет никаких других возможностей распределения памяти, кроме статического определения и механизма стеков, обеспечиваемого локальными переменными функциями. Сам по себе язык Си не обеспечивает никаких возможностей ввода-вывода. Все эти механизмы высокого уровня должны обеспечиваться явно вызываемыми функциями.

Аналогично, язык Си предлагает только простые, последовательные конструкции управления: проверки, циклы, группирование и подпрограммы, но не мультипрограммирование, параллельные операции, синхронизацию или сопрограммы.

Удержание языка в скромных размерах дает реальные преимущества. Так как Си относительно мал, он не требует много места для своего описания и может быть быстро выучен.

Компилятор с Си может быть простым и компактным. Это обеспечивает высокую степень мобильности языка. Поскольку типы данных и структуры управления, имеющиеся в Си, непосредственно поддерживаются большинством существующих ЭВМ, библиотека, необходимая во время прогона изолированных программ, оказывается очень маленькой. На СМ-4, например, она содержит только программы для 32-битового умножения и деления и для упрятывания и восстановления регистров при входе в функцию. Конечно, каждая реализация обеспечивает исчерпывающую, совместимую библиотеку функций для выполнения операций ввода-вывода, обработки строк и распределения памяти, но так как обращение к ним осуществляется только явно, можно, если необходимо, избежать их вызова; эти функции могут быть компактно написаны на самом Си.

Опять же из-за того, что язык Си отражает возможности современных компьютеров, программы на Си оказываются достаточно эффективными, так что не возникает побуждения писать вместо этого программы на языке ассемблера. Хотя Си соответствует возможностям многих ЭВМ, он не зависит от какой-либо конкретной архитектуры машины и в силу этого без особых усилий позволяет писать "переносимые" программы, т.е. программы, которые можно пропускать без изменений на различных аппаратных средствах.

Язык Си не является языком со строгими типами данных в смысле Паскаля или Алгола-68. Он сравнительно снисходителен к преобразованию данных, хотя и не будет буйно преобразовывать типы данных подобно языку PL/1. Компилятор не предусматривает никакой проверки индексов массивов, типов аргументов и т.д. во время выполнения программы.

В тех ситуациях, когда желательна строгая проверка типов, используется специальная программа lint. Программа lint не генерирует машинного кода, а делает очень строгую проверку всех тех сторон программы, которые можно проконтролировать во время компиляции и загрузки. Она определяет несоответствие типов, несовместимость аргументов, неиспользованные или очевидным образом неинициализированные переменные, потенциальные трудности переносимости и т.д.

Из за того, что в языке отсутствуют средства ввода/вывода и т.п., при программировании на нем существенную роль играет библиотека стандартных программ, осуществляющих взаимодействие с системой. Во всех системах, совместимых с ОС UNIX, к которым относится и ДЕМОС, существует совместимый набор программ для ввода/вывода, управления памятью, преобразования данных и выполняющих другие функции, использование которых обеспечивает возможность переноса программ на другие ЭВМ.

.Алгоритм решения


Основная часть программы реализует следующую последовательность действий:

.Формирует на экране меню для выбора функций.

.Ожидает выбора той или иной функции пользователем.

.Выполняет соответствующий функциональный алгоритм.

.После выполнения п.3 выполняется п.2 до тех пор, пока не будет совершен выход из программы.

Структурная схема алгоритма представлена ниже (рисунок 1).


Рисунок 1.

.Описание программы


.1Элементы пользовательского интерфейса


Кнопки

При нажатии на кнопку «Полный перечень банков» в поле ListBox формируется список всех банков, для этого был написан цикл, который будет выполняться до тех пор, пока не закончится структура «Info».

При нажатии на кнопку «Накопительный вклад» в поле ListBox появляется банк, в котором для данного вида вклада наибольший процент в год, для определения этого банка был написан цикл, который ищет максимальное значение массива, созданного для записи числа, определяющего количество процентов для накопительного вклада.

При нажатии на кнопку «Сберегательный вклад» в поле ListBox появляется банк, в котором для данного вида вклада наибольший процент в год, для определения этого банка был написан цикл, который ищет максимальное значение массива, созданного для записи числа, определяющего количество процентов для сберегательного вклада.

При нажатии на кнопку «Депозит» в поле ListBox появляется банк, в котором для данного вида вклада наибольший процент за 3 года, для определения этого банка был написан цикл, который ищет максимальное значение массива, созданного для записи числа, определяющего количество процентов для депозита.

Поле Edit

При вводе в данное поле числа, определяющего количество лет, на которое будет сделан вклад и нажатии на кнопку «Выбрать» в поле ListBox появляется банк, соответствующий наиболее выгодным условиям для данного промежутка времени. Для определения этого банка было создано условие, связанное с количеством лет.

Если введено менее трех лет, то будет показан банк с наибольшим процентом среди двух видов вклада, а именно сберегательного и накопительного, если же введено 3 и более лет, то будет показан банк, в котором для вклада «Депозит» наибольший процент.


2.2Описание функций


Функция WinMain предназначена для начала работы с WinApi, она имеет следующие параметры:hInstance - дескриптор экземпляра приложения. Этот дескриптор содержит адрес начала кода программы в ее адресном пространстве. Дескриптор hInstance чаще всего требуется функциям, работающим с ресурсами программы.hPrevInstance - дескриптор предыдущего экземпляра приложения. lpCmdLine - указатель на начало командной строки, введенной при запуске программы.nCmdShow - это значение содержит желаемый вид окна (например, свернутый или развернутый)

Функция GetMessage предназначена для «диалога с Windows», она имеет следующие параметры:lpMsg - указатель на структуру сообщения, в которую GetMessage вернет результат.hWnd - описатель окна, от которого GetMessage примет сообщение (NULL означает, что GetMessage принимает сообщения от всех окон, принадлежащих потоку).wMsgFilterMin - наименьший идентификатор сообщения, которое примет GetMessage.wMsgFilterMax - наибольший идентификатор сообщения, которое примет GetMessage (если в значениях параметров wMsgFilterMin и wMsgFilterMax передать 0, функция будет принимать ВСЕ сообщения).

Примечание: в Windows при каждом событии, произошедшем в системе, отсылается «сообщение Windows» («windows message»). Эти сообщения уведомляют программу о событиях в системе, а программа в свою очередь, может на них реагировать. Сообщения может отсылать не только Windows, но и сами приложения. Это является одним из способов организации связи между процессами в системе. Функция GetMessage не отдает управление программе, пока не придет какое-либо сообщение. Если пришедшее сообщение - WM_QUIT, функция GetMessage вернет 0. Тогда цикл прервется, и программа завершит свою работу. При любом другом сообщении функция GetMessage возвращает значение больше нуля, и начинатся выполнение тела цикла. При ошибкеGetMessage возвращает -1.

Функция RegisterClass предназначена для того, чтобы присвоить созданному окну класс, она имеет следующие параметры:lpfnWndProc - адрес функции обработки сообщений.hInstance - уже знакомая переменная, описывающая экземпляр.lpszClassName - имя нового класса.hCursor - описатель курсора мыши.hbrBackground - цвет рабочей области окна.

Функция CreateWindow предназначена для создания окна Windows, она имеет следующие параметры:x - позиция по горизонтали верхнего левого угла окна.y - позиция по вертикали.


2.3 Описание внутренних переменных, входных и выходных данных


Для создания списка коммерческих банков была создана структура под названием «Info», в которую включены 6 переменных для хранения названия, адреса, статуса (формы собственности) банка, а также накопительного, сберегательного и депозитного вклада.

Внутренние и глобальные переменные представлены в таблице 1, представленной ниже.

язык программирование функция интерфейс

Таблица 1.

НазваниеТипНазначениеГлобальные переменныеValIntКоличество банковСтруктура InfoTitleCharНазвание банкаAdressCharАдресStatusCharСтатус(форма собственности)Vklad1CharНакопительный вкладVklad2CharСберегательный вкладVklad3CharДепозитФункция mainVklad1Массив типа intКоличество процентов для накопительного вкладаVklad2Массив типа intКоличество процентов для сберегательного вкладаVklad3Массив типа intКоличество процентов для депозитаYearIntЗапись введенного периода времени в переменнуюmax, max2IntОпределение максимального процента для выбранного вкладаimax, maxiIntОпределение банка, в котором максимальный процент для выбранного вклада

.Инструкция пользователю


При открытии скомпилированного приложения «Spravochnik.exe» на экране появляется окно Windows под названием «Справочник коммерческих банков» (Рисунок 2). Программа ожидает выбора пользователем той или иной функции, предусмотренной данной программой. При нажатии на кнопку «Полный перечень банков» формируется список всех банков. При нажатии на кнопку «Накопительный вклад» появляется банк, в котором для данного вида вклада наибольший процент в год. При нажатии на кнопку «Сберегательный вклад» появляется банк, в котором для данного вида вклада наибольший процент в год. При нажатии на кнопку «Депозит» появляется банк, в котором для данного вида вклада наибольший процент за 3 года. При вводе количества лет, необходимо ввести число (целое или с отделением дробной части с помощью запятой), определяющего нужный Вам промежуток времени, после чего нажать на кнопку «Выбрать», при вводе чего-либо другого (какого-либо слова, буквы, символа) Вы не получите требуемого результата.

Внимание! Для обновления списка коммерческих банков Вам потребуются некоторые знания в программировании на языке Си.


Рисунок 2

.Примеры работы программы


Полный перечень банков


Накопительный вклад


Вклад на 5 лет


Заключение


В ходе выполнения курсовой работы была создана программа «Список коммерческих банков», которая осуществляет подбор наиболее выгодных условиях для того или иного вида вклада, а также для того или иного промежутка времени.


Список литературы


При создании программы использовалась литература:

.К. Поляков Программирование на языке Си 2012

.Джесс Либерти - Освой самостоятельно С++ за 21 день, 2008.

.Фролов А.В. Фролов Г.В. C++. Самоучитель, 2011.



Приложение (листинг программы)


#include <windows.h>

#include <string.h>

#include <stdio.h>

#include <winuser.h>CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);RegMyWindowClass(HINSTANCE, LPCTSTR);hWnd;hButton1;hButton2;hButton3;hButton4;hButton5;hEdit1;hGroupBox;hListBox;hLabel1;Vklad1[5];Vklad2[5];Vklad3[5];year = 0;max, imax, max2, maxi = 0;Info

{* Title;* Adress;* Status;* Vklad1;* Vklad2;* Vklad3;* Otstup;

};int val = 5;inf[val];lpzClass = TEXT("My Window Class!");lpzButton = TEXT("BUTTON");lpzListBox = TEXT("LISTBOX");lpzLabel = TEXT("STATIC");lpzEdit = TEXT("Edit");

#define ID_Vklad1 1000

#define ID_Vklad2 1005

#define ID_Vklad3 1010

#define ID_Per 1020

#define ID_ListBox 1100

#define ID_Edit1 1001

#define ID_Year 3000APIENTRY WinMain(HINSTANCE hInstance,hPrevInstance,lpCmdLine,nCmdShow)

{(!RegMyWindowClass(hInstance, lpzClass))1;screen_rect;(GetDesktopWindow(),&screen_rect);x = screen_rect.right / 2 - 275;y = screen_rect.bottom / 2 - 125;= CreateWindow(lpzClass, TEXT("Справочник коммерческих банков"),_OVERLAPPEDWINDOW | WS_VISIBLE|WS_EX_APPWINDOW|LBS_NOTIFY, x, y, 900, 700, NULL, NULL, hInstance, NULL);= CreateWindow(lpzButton,TEXT("Выберите нужный Вам вклад"),WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|BS_GROUPBOX,10,10,860,100,hWnd,NULL,hInstance,NULL);= CreateWindow(lpzButton, TEXT("Накопительный"),WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 20,40,130,20,hWnd,(HMENU)ID_Vklad1, hInstance,NULL);= CreateWindow(lpzButton, TEXT("Сберегательный"),WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 20,70,130,20,hWnd,(HMENU)ID_Vklad2, hInstance,NULL);= CreateWindow(lpzButton, TEXT("Полный перечень банков"),WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 200,70,200,20,hWnd,(HMENU)ID_Per, hInstance,NULL);= CreateWindow(lpzButton, TEXT("Депозит"),WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 200,40,200,20,hWnd,(HMENU)ID_Vklad3, hInstance,NULL);= CreateWindow(lpzButton, TEXT("Выбрать"),WS_CHILD|BS_PUSHBUTTON|BS_USERBUTTON|WS_VISIBLE, 640,70,200,20,hWnd,(HMENU)ID_Year, hInstance,NULL);= CreateWindow(lpzLabel, TEXT("Количество лет, на которое Вы хотите сделать вклад"),WS_VISIBLE|WS_CHILD, 470, 40, 370, 20, hWnd, NULL, hInstance, NULL);= CreateWindow(lpzEdit, TEXT(""),WS_VISIBLE | WS_CHILD | WS_BORDER| ES_LEFT,470,70,150,20,hWnd,(HMENU)ID_Edit1,hInstance,NULL);= CreateWindow(lpzListBox, TEXT("ListBox"),WS_VISIBLE|WS_CHILD|WS_BORDER|WS_VSCROLL|LBS_NOTIFY,10,120,860,540,hWnd,(HMENU)ID_ListBox,hInstance,NULL);(hWnd);msg = {0};iGetOk = 0;((iGetOk = GetMessage(&msg, 0, 0, 0 )) > 0)

{(iGetOk == -1) return 3;(&msg);(&msg);

}msg.wParam;

}RegMyWindowClass(HINSTANCE hInst, LPCTSTR lpzClassName)

{wcWindowClass = {0};.lpfnWndProc = (WNDPROC)WndProc;.style = CS_HREDRAW|CS_VREDRAW;.hInstance = hInst;.lpszClassName = lpzClassName;.hCursor = LoadCursor(NULL, IDC_ARROW);.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE;RegisterClass(&wcWindowClass);

}CALLBACK WndProc(hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{(message)

{WM_CREATE:[0].Title= "Сбербанк России";[0].Adress = "г. Новочеркасск, ул. Комитетская 45";

inf[0].Status = "Открытое акционерное общество";

inf[0].Vklad1 = "5 процентов в год";

inf[0].Vklad2 = "10 процентов в год";

inf[0].Vklad3 = "30 процентов в год";

inf[0].Otstup = "";[0] = 5;[0] = 10;[0] = 30;[1].Title = "Банк ВТБ";[1].Adress = "г. Новочеркасск, ул. Комитетская, д. 56/64";

inf[1].Status = "Открытое акционерное общество";

inf[1].Vklad1 = "6 процентов в год";

inf[1].Vklad2 = "11 процентов в год";

inf[1].Vklad3 = "35 процентов в год";

inf[1].Otstup = "";[1] = 6;[1] = 11;[1] = 35;[2].Title = "Банк Русский Стандарт";

inf[2].Adress = "г. Новочеркасск, ул. Думенко 6";

inf[2].Status = "Закрытое акционерное общество";

inf[2].Vklad1 = "7 процентов в год";

inf[2].Vklad2 = "12 процентов в год";

inf[2].Vklad3 = "38 процентов в год";

inf[2].Otstup = "";[2] = 7;[2] = 12;[2] = 38;[3].Title = "Банк Уралсиб";

inf[3].Adress = "Ростов-на-Дону, ул. Красноармейская 188";

inf[3].Status = "Открытое акционерное общество";

inf[3].Vklad1 = "7 процентов в год";

inf[3].Vklad2 = "13 процентов в год";

inf[3].Vklad3 = "33 процента в год";

inf[3].Otstup = "";[3] = 7;[3] = 13;[3] = 33;[4].Title = "Банк Петрокоммерц";[4].Adress = "г. Новочеркасск, ул. Московская, д. 1/90";

inf[4].Status = "Открытое акционерное общество";

inf[4].Vklad1 = "8 процентов в год";

inf[4].Vklad2 = "14 процентов в год";

inf[4].Vklad3 = "31 процент в год";

inf[4].Otstup = "";[4] = 8;[4] = 14;[4] = 31;;WM_COMMAND:((LOWORD(wParam) == ID_Per)){(hListBox, LB_RESETCONTENT,0,0);(int i=0;i<val;i++){string[255]={0};(string, "Название: ");(string, inf[i].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[i].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[i].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Накопительный вклад: ");(string, inf[i].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Сберегательный вклад: ");(string, inf[i].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[i].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[i].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}}((LOWORD(wParam) == ID_Vklad1)){(hListBox, LB_RESETCONTENT,0,0);= Vklad1[0];(int i = 0; i < val; i++){(Vklad1[i] > max) {= Vklad1[i];= i;

}}string[255]={0};(string, "Название: ");(string, inf[imax].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[imax].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[imax].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "-->Накопительный вклад: ");(string, inf[imax].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Сберегательный вклад: ");(string, inf[imax].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[imax].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[imax].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}((LOWORD(wParam) == ID_Vklad2)){(hListBox, LB_RESETCONTENT,0,0);= Vklad2[0];(int i = 0; i < val; i++){(Vklad2[i] > max) {= Vklad2[i];= i;

}}string[255]={0};(string, "Название: ");(string, inf[imax].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[imax].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[imax].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Накопительный вклад: ");(string, inf[imax].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "-->Сберегательный вклад: ");(string, inf[imax].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[imax].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[imax].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}((LOWORD(wParam) == ID_Vklad3)){(hListBox, LB_RESETCONTENT,0,0);= Vklad3[0];(int i = 0; i < val; i++){(Vklad3[i] > max) {= Vklad3[i];= i;

}}string[255]={0};(string, "Название: ");(string, inf[imax].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[imax].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[imax].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Накопительный вклад: ");(string, inf[imax].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Сберегательный вклад: ");(string, inf[imax].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "-->Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[imax].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[imax].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}((LOWORD(wParam) == ID_Year)){in[255];(hEdit1, in, GetWindowTextLength(hEdit1)+1);= atoi(in);(year>2 && year!=0){(hListBox, LB_RESETCONTENT,0,0);= Vklad3[0];(int i = 0; i < val; i++){(Vklad3[i] > max) {= Vklad3[i];= i;

}}string[255]={0};(string, "Название: ");(string, inf[imax].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[imax].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[imax].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Накопительный вклад: ");(string, inf[imax].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Сберегательный вклад: ");(string, inf[imax].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "-->Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[imax].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[imax].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}if(year<3 && year!=0 && year>0){(hListBox, LB_RESETCONTENT,0,0);= Vklad2[0];(int i = 0; i < val; i++){(Vklad2[i] > max) {= Vklad2[i];= i;


}}= Vklad1[0];(int i = 0; i < val; i++){(Vklad1[i] > max2) {= Vklad1[i];= i;

}}(max>=max2){string[255]={0};(string, "Название: ");(string, inf[imax].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[imax].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[imax].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Накопительный вклад: ");(string, inf[imax].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "-->Сберегательный вклад: ");(string, inf[imax].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[imax].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[imax].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}(max2>=max){string[255]={0};(string, "Название: ");(string, inf[maxi].Title );(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Адрес: ");(string, inf[maxi].Adress);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Статус (форма собственности): ");

strcat(string, inf[maxi].Status);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "-->Накопительный вклад: ");(string, inf[maxi].Vklad1);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Сберегательный вклад: ");(string, inf[maxi].Vklad2);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "Депозит (без права возвращения денег в течении трёх лет): ");

strcat(string, inf[maxi].Vklad3);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );(string, "");(string, inf[maxi].Otstup);(hListBox, LB_ADDSTRING, 0, (LPARAM)(TCHAR*)string );

}}}((LOWORD(wParam) == ID_ListBox))

{(HIWORD(wParam))

{LBN_SELCHANGE:

{

}

}

};:DefWindowProc(hWnd, message, wParam, lParam);

}0;

}


СОДЕРЖАНИЕ Введение .Алгоритм решения .Описание программы .Инструкция пользователю .Примеры работы программы Заключение Список лит

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ