Использование структур и файлов в языке С
Рассмотрение предметной области "Товары в продуктовом магазине", для которой необходимо создать приложение для обработки и поиска информации в визуальном режиме. Добавление, удаление, вставка, отображение записей, отбор записей из файла по условию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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