Использование структур и файлов в языке С

Рассмотрение предметной области "Товары в продуктовом магазине", для которой необходимо создать приложение для обработки и поиска информации в визуальном режиме. Добавление, удаление, вставка, отображение записей, отбор записей из файла по условию.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.05.2024
Размер файла 748,3 K

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

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

Рисунок 3.2.13 - Замена цены по группе

Для вывода всех сведений о товарах заданного производителя необходимо выбрать пункт меню «Основные функции - Вывести все сведения о товарах заданного производителя» или нажать на кнопку «Поиск по производителю», но предварительно необходимо ввести название производителя.

В качестве примера введем производитель «Бремор» (рисунок 3.2.14).

Рисунок 3.2.14 - Результат поиска

Для выхода из программы необходимо выбрать пункт меню «Файл - Выход» или нажать кнопку «Выход».

Заключение

Данная курсовая работа выполнена на языке программирования высокого уровня С++ с использованием компилятора C++ Builder 6.0. Он обеспечивает кардинальное преимущество языка С++, как над своим предшественником языком С так и над другими языками высокого уровня, а именно, поддержка объектно-ориентированного программирования, перегруженных операций и возможность разработки полномасштабных windows-приложений.

Можно сказать, что язык С++ является одним из совершенных и сложных языков программирования на сегодняшний день.

С помощью языка С++ можно решать всевозможные задачи ставящиеся перед современным программистом: написание системных программ, разработка полноценных windows-приложений, объектное моделирование.

В курсовом проекте рассматривалась предметная область «Товары в продуктовом магазине», для которой было создано приложение для обработки и поиска информации в визуальном режиме.

Визуальное приложение было создано в среде C++ Builder 6.0. В приложении были реализованы следующие функции:

- добавление записей в конец файла;

- добавление записи по номеру;

- вывод на экран всех записей в виде таблицы;

- удаление записи по номеру;

- осуществление поиска нужной информации по условию;

- удаление файла;

- копирование данных из файла в резервный файл;

- восстановление файла из резервного файла.

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

Диалог с пользователем в приложении осуществлялся посредством меню.

Список используемых источников

1 Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си: От Turbo C к Borland C++: Справ. Пособие: Под общ. Ред. А.И. Касаткина. - Мн.: Выш. шк., 1992. - 240 с.;

2 Котлинская Г.П., Галиновский О.И. Программирование на языке Си.-Мн.:Выш.шк.,1991.-156 с.

3 Фридман А.Л. Основы объектно-ориентированного программиро-вания на языке С++: Учебный курс - М.: Радио и связь, 1999. - 205 с.

4 Топп У., Форд У. Структуры данных в С++: Пер. с англ. - М.: БИНОМ, 1994. - 816 с.

5 Уэйт М., Прата С., Мартин Д. Язык Си: Руководство для начинающих. /Пер. с англ. - М.: Мир, 1988. - 512 с.

6 Макогон В.С. Язык программирования Си для начинающих./Учебное пос.- Одесса: НПФ Астропринт, 1993.-96 с.

7 Скляров В.А. Язык С++ и объектно-ориентированное программиро-вание. - Мн.: Выш. шк., 1997. - 478 с.

8 Керниган Б., Ритчи Д.,Фьюэр А. Язык программирования СИ. М.: Финансы и статистика,1985. - 279 с.

9 Язык Си для профессионалов./по материалам книги Г. Шилдта/-М.:МВК-СОФТ,1992.-320 с.

Приложение A

Текст визуального приложения

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

#include <vcl.h>

#include <fstream.h>

#include "stdio.h"

#include <stdio.h>;

#include<dstring.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TAndreev_UVP02 *Andreev_UVP02;

FILE *Fs,*Fz;

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

struct {

char naz[50];

char cen[10];

char dat[15];

char sro[15];

char pro[50];

char kol[5];

char tov[50];

} mas;

__fastcall TAndreev_UVP02::TAndreev_UVP02(TComponent* Owner)

: TForm(Owner)

{

}

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

// замена пробела на "|" (для сохранения слов с пробелами)

void zam1(char zamena[100])

{

for (int i=0;i<=strlen(zamena);i++)

if (zamena[i]==' ') zamena[i]='|';

}

// замена "|" на пробел (для сохранения слов с пробелами)

void zam2(char zamena[100])

{

for (int i=0;i<=strlen(zamena);i++)

if (zamena[i]=='|') zamena[i]=' ';

}

void __fastcall TAndreev_UVP02::FormCreate(TObject *Sender)

{

Tab_zap->Cells[0][0]="НАЗВАНИЕ ТОВАРА";

Tab_zap->Cells[1][0]="ЦЕНА ТОВАРА";

Tab_zap->Cells[2][0]="ДАТА ПРОИЗВОДСТВА";

Tab_zap->Cells[3][0]="СРОК ГОДНОСТИ";

Tab_zap->Cells[4][0]="ПРОИЗВОДИТЕЛЬ";

Tab_zap->Cells[5][0]="КОЛ-ВО ТОВАРА";

Tab_zap->Cells[6][0]="ТОВАРНАЯ ГРУППА";

Edit_naz->Text="";

Edit_cen->Text="";

Edit_dat->Text="";

Edit_sro->Text="";

Edit_pro->Text="";

Edit_kol->Text="";

Edit_tov->Text="";

Edit_udal_nom->Text="1";

Edit_dob_nom->Text="1";

Edit_poisk_pro->Text="";

Edit_tovar->Text="";

Edit_new_cen->Text="";

}

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

// Функция добавления записи в конец файла

void __fastcall TAndreev_UVP02::BitBtn_dobClick(TObject *Sender)

{

FILE *Fs,*Fz;

Fz=fopen("rasp","at"); //открытие файла

strcpy(mas.naz,Edit_naz->Text.c_str());flushall();

strcpy(mas.cen,Edit_cen->Text.c_str());flushall();

strcpy(mas.dat,Edit_dat->Text.c_str());flushall();

strcpy(mas.sro,Edit_sro->Text.c_str());flushall();

strcpy(mas.pro,Edit_pro->Text.c_str());flushall();

strcpy(mas.kol,Edit_kol->Text.c_str());flushall();

strcpy(mas.tov,Edit_tov->Text.c_str());flushall();

// замена пробелов (для считывания файла)

zam1(mas.naz); zam1(mas.cen); zam1(mas.dat);

zam1(mas.sro); zam1(mas.pro); zam1(mas.kol);

zam1(mas.tov);

//запись в файл

fprintf(Fz,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,

mas.dat,mas.sro,mas.pro,mas.kol,mas.tov);

fclose(Fz); //закрытие файла

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

FILE *p;

int i;

p=fopen("rasp","rt");

i=0;

//считывание файла

while ((fscanf(p,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

i++;

zam2(mas.naz); Andreev_UVP02->Tab_zap->Cells[0][i]=mas.naz;

zam2(mas.cen); Andreev_UVP02->Tab_zap->Cells[1][i]=mas.cen;

zam2(mas.dat); Andreev_UVP02->Tab_zap->Cells[2][i]=mas.dat;

zam2(mas.sro); Andreev_UVP02->Tab_zap->Cells[3][i]=mas.sro;

zam2(mas.pro); Andreev_UVP02->Tab_zap->Cells[4][i]=mas.pro;

zam2(mas.kol); Andreev_UVP02->Tab_zap->Cells[5][i]=mas.kol;

zam2(mas.tov); Andreev_UVP02->Tab_zap->Cells[6][i]=mas.tov;

}

fclose(p);//закрытие файла

//очистка полей

Edit_naz->Text="";

Edit_cen->Text="";

Edit_dat->Text="";

Edit_sro->Text="";

Edit_pro->Text="";

Edit_kol->Text="";

Edit_tov->Text="";

}

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

//Функция создания файла

void __fastcall TAndreev_UVP02::BitBtn_sozClick(TObject *Sender)

{

Fz=fopen("rasp","wt"); //открытие файла

// очистка таблицы

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

ShowMessage("Файл успешно создан!");

fclose(Fz); //закрытие файла

}

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

// Функция восстановления из резервного файла

void __fastcall TAndreev_UVP02::BitBtn_vostClick(TObject *Sender)

{

FILE *p1,*p2,*p;

p1=fopen("rasp","wt");

p2=fopen("copyrasp","rt");

while ((fscanf(p2,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,&mas.dat,

&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

fprintf(p1,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,mas.dat,

mas.sro,mas.pro,mas.kol,mas.tov);

fcloseall();

MessageDlg("Файл восстановлен!",mtWarning,TMsgDlgButtons()<<mbOK,0);

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

p=fopen("rasp","rt");

int i;

i=0;

while ((fscanf(p,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

i++;

zam2(mas.naz); Andreev_UVP02->Tab_zap->Cells[0][i]=mas.naz;

zam2(mas.cen); Andreev_UVP02->Tab_zap->Cells[1][i]=mas.cen;

zam2(mas.dat); Andreev_UVP02->Tab_zap->Cells[2][i]=mas.dat;

zam2(mas.sro); Andreev_UVP02->Tab_zap->Cells[3][i]=mas.sro;

zam2(mas.pro); Andreev_UVP02->Tab_zap->Cells[4][i]=mas.pro;

zam2(mas.kol); Andreev_UVP02->Tab_zap->Cells[5][i]=mas.kol;

zam2(mas.tov); Andreev_UVP02->Tab_zap->Cells[6][i]=mas.tov;

}

fclose(p);

}

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

// Функция сохранения в резервный файл

void __fastcall TAndreev_UVP02::BitBtn_saveClick(TObject *Sender)

{

FILE *p1,*p2;

p1=fopen("rasp","rt");

p2=fopen("copyrasp","wt");

while ((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,

mas.dat,mas.sro,mas.pro,mas.kol,mas.tov);

fcloseall();

MessageDlg("Резервный файл создан!",mtWarning,

TMsgDlgButtons()<<mbOK,0);

}

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

//Функция добавления записи по номеру

void __fastcall TAndreev_UVP02::BitBtn_dob_nomClick(TObject *Sender)

{

FILE *p1,*p2,*p;

int nom,i;

nom=StrToInt(Edit_dob_nom->Text);

p1=fopen("rasp","rt");

p2=fopen("rasp1","wt");

for (i=0; i<nom-1; i++)

{

fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,&mas.dat,

&mas.sro,&mas.pro,&mas.kol,&mas.tov);

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,mas.dat,

mas.sro,mas.pro,mas.kol,mas.tov);

}

strcpy(mas.naz,Edit_naz->Text.c_str());flushall();

strcpy(mas.cen,Edit_cen->Text.c_str());flushall();

strcpy(mas.dat,Edit_dat->Text.c_str());flushall();

strcpy(mas.sro,Edit_sro->Text.c_str());flushall();

strcpy(mas.pro,Edit_pro->Text.c_str());flushall();

strcpy(mas.kol,Edit_kol->Text.c_str());flushall();

strcpy(mas.tov,Edit_tov->Text.c_str());flushall();

// замена пробелов (для считывания файла)

zam1(mas.naz); zam1(mas.cen); zam1(mas.dat);

zam1(mas.sro); zam1(mas.pro); zam1(mas.kol);

zam1(mas.tov);

//запись в файл

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,mas.dat,

mas.sro,mas.pro,mas.kol,mas.tov);

while ((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,&mas.dat,

&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,mas.dat,

mas.sro,mas.pro,mas.kol,mas.tov);

fcloseall();

unlink("rasp");

rename("rasp1","rasp");

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

p=fopen("rasp","rt");

i=0;

while ((fscanf(p,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,&mas.dat,

&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

i++;

zam2(mas.naz); Andreev_UVP02->Tab_zap->Cells[0][i]=mas.naz;

zam2(mas.cen); Andreev_UVP02->Tab_zap->Cells[1][i]=mas.cen;

zam2(mas.dat); Andreev_UVP02->Tab_zap->Cells[2][i]=mas.dat;

zam2(mas.sro); Andreev_UVP02->Tab_zap->Cells[3][i]=mas.sro;

zam2(mas.pro); Andreev_UVP02->Tab_zap->Cells[4][i]=mas.pro;

zam2(mas.kol); Andreev_UVP02->Tab_zap->Cells[5][i]=mas.kol;

zam2(mas.tov); Andreev_UVP02->Tab_zap->Cells[6][i]=mas.tov;

}

fclose(p);

//очистка полей

Edit_naz->Text="";

Edit_cen->Text="";

Edit_dat->Text="";

Edit_sro->Text="";

Edit_pro->Text="";

Edit_kol->Text="";

Edit_tov->Text="";

}

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

//Функция удаления записи

void __fastcall TAndreev_UVP02::BitBtn_ud_nomClick(TObject *Sender)

{

int i,N,n;

FILE *p1,*p2,*p;

n=StrToInt(Edit_udal_nom->Text);

p1=fopen("rasp","rt");

N=0;

while ((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,&mas.dat,

&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF)) N++;

fseek(p1,0,0);

p2=fopen("rasp1","wt");

if (n<=N)

{

for (i=0; i<n-1; i++)

{

fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov);

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,

mas.dat,mas.sro,mas.pro,mas.kol,mas.tov);

}

fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,&mas.dat,

&mas.sro,&mas.pro,&mas.kol,&mas.tov);

while((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,

mas.dat,mas.sro,mas.pro,mas.kol,mas.tov);

fcloseall();

unlink("rasp");

rename("rasp1","rasp");

}

else

MessageDlg("Нет записей с таким номером!",mtWarning,

TMsgDlgButtons()<<mbOK,0);

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

p=fopen("rasp","rt");

i=0;

while ((fscanf(p,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

i++;

zam2(mas.naz); Andreev_UVP02->Tab_zap->Cells[0][i]=mas.naz;

zam2(mas.cen); Andreev_UVP02->Tab_zap->Cells[1][i]=mas.cen;

zam2(mas.dat); Andreev_UVP02->Tab_zap->Cells[2][i]=mas.dat;

zam2(mas.sro); Andreev_UVP02->Tab_zap->Cells[3][i]=mas.sro;

zam2(mas.pro); Andreev_UVP02->Tab_zap->Cells[4][i]=mas.pro;

zam2(mas.kol); Andreev_UVP02->Tab_zap->Cells[5][i]=mas.kol;

zam2(mas.tov); Andreev_UVP02->Tab_zap->Cells[6][i]=mas.tov;

}

fclose(p);

}

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

void __fastcall TAndreev_UVP02::BitBtn_exitClick(TObject *Sender)

{

Close(); // закрыть

}

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

//Функция удаления файла

void __fastcall TAndreev_UVP02::BitBtn_udClick(TObject *Sender)

{

int pr;

pr=MessageDlg("Подтвердите удаление файла",mtWarning,

TMsgDlgButtons()<<mbYes<<mbNo,0);

if (pr==mrYes)

{

unlink("rasp");

MessageDlg("Файл успешно удален!",mtWarning,TMsgDlgButtons()<<mbOK,0);

// очистка таблицы

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

}

else

MessageDlg("Файл не удален",mtWarning,TMsgDlgButtons()<<mbOK,0);

}

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

//Функция поиска

void __fastcall TAndreev_UVP02::BitBtn_poiskClick(TObject *Sender)

{

char dd[70];

int i;

i=0;

strcpy(dd,Andreev_UVP02->Edit_poisk_pro->Text.c_str()); zam1(dd);

int pr=-1;

FILE *p1;

p1=fopen("rasp","rt");

while((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

if (strcmp(mas.pro,dd)==0)

{

pr=1;

i++;

zam2(mas.naz); Form_find->Tabl_poisk->Cells[0][i]=mas.naz;

zam2(mas.cen); Form_find->Tabl_poisk->Cells[1][i]=mas.cen;

zam2(mas.dat); Form_find->Tabl_poisk->Cells[2][i]=mas.dat;

zam2(mas.sro); Form_find->Tabl_poisk->Cells[3][i]=mas.sro;

zam2(mas.pro); Form_find->Tabl_poisk->Cells[4][i]=mas.pro;

zam2(mas.kol); Form_find->Tabl_poisk->Cells[5][i]=mas.kol;

zam2(mas.tov); Form_find->Tabl_poisk->Cells[6][i]=mas.tov;

Form_find->Tabl_poisk->RowCount=i+1;

}

fclose(p1);

if (pr==(-1))

{

MessageDlg("Нет записей!",mtWarning,TMsgDlgButtons()<<mbOK,0);

}

else Form_find->ShowModal();

}

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

void __fastcall TAndreev_UVP02::BitBtn_ud_kolClick(TObject *Sender)

{

char ff[5];

int k,pr=0,i;

FILE *p1,*p2,*p;

p1=fopen("rasp","rt");

p2=fopen("rasp1","wt");

while((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

if (StrToDate(mas.sro)>Date())

{

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,

mas.dat,mas.sro,mas.pro,mas.kol,mas.tov);

}

else

pr=1;

}

fcloseall();

if(pr==0) MessageDlg("Нет записей!",mtWarning,

TMsgDlgButtons()<<mbOK,0);

else

{

unlink("rasp");

rename("rasp1","rasp");

}

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

p=fopen("rasp","rt");

i=0;

while ((fscanf(p,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

i++;

zam2(mas.naz); Andreev_UVP02->Tab_zap->Cells[0][i]=mas.naz;

zam2(mas.cen); Andreev_UVP02->Tab_zap->Cells[1][i]=mas.cen;

zam2(mas.dat); Andreev_UVP02->Tab_zap->Cells[2][i]=mas.dat;

zam2(mas.sro); Andreev_UVP02->Tab_zap->Cells[3][i]=mas.sro;

zam2(mas.pro); Andreev_UVP02->Tab_zap->Cells[4][i]=mas.pro;

zam2(mas.kol); Andreev_UVP02->Tab_zap->Cells[5][i]=mas.kol;

zam2(mas.tov); Andreev_UVP02->Tab_zap->Cells[6][i]=mas.tov;

}

fclose(p);

}

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

void __fastcall TAndreev_UVP02::BitBtn_zamClick(TObject *Sender)

{

FILE *p1,*p2,*p;

int i,pr=0;

char pp[50];

strcpy(pp,Edit_tovar->Text.c_str()); zam1(pp);

p1=fopen("rasp","rt");

p2=fopen("rasp1","wt");

while ((fscanf(p1,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

if(strcmp(mas.tov,pp)==0)

{

strcpy(mas.cen,Edit_new_cen->Text.c_str()); zam1(mas.cen);

pr=1;

}

fprintf(p2,"%s %s %s %s %s %s %s\n",mas.naz,mas.cen,

mas.dat,mas.sro,mas.pro,mas.kol,mas.tov);

}

fcloseall();

if(pr==0) MessageDlg("Нет записей!",mtWarning,TMsgDlgButtons()<<mbOK,0);

else

{

unlink("rasp");

rename("rasp1","rasp");

}

for (int i=0;i<=500;i++)

{

Tab_zap->Cells[0][i+1]="";

Tab_zap->Cells[1][i+1]="";

Tab_zap->Cells[2][i+1]="";

Tab_zap->Cells[3][i+1]="";

Tab_zap->Cells[4][i+1]="";

Tab_zap->Cells[5][i+1]="";

Tab_zap->Cells[6][i+1]="";

}

p=fopen("rasp","rt");

i=0;

while ((fscanf(p,"%s %s %s %s %s %s %s\n",&mas.naz,&mas.cen,

&mas.dat,&mas.sro,&mas.pro,&mas.kol,&mas.tov)!=EOF))

{

i++;

zam2(mas.naz); Andreev_UVP02->Tab_zap->Cells[0][i]=mas.naz;

zam2(mas.cen); Andreev_UVP02->Tab_zap->Cells[1][i]=mas.cen;

zam2(mas.dat); Andreev_UVP02->Tab_zap->Cells[2][i]=mas.dat;

zam2(mas.sro); Andreev_UVP02->Tab_zap->Cells[3][i]=mas.sro;

zam2(mas.pro); Andreev_UVP02->Tab_zap->Cells[4][i]=mas.pro;

zam2(mas.kol); Andreev_UVP02->Tab_zap->Cells[5][i]=mas.kol;

zam2(mas.tov); Andreev_UVP02->Tab_zap->Cells[6][i]=mas.tov;

}

fclose(p);

}

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

void __fastcall TAndreev_UVP02::N10Click(TObject *Sender)

{

BitBtn_exit->Click();

}

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

void __fastcall TAndreev_UVP02::N2Click(TObject *Sender)

{

BitBtn_soz->Click();

}

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

void __fastcall TAndreev_UVP02::N3Click(TObject *Sender)

{

BitBtn_ud->Click();

}

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

void __fastcall TAndreev_UVP02::N4Click(TObject *Sender)

{

BitBtn_save->Click();

}

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

void __fastcall TAndreev_UVP02::N5Click(TObject *Sender)

{

BitBtn_vost->Click();

}

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

void __fastcall TAndreev_UVP02::N12Click(TObject *Sender)

{

BitBtn_dob->Click();

}

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

void __fastcall TAndreev_UVP02::N13Click(TObject *Sender)

{

BitBtn_dob_nom->Click();

}

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

void __fastcall TAndreev_UVP02::N14Click(TObject *Sender)

{

BitBtn_ud_nom->Click();

}

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

void __fastcall TAndreev_UVP02::N16Click(TObject *Sender)

{

BitBtn_ud_kol->Click();

}

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

void __fastcall TAndreev_UVP02::N17Click(TObject *Sender)

{

BitBtn_zam->Click();

}

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

void __fastcall TAndreev_UVP02::N18Click(TObject *Sender)

{

BitBtn_poisk->Click();

}

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

Размещено на Allbest.ru


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

  • Программа обработки экономической информации, осуществляющая ввод исходной информации из файла. Просмотр таблицы исходных данных и ее редактирование. Внутреннее представление данных. Хранение записей входного файла. Добавление и удаление строк из списка.

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

  • Разработка базы данных академической успеваемости 10 студентов. Корреляция БД с использованием форм: вставка, удаление и изменение записей. Поиск записей в списке по различным критериям. Сортировка информации и отбор данных с помощью автофильтров.

    лабораторная работа [921,5 K], добавлен 17.06.2014

  • Типы ограничений, поддерживающие целостность в реляционной модели данных. Определение значения поля первичного ключа с помощью генератора. Добавление, изменение и удаление записей в таблицу базы данных "Библиотека" на языке программирования SQL.

    лабораторная работа [30,5 K], добавлен 10.10.2012

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

    курсовая работа [95,3 K], добавлен 12.08.2011

  • Структура заданного исходного файла и структуры данных, соответствующие данным файла. Подпрограмма проверки принадлежности текста к одной из шести кодовых таблиц. Алгоритмы перекодировки файла в cp1251. Алгоритм сортировки записей исходного файла.

    курсовая работа [63,7 K], добавлен 12.12.2010

  • Конструирование программ на высокоуровневых языках программирования на примере Pelec C. Модульная схема программы. Добавление новых записей, удаление и редактирование старых. Приемы реализации динамических списков связного хранения, методы их обработки.

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

  • Создание базы данных и описание программы "Учебная база данных", предназначенной для группировки сведений об учениках. Характеристика функциональных возможностей программы: добавление записей в базу, редактирование, удаление записей и сортировка данных.

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

  • Создание базы данных. Поиск, изменение и удаление записей. Обработка и обмен данными. Проектирование базы данных. Определение формул для вычисляемой части базы. Редактирование полей и записей. Формы представления информации, содержащейся в базе данных.

    курсовая работа [67,0 K], добавлен 23.02.2009

  • Разработка программы на языке Си++ и осуществление постановки и выбора алгоритмов решения задач обработки экономической информации, создание и редактирование базы данных, сортировка записей по определенному запросу, анализ эффективности обработки данных.

    контрольная работа [316,8 K], добавлен 28.08.2012

  • Синтаксис, типы данных, используемые в базе данных MySQL. Создание и удаление базы данных, создание таблицы и удаление таблицы, изменение ее свойств. Переименование, вставка и удаление столбцов, изменение их свойств. Обновление и поиск записей в таблице.

    лабораторная работа [641,7 K], добавлен 04.03.2010

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