Обработка статистических данных по файлу

Составление программы, с помощью которой пользователь может получать статистические сведения о текстовой информации. Для разработки программы использовался язык С++ и среда программирования Borland C++ Builder 6. Постановка задачи и описание ее решения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 03.07.2011
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

53

Белорусский национальный технический университет

приборостроительный факультет

Кафедра Информационно-измерительнОЙ техникИ и технологии

Пояснительная записка
К КУРСОВОЙ РАБОТЕ
по дисциплине «Языки программирования»
Тема: Обработка статистических данных по файлу
Минск 2011
РЕФЕРАТ
Пояснительная записка 38 с., 6 рис., 5 источников, 3 прил.
С++, ФАЙЛ, ПОДСЧЕТ, СИМВОЛ, ТАБЛИЦА, КОМПОНЕНТ
Целью курсовой работы является составление программы, с помощью которой пользователь может получать статистические сведения о текстовой информации.
СОДЕРЖАНИЕ
программа статистический текстовый информация
Введение
1. Разработка алгоритма
1.1 Постановка задачи
1.2 Описание алгоритма
2. Разработка рабочего проекта
2.1 Описание логической структуры
2.2 Входные данные
2.3 Выходные данные
2.4 Вызов и загрузка
3. Тестирование проекта
4. Внедрение
4.1 Условия выполнения программы
4.2 Сообщения оператору
Заключение
Список использованных источников
Приложение А. Блок-схема программы
Приложение Б. Листинг программы
Приложение В. Результаты выполнения программы
ВВЕДЕНИЕ
Целью курсовой работы является составление программы, с помощью которой пользователь может получать статистические сведения о текстовой информации.
В данной курсовой работе для разработки программы использовался язык С++ и среда программирования Borland C++ Builder 6.
Первый раздел посвящен описанию решения задачи. Решение задачи начинается с ее постановки. При постановке задачи выясняется конечная цель и вырабатывается общий подход к решению задачи. Приводится описание исходных данных, условий задачи и целей ее решения.
В разделе описания программы дается обобщенное словесное описание алгоритма решения поставленной задачи.
В разделе описания разработки программы указывается обозначение и наименование программы; программное обеспечение, необходимое для функционирования программы; язык программирования, на котором написана программа.
В разделе описания тестирования программы кратко описывается среда программирования.
1. РАЗРАБОТКА АЛГОРИТМА
1.1 Постановка задачи
Необходимо составить программу для обработки текстовой информации:
-пользователь вводит текст вручную или загружает из файла;
-программа выводит статистические данные по файлу: общее число знаков, число гласных, согласных, знаков препинания;
-сохранение статистических данных в текстовом файле.
Язык программирования Си поддерживает множество функций стандартных библиотек для файлового ввода и вывода. Эти функции составляют основу заголовочного файла стандартной библиотеки языка Си <stdio.h>.
Функциональность ввода-вывода языка Си по текущим стандартам реализуется на низком уровне. Язык Си абстрагирует все файловые операции, превращая их в операции с потоками байтов, которые могут быть как "потоками ввода", так и "потоками вывода". В отличие от некоторых ранних языков программирования, язык Си не имеет прямой поддержки произвольного доступа к файлам данных; чтобы считать записанную информацию в середине файла, программисту приходится создавать поток, ищущий в середине файла, а затем последовательно считывать байты из потока.
Потоковая модель файлового ввода-вывода была популяризирована во многом благодаря операционной системе Unix, написанной на языке Си. Большая функциональность современных операционных систем унаследовала потоки от Unix, а многие языки семейства языков программирования Си унаследовали интерфейс файлового ввода-вывода языка Си с небольшими отличиями (например, PHP). Стандартная библиотека C++ отражает потоковую концепцию в своем синтаксисе (iostream).
1.2 Описание алгоритма
Алгоритм работы с программой включает следующую последовательность действий:
-ввод данных с клавиатуры или загрузка из текстового файла;
-получение статистической информации;
-сохранение статистической информации.
Рисунок 1.1 - Обобщенный алгоритм работы программы
2. РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА
2.1 Описание логической структуры
Программа состоит из следующих процедур:
-процедура - обработчик события однократного щелчка мышью по компоненту FileListBox1:
void __fastcall TForm1::FileListBox1Click(TObject *Sender);
-процедура - обработчик события при закрытии формы:
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action);
-процедура - обработчик события при создании формы:
void __fastcall TForm1::FormCreate(TObject *Sender);
-процедура - обработчик события при однократном щелчке по кнопке «Сохранить как…»:
void __fastcall TForm1::Button2Click(TObject *Sender);
-процедура - обработчик события при однократном щелчке по кнопке «Получить статистические данные»:
void __fastcall TForm1::Button1Click(TObject *Sender).
2.2 Входные данные
Входными данными программы является текстовая информация.
Рисунок 2.1 - Входные данные для обработки
2.3 Выходные данные
Выходными данными являются статистические данные об информации.
Рисунок 2.2 - Результат получения статистической информации
Рисунок 2.3 - Окно сохранения результатов работы
2.4 Вызов и загрузка программы
Программа может быть загружена путем запуска EXE-файла из Windows.
После запуска программы перед пользователем появляется окно приложения. Пользователю необходимо ввести все исходные данные и получить результат.
3. ТЕСТИРОВАНИЕ ПРОГРАММЫ
C++ Builder -- среда быстрой разработки (RAD), выпускаемая компанией CodeGear, дочерней фирмой компании Embarcadero (ранее Borland). Предназначена для написания программ на языке программирования C++. C++ Builder объединяет Библиотеку визуальных компонентов и среду программирования (IDE), написанную на Delphi с компилятором C++. Цикл разработки аналогичен Delphi, но с существенными улучшениями, добавленными в C++ Builder. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.
C++ Builder содержит инструменты, которые позволяют осуществлять настоящую визуальную разработку Windows-приложений методом drag-and-drop, упрощая программирование благодаря WYSIWYG редактору интерфейса, встроенному в его среду разработки.

C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода. 

Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.

Компоненты C++ Builder разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows и др.)  

Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.

Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения.

Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий.

Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта.

4. ВНЕДРЕНИЕ

4.1 Условия выполнения программы

Программа может быть загружена путем запуска EXE-файла из Windows. Пользователю необходимо ввести текстовую информацию или загрузить ее из файла.

4.2 Сообщения оператору

После запуска программы перед пользователем появляется окно программы (рисунок 4.1).

Рисунок 4.1 - Окно программы

Все окно программы разделено на две функциональные части:

-«Файл 1» - для открытия текстового файла;

-«Результат» - для отобращения статистической таблицы.

Для получения статистической информации о содержимом файла неоходимо щелкнуть по кнопке «Получить статистические данные».

Рисунок 4.2 - Результат работы программы

ЗАКЛЮЧЕНИЕ

В данной курсовой работе был рассмотрен процесс создания компьютерной программы на языке С++. В результате выполнения задания была создана рабочая программа, были приобретены навыки создания алгоритмов, изучены основы алгоритмизации и основы языка С++, приобретены навыки работы с различными типами данных, освоена специфика работы в среде программирования.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Джерод Холлингворс, Дэн Баттерфилд, Боб Свот C++ Builder 5. Руководство разработчика = C++ Builder 5 Developer's Guide. -- М.: «Диалектика», 2001.

2. Прата Стивен. Язык программирования С. Лекции и упражнения, 5-е издание. : Пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 960 с. : с ил. - Парал. Тит. Англ.

3. Аксёнкин М.А., Целобёнок О.Н. Язык С. - Мн. : Унiверсiтэцкае, 1995. - 302 с.

4. Громов Ю.Ю., Татаренко С.И. Программирование на языке СИ: Учебное пособие. - Тамбов, 1995.- 169 с.

5. Мартынов Н. Н. Программирование для Windows на C/C++. - М.: Издательство «БИНОМ», т. 1, 2004; т. 2, 2005

Размещено на http://www.allbest.ru/

Приложение А

Блок-схема программы

Приложение Б

Текст программы

//---------------------------------------------------------------------------

#include <vcl.h>

#include <stdio.h>

#include <io.h>

#pragma hdrstop

#include "Unit1.h"

//--------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

FILE* F1=0;

FILE* F2=0;

char* path1, *path2;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{ }

//---------------------------------------------------------------------------

//Открытие файла

void __fastcall TForm1::FileListBox1Click(TObject *Sender)

{

Memo1->Clear();

if ((F1=fopen(FileListBox1->FileName.c_str(), "r"))==0)

{

Label9->Caption="Ошибка при открытии файла";

}

else

{

Label9->Caption=FileListBox1->FileName;

fseek(F1,0,SEEK_SET);

int i=1;

char ch;

Memo1->Lines->LoadFromFile(FileListBox1->FileName.c_str());

}

fclose(F1);

}

//---------------------------------------------------------------------------

//Получение статистических данных

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int N=10;

N=Memo1->Text.Length();

int i;

for (i=0; i<65; i++)

StringGrid1->Cells[1][i]='0';

StringGrid1->Cells[1][0]=IntToStr(N);

for (i=1; i<=N; i++)

{

switch (Memo1->Text[i])

{

case 'A':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][6]=IntToStr(StrToInt(StringGrid1->Cells[1][6])+1);

}; break;

case 'a':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][6]=IntToStr(StrToInt(StringGrid1->Cells[1][6])+1);

}; break;

case 'B':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][7]=IntToStr(StrToInt(StringGrid1->Cells[1][7])+1);

}; break;

case 'b':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][7]=IntToStr(StrToInt(StringGrid1->Cells[1][7])+1);

}; break;

case 'C':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][8]=IntToStr(StrToInt(StringGrid1->Cells[1][8])+1);

}; break;

case 'c':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][8]=IntToStr(StrToInt(StringGrid1->Cells[1][8])+1);

}; break;

case 'D':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][9]=IntToStr(StrToInt(StringGrid1->Cells[1][9])+1);

}; break;

case 'd':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][9]=IntToStr(StrToInt(StringGrid1->Cells[1][9])+1);

}; break;

case 'E':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][10]=IntToStr(StrToInt(StringGrid1->Cells[1][10])+1);

}; break;

case 'e':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][10]=IntToStr(StrToInt(StringGrid1->Cells[1][10])+1);

}; break;

case 'F':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][11]=IntToStr(StrToInt(StringGrid1->Cells[1][11])+1);

}; break;

case 'f':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][11]=IntToStr(StrToInt(StringGrid1->Cells[1][11])+1);

}; break;

case 'G':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][12]=IntToStr(StrToInt(StringGrid1->Cells[1][12])+1);

}; break;

case 'g':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][12]=IntToStr(StrToInt(StringGrid1->Cells[1][12])+1);

}; break;

case 'H':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][13]=IntToStr(StrToInt(StringGrid1->Cells[1][13])+1);

}; break;

case 'h':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][13]=IntToStr(StrToInt(StringGrid1->Cells[1][13])+1);

}; break;

case 'I':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][14]=IntToStr(StrToInt(StringGrid1->Cells[1][14])+1);

}; break;

case 'i':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][14]=IntToStr(StrToInt(StringGrid1->Cells[1][14])+1);

}; break;

case 'J':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][15]=IntToStr(StrToInt(StringGrid1->Cells[1][15])+1);

}; break;

case 'j':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][15]=IntToStr(StrToInt(StringGrid1->Cells[1][15])+1);

}; break;

case 'K':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][16]=IntToStr(StrToInt(StringGrid1->Cells[1][16])+1);

}; break;

case 'k':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][16]=IntToStr(StrToInt(StringGrid1->Cells[1][16])+1);

}; break;

case 'L':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][17]=IntToStr(StrToInt(StringGrid1->Cells[1][17])+1);

}; break;

case 'l':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][17]=IntToStr(StrToInt(StringGrid1->Cells[1][17])+1);

}; break;

case 'M':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][18]=IntToStr(StrToInt(StringGrid1->Cells[1][18])+1);

}; break;

case 'm':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][18]=IntToStr(StrToInt(StringGrid1->Cells[1][18])+1);

}; break;

case 'N':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][19]=IntToStr(StrToInt(StringGrid1->Cells[1][19])+1);

}; break;

case 'n':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][19]=IntToStr(StrToInt(StringGrid1->Cells[1][19])+1);

}; break;

case 'O':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][20]=IntToStr(StrToInt(StringGrid1->Cells[1][20])+1);

}; break;

case 'o':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][20]=IntToStr(StrToInt(StringGrid1->Cells[1][20])+1);

}; break;

case 'P':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][21]=IntToStr(StrToInt(StringGrid1->Cells[1][21])+1);

}; break;

case 'p':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][21]=IntToStr(StrToInt(StringGrid1->Cells[1][21])+1);

}; break;

case 'Q':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][22]=IntToStr(StrToInt(StringGrid1->Cells[1][22])+1);

}; break;

case 'q':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][22]=IntToStr(StrToInt(StringGrid1->Cells[1][22])+1);

}; break;

case 'R':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][23]=IntToStr(StrToInt(StringGrid1->Cells[1][23])+1);

}; break;

case 'r':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][23]=IntToStr(StrToInt(StringGrid1->Cells[1][23])+1);

}; break;

case 'S':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][24]=IntToStr(StrToInt(StringGrid1->Cells[1][24])+1);

}; break;

case 's':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][24]=IntToStr(StrToInt(StringGrid1->Cells[1][24])+1);

}; break;

case 'T':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][25]=IntToStr(StrToInt(StringGrid1->Cells[1][25])+1);

}; break;

case 't':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][25]=IntToStr(StrToInt(StringGrid1->Cells[1][25])+1);

}; break;

case 'U':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][26]=IntToStr(StrToInt(StringGrid1->Cells[1][26])+1);

}; break;

case 'u':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][26]=IntToStr(StrToInt(StringGrid1->Cells[1][26])+1);

}; break;

case 'V':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][27]=IntToStr(StrToInt(StringGrid1->Cells[1][27])+1);

}; break;

case 'v':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][27]=IntToStr(StrToInt(StringGrid1->Cells[1][27])+1);

}; break;

case 'W':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][28]=IntToStr(StrToInt(StringGrid1->Cells[1][28])+1);

}; break;

case 'w':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][28]=IntToStr(StrToInt(StringGrid1->Cells[1][28])+1);

}; break;

case 'X':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][29]=IntToStr(StrToInt(StringGrid1->Cells[1][29])+1);

}; break;

case 'x':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][29]=IntToStr(StrToInt(StringGrid1->Cells[1][29])+1);

}; break;

case 'Y':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][30]=IntToStr(StrToInt(StringGrid1->Cells[1][30])+1);

}; break;

case 'y':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][30]=IntToStr(StrToInt(StringGrid1->Cells[1][30])+1);

}; break;

case 'Z':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][31]=IntToStr(StrToInt(StringGrid1->Cells[1][31])+1);

}; break;

case 'z':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][31]=IntToStr(StrToInt(StringGrid1->Cells[1][31])+1);

}; break;

case 'А':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][32]=IntToStr(StrToInt(StringGrid1->Cells[1][32])+1);

}; break;

case 'а':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][32]=IntToStr(StrToInt(StringGrid1->Cells[1][32])+1);

}; break;

case 'Б':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][33]=IntToStr(StrToInt(StringGrid1->Cells[1][33])+1);

}; break;

case 'б':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][33]=IntToStr(StrToInt(StringGrid1->Cells[1][33])+1);

}; break;

case 'В':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][34]=IntToStr(StrToInt(StringGrid1->Cells[1][34])+1);

}; break;

case 'в':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][34]=IntToStr(StrToInt(StringGrid1->Cells[1][34])+1);

}; break;

case 'Г':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][35]=IntToStr(StrToInt(StringGrid1->Cells[1][35])+1);

}; break;

case 'г':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][35]=IntToStr(StrToInt(StringGrid1->Cells[1][35])+1);

}; break;

case 'Д':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][36]=IntToStr(StrToInt(StringGrid1->Cells[1][36])+1);

}; break;

case 'д':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][36]=IntToStr(StrToInt(StringGrid1->Cells[1][36])+1);

}; break;

case 'Е':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][37]=IntToStr(StrToInt(StringGrid1->Cells[1][37])+1);

}; break;

case 'е':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][37]=IntToStr(StrToInt(StringGrid1->Cells[1][37])+1);

}; break;

case 'Ё':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][38]=IntToStr(StrToInt(StringGrid1->Cells[1][38])+1);

}; break;

case 'ё':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][38]=IntToStr(StrToInt(StringGrid1->Cells[1][38])+1);

}; break;

case 'Ж':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][39]=IntToStr(StrToInt(StringGrid1->Cells[1][39])+1);

}; break;

case 'ж':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][39]=IntToStr(StrToInt(StringGrid1->Cells[1][39])+1);

}; break;

case 'З':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][40]=IntToStr(StrToInt(StringGrid1->Cells[1][40])+1);

}; break;

case 'з':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][40]=IntToStr(StrToInt(StringGrid1->Cells[1][40])+1);

}; break;

case 'И':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][41]=IntToStr(StrToInt(StringGrid1->Cells[1][41])+1);

}; break;

case 'и':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][41]=IntToStr(StrToInt(StringGrid1->Cells[1][41])+1);

}; break;

case 'Й':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][42]=IntToStr(StrToInt(StringGrid1->Cells[1][42])+1);

}; break;

case 'й':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][42]=IntToStr(StrToInt(StringGrid1->Cells[1][42])+1);

}; break;

case 'К':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][43]=IntToStr(StrToInt(StringGrid1->Cells[1][43])+1);

}; break;

case 'к':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][43]=IntToStr(StrToInt(StringGrid1->Cells[1][43])+1);

}; break;

case 'Л':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][44]=IntToStr(StrToInt(StringGrid1->Cells[1][44])+1);

}; break;

case 'л':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][44]=IntToStr(StrToInt(StringGrid1->Cells[1][44])+1);

}; break;

case 'М':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][45]=IntToStr(StrToInt(StringGrid1->Cells[1][45])+1);

}; break;

case 'м':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][45]=IntToStr(StrToInt(StringGrid1->Cells[1][45])+1);

}; break;

case 'Н':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][46]=IntToStr(StrToInt(StringGrid1->Cells[1][46])+1);

}; break;

case 'н':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][46]=IntToStr(StrToInt(StringGrid1->Cells[1][46])+1);

}; break;

case 'О':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][47]=IntToStr(StrToInt(StringGrid1->Cells[1][47])+1);

}; break;

case 'о':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][47]=IntToStr(StrToInt(StringGrid1->Cells[1][47])+1);

}; break;

case 'П':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][48]=IntToStr(StrToInt(StringGrid1->Cells[1][48])+1);

}; break;

case 'п':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][48]=IntToStr(StrToInt(StringGrid1->Cells[1][48])+1);

}; break;

case 'Р':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][49]=IntToStr(StrToInt(StringGrid1->Cells[1][49])+1);

}; break;

case 'р':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][49]=IntToStr(StrToInt(StringGrid1->Cells[1][49])+1);

}; break;

case 'С':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][50]=IntToStr(StrToInt(StringGrid1->Cells[1][50])+1);

}; break;

case 'с':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][50]=IntToStr(StrToInt(StringGrid1->Cells[1][50])+1);

}; break;

case 'Т':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][51]=IntToStr(StrToInt(StringGrid1->Cells[1][51])+1);

}; break;

case 'т':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][51]=IntToStr(StrToInt(StringGrid1->Cells[1][51])+1);

}; break;

case 'У':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][52]=IntToStr(StrToInt(StringGrid1->Cells[1][52])+1);

}; break;

case 'у':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][52]=IntToStr(StrToInt(StringGrid1->Cells[1][52])+1);

}; break;

case 'Ф':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][53]=IntToStr(StrToInt(StringGrid1->Cells[1][53])+1);

}; break;

case 'ф':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][53]=IntToStr(StrToInt(StringGrid1->Cells[1][53])+1);

}; break;

case 'Х':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][54]=IntToStr(StrToInt(StringGrid1->Cells[1][54])+1);

}; break;

case 'х':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][54]=IntToStr(StrToInt(StringGrid1->Cells[1][54])+1);

}; break;

case 'Ц':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][55]=IntToStr(StrToInt(StringGrid1->Cells[1][55])+1);

}; break;

case 'ц':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][55]=IntToStr(StrToInt(StringGrid1->Cells[1][55])+1);

}; break;

case 'Ч':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][56]=IntToStr(StrToInt(StringGrid1->Cells[1][56])+1);

}; break;

case 'ч':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][56]=IntToStr(StrToInt(StringGrid1->Cells[1][56])+1);

}; break;

case 'Ш':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][57]=IntToStr(StrToInt(StringGrid1->Cells[1][57])+1);

}; break;

case 'ш':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][57]=IntToStr(StrToInt(StringGrid1->Cells[1][57])+1);

}; break;

case 'Щ':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][58]=IntToStr(StrToInt(StringGrid1->Cells[1][58])+1);

}; break;

case 'щ':

{

StringGrid1->Cells[1][2]=IntToStr(StrToInt(StringGrid1->Cells[1][2])+1);

StringGrid1->Cells[1][58]=IntToStr(StrToInt(StringGrid1->Cells[1][58])+1);

}; break;

case 'ь':

{

StringGrid1->Cells[1][59]=IntToStr(StrToInt(StringGrid1->Cells[1][59])+1);

}; break;

case 'Ь':

{

StringGrid1->Cells[1][59]=IntToStr(StrToInt(StringGrid1->Cells[1][59])+1);

}; break;

case 'Ы':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][60]=IntToStr(StrToInt(StringGrid1->Cells[1][60])+1);

}; break;

case 'ы':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][60]=IntToStr(StrToInt(StringGrid1->Cells[1][60])+1);

}; break;

case 'ъ':

{

StringGrid1->Cells[1][61]=IntToStr(StrToInt(StringGrid1->Cells[1][61])+1);

}; break;

case 'Ъ':

{

StringGrid1->Cells[1][61]=IntToStr(StrToInt(StringGrid1->Cells[1][61])+1);

}; break;

case 'Э':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][62]=IntToStr(StrToInt(StringGrid1->Cells[1][62])+1);

}; break;

case 'э':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][62]=IntToStr(StrToInt(StringGrid1->Cells[1][62])+1);

}; break;

case 'Ю':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][63]=IntToStr(StrToInt(StringGrid1->Cells[1][63])+1);

}; break;

case 'ю':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][63]=IntToStr(StrToInt(StringGrid1->Cells[1][63])+1);

}; break;

case 'Я':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][64]=IntToStr(StrToInt(StringGrid1->Cells[1][64])+1);

}; break;

case 'я':

{

StringGrid1->Cells[1][1]=IntToStr(StrToInt(StringGrid1->Cells[1][1])+1);

StringGrid1->Cells[1][64]=IntToStr(StrToInt(StringGrid1->Cells[1][64])+1);

}; break;

case ' ':

{

StringGrid1->Cells[1][3]=IntToStr(StrToInt(StringGrid1->Cells[1][3])+1);

}; break;

case '.':

{

StringGrid1->Cells[1][4]=IntToStr(StrToInt(StringGrid1->Cells[1][4])+1);

}; break;

case ',':

{

StringGrid1->Cells[1][4]=IntToStr(StrToInt(StringGrid1->Cells[1][4])+1);

}; break;

case ';':

{

StringGrid1->Cells[1][4]=IntToStr(StrToInt(StringGrid1->Cells[1][4])+1);

}; break;

default: StringGrid1->Cells[1][5]=IntToStr(StrToInt(StringGrid1->Cells[1][5])+1);

}

}

for (i=5; i<65; i++)

{

if (StrToInt(StringGrid1->Cells[1][i])!=0)

{

if ((StrToInt(StringGrid1->Cells[1][i])/N)<=0.05)

StringGrid1->Cells[2][i]="-";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>5)

StringGrid1->Cells[2][i]="**";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=10)

StringGrid1->Cells[2][i]="****";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=20)

StringGrid1->Cells[2][i]="******";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=30)

StringGrid1->Cells[2][i]="********";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=40)

StringGrid1->Cells[2][i]="**********";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=50)

StringGrid1->Cells[2][i]="************";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=60)

StringGrid1->Cells[2][i]="**************";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=70)

StringGrid1->Cells[2][i]="****************";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=80)

StringGrid1->Cells[2][i]="******************";

if ((100*StrToInt(StringGrid1->Cells[1][i])/N)>=90)

StringGrid1->Cells[2][i]="********************";

}

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

{

fclose(F1);

fclose(F2);

}

//---------------------------------------------------------------------------

//Настройка параметров компонентов

void __fastcall TForm1::FormCreate(TObject *Sender)

{

StringGrid1->ColCount=3;

StringGrid1->RowCount=65;

StringGrid1->ColWidths[0]=320;

StringGrid1->ColWidths[1]=60;

StringGrid1->ColWidths[2]=200;

StringGrid1->Cells[0][0]="Общее количество гласных в файле";

StringGrid1->Cells[0][1]="Количество гласных";

StringGrid1->Cells[0][2]="Количество согласных";

StringGrid1->Cells[0][3]="Количество пробелов ";

StringGrid1->Cells[0][4]="Количество знаков препинания";

StringGrid1->Cells[0][5]="Количество прочих символов";

StringGrid1->Cells[0][6]="Количество букв A,а (лат.)";

StringGrid1->Cells[0][7]=" Количество букв B,b (лат.)";

StringGrid1->Cells[0][8]=" Количество букв C,c (лат.)";

StringGrid1->Cells[0][9]=" Количество букв D,d (лат.)";

StringGrid1->Cells[0][10]=" Количество букв E,e (лат.)";

StringGrid1->Cells[0][11]=" Количество букв F,f (лат.)";

StringGrid1->Cells[0][12]=" Количество букв G,g (лат.)";

StringGrid1->Cells[0][13]=" Количество букв H,h (лат.)";

StringGrid1->Cells[0][14]=" Количество букв I,i (лат.)";

StringGrid1->Cells[0][15]=" Количество букв J,j (лат.)";

StringGrid1->Cells[0][16]=" Количество букв K,k (лат.)";

StringGrid1->Cells[0][17]=" Количество букв L,l (лат.)";

StringGrid1->Cells[0][18]=" Количество букв M,m (лат.)";

StringGrid1->Cells[0][19]=" Количество букв N,n (лат.)";

StringGrid1->Cells[0][20]=" Количество букв O,o (лат.)";

StringGrid1->Cells[0][21]=" Количество букв P,p (лат.)";

StringGrid1->Cells[0][22]=" Количество букв Q,q (лат.)";

StringGrid1->Cells[0][23]=" Количество букв R,r (лат.)";

StringGrid1->Cells[0][24]=" Количество букв S,s (лат.)";

StringGrid1->Cells[0][25]=" Количество букв T,t (лат.)";

StringGrid1->Cells[0][26]=" Количество букв U,u (лат.)";

StringGrid1->Cells[0][27]=" Количество букв V,v (лат.)";

StringGrid1->Cells[0][28]=" Количество букв W,w (лат.)";

StringGrid1->Cells[0][29]=" Количество букв X,x (лат.)";

StringGrid1->Cells[0][30]=" Количество букв Y,y (лат.)";

StringGrid1->Cells[0][31]=" Количество букв Z,z (лат.)";

StringGrid1->Cells[0][32]=" Количество букв А,а (кирил.)";

StringGrid1->Cells[0][33]=" Количество букв Б,б (кирил.)";

StringGrid1->Cells[0][34]=" Количество букв В,в (кирил.)";

StringGrid1->Cells[0][35]=" Количество букв Г,г (кирил.)";

StringGrid1->Cells[0][36]=" Количество букв Д,д (кирил.)";

StringGrid1->Cells[0][37]=" Количество букв Е,е (кирил.)";

StringGrid1->Cells[0][38]=" Количество букв Ё,ё (кирил.)";

StringGrid1->Cells[0][39]=" Количество букв Ж,ж (кирил.)";

StringGrid1->Cells[0][40]=" Количество букв З,з (кирил.)";

StringGrid1->Cells[0][41]=" Количество букв И,и (кирил.)";

StringGrid1->Cells[0][42]=" Количество букв Й,й (кирил.)";

StringGrid1->Cells[0][43]=" Количество букв К,к (кирил.)";

StringGrid1->Cells[0][44]=" Количество букв Л,л (кирил.)";

StringGrid1->Cells[0][45]=" Количество букв М,м (кирил.)";

StringGrid1->Cells[0][46]=" Количество букв Н,н (кирил.)";

StringGrid1->Cells[0][47]=" Количество букв О,о (кирил.)";

StringGrid1->Cells[0][48]=" Количество букв П,п (кирил.)";

StringGrid1->Cells[0][49]=" Количество букв Р,р (кирил.)";

StringGrid1->Cells[0][50]=" Количество букв С,с (кирил.)";

StringGrid1->Cells[0][51]=" Количество букв Т,т (кирил.)";

StringGrid1->Cells[0][52]=" Количество букв У,у (кирил.)";

StringGrid1->Cells[0][53]=" Количество букв Ф,ф (кирил.)";

StringGrid1->Cells[0][54]=" Количество букв Х,х (кирил.)";

StringGrid1->Cells[0][55]=" Количество букв Ц,ц (кирил.)";

StringGrid1->Cells[0][56]=" Количество букв Ч,ч (кирил.)";

StringGrid1->Cells[0][57]=" Количество букв Ш,ш (кирил.)";

StringGrid1->Cells[0][58]=" Количество букв Щ,щ (кирил.)";

StringGrid1->Cells[0][59]=" Количество букв Ь,ь (кирил.)";

StringGrid1->Cells[0][60]=" Количество букв Ы,ы (кирил.)";

StringGrid1->Cells[0][61]=" Количество букв Ъ,ъ (кирил.)";

StringGrid1->Cells[0][62]=" Количество букв Э,э (кирил.)";

StringGrid1->Cells[0][63]=" Количество букв Ю,ю (кирил.)";

StringGrid1->Cells[0][64]=" Количество букв Я,я (кирил.)";

int i;

for (i=0; i<65; i++)

StringGrid1->Cells[1][i]='0';

}

//---------------------------------------------------------------------------

//Сохранение статистических данных в файле

void __fastcall TForm1::Button2Click(TObject *Sender)

{

int i;

if (SaveDialog1->Execute())

{

F2=fopen(SaveDialog1->FileName.c_str(),"w+");

for (i=0;i<65;i++)

{

fputs(StringGrid1->Cells[0][i].c_str(),F2);

fputs(" ",F2);

fputs(StringGrid1->Cells[1][i].c_str(),F2);

fputs("\n",F2);

}

}

fclose(F2);

}

//---------------------------------------------------------------------------

Приложение В

Результаты выполнения программы

Размещено на http://www.allbest.ru/


Подобные документы

  • Игра "Пятнашки": исходные данные, условия задачи и цели ее решения. Основные приемы программирования и типы данных, используемые при решении аналогичных задач. Для разработки программы использовался язык С и среда программирования Borland C++ Builder.

    курсовая работа [674,1 K], добавлен 03.07.2011

  • Описание решения задачи, ее постановка, общий подход к решению. Представление исходных данных, условий задачи и целей ее решения. Составление алгоритма решения поставленной задачи. Написание программного обеспечения и тестирование конечного продукта.

    курсовая работа [1,1 M], добавлен 03.07.2011

  • Работа в Borland C++ Builder. Среда разработки и компоненты C++ Builder. Свойства компонентов. Менеджер проектов. Создание приложений в C++ Builder. Выбор компонентов для групповых операций. Работа с базами данных в Borland C++ Builder.

    курсовая работа [35,8 K], добавлен 11.06.2007

  • Разработка программного продукта (лабиринт с входом и выходом, состоящий из комнат) в среде разработки Borland C++ Builder 6. Требования пользователя к программному изделию. Программные ограничения, совместимость. Основные процессы разработки программы.

    курсовая работа [819,9 K], добавлен 14.01.2013

  • Порядок описание процесса разработки модели для разрешения задачи программирования с помощью средств языка программирования. Структуры данных и основные принципы их построения. Этапы компьютерного моделирования. Этапы и значение написания программы.

    курсовая работа [19,5 K], добавлен 19.05.2011

  • Общие сведения по использованию базы данных. Описание предметной области программы. Выбор средств программирования для разработки приложений, технология работы. Оценка автоматизированного рабочего места продавца компакт-дисков в среде Borland C++ Builder.

    курсовая работа [1,3 M], добавлен 24.12.2010

  • Разработка программы в среде программирования Borland Pascal, которая является электронным тестирующим пособием в области химии для 8-10 классов. Написание алгоритма решения задачи, определение необходимых функций, процедур, модулей, файловых переменных.

    контрольная работа [389,3 K], добавлен 19.09.2010

  • Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.

    курсовая работа [96,1 K], добавлен 25.06.2013

  • Си - это язык программирования общего назначения. Постановка задачи: разработка программы - калькулятора. Метод решения задачи. Алгоритм работы программы. Технические данные для использования. Описание основных функций.

    курсовая работа [14,1 K], добавлен 23.05.2002

  • Технические характеристики: постановка задачи, описание основных типов входных и выходных данных. Описание алгоритмов основной программы и процедур удаления и исправления данных в таблицах. Выбор языка программирования. Технико-экономические показатели.

    курсовая работа [478,1 K], добавлен 28.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.