Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Скоморошкин





Иванович

Гольф

 

4. Реализация проекта.

 

Данный проект реализован на языке программирования С++ с использованием компилятора C++ Builder 2009 и представляет собой Windows приложение. Вариант:консольное приложение.

 

Код программы состоит из нескольких файлов:

«Kursovaya.h»

«Kursovaya.cpp»

 

«Kursovaya.h»

 

#ifndef KursovayaH

#define KursovayaH

 

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <vector.h>

#include <algorith.h>

#include <stdio.h>

#include <Dialogs.hpp>

#include <Menus.hpp>

#include <ComCtrls.hpp>

#include <ImgList.hpp>

#include <ToolWin.hpp>

struct sport{

char name[20];

char Surname[20];

char Otchestvo[20];

char VidSporta[20];

int razr;

friend bool operator<(const sport& a,const sport& b)

{ return a.razr<b.razr; } // for sort by razr

friend bool operator==(const sport& a,const sport& b)

{ return a.razr==b.razr; } // for search by razr

};

using namespace std;

extern vector <sport> team;

extern int iMax,iCur;

 

class TForm1: public TForm

{

__published: // IDE-managed Components

TEdit *NameEdit;

TEdit *SurnameEdit;

TEdit *OtchestvoEdit;

TLabel *Label1;

TLabel *Surname;

TLabel *Otchestvo;

TEdit *VidSportaEdit;

TLabel *VidSporta;

TEdit *razrEdit;

TLabel *Razr;

TGroupBox *GroupBox1;

TButton *PrevB;

TButton *NextB;

TGroupBox *GroupBox2;

TButton *AddB;

TButton *DeleteB;

TButton *ChangeB;

TGroupBox *GroupBox3;

TButton *SortB;

TGroupBox *GroupBox4;

TButton *OpenB;

TButton *SaveB;

TGroupBox *GroupBox5;

TButton *OkB;

TButton *ExitB;

TGroupBox *GroupBox7;

TEdit *SearchEdit;

TButton *SearchB;

TLabel *LabelNum;

TSaveDialog *SaveDialog1;

TOpenDialog *OpenDialog1;

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TMenuItem *N6;

TMenuItem *N7;

TMenuItem *N8;

TMenuItem *N9;

TMenuItem *N10;

TMenuItem *N11;

TMenuItem *N12;

TImageList *ImageList1;

TToolBar *ToolBar1;

TToolButton *ToolButton2;

TToolButton *ToolButton3;

TToolButton *ToolButton1;

void __fastcall AddBClick(TObject *Sender);

void __fastcall PrevBClick(TObject *Sender);

void __fastcall NextBClick(TObject *Sender);

void __fastcall SaveBClick(TObject *Sender);

void __fastcall OpenBClick(TObject *Sender);

void __fastcall SortBClick(TObject *Sender);

void __fastcall SearchBClick(TObject *Sender);

void __fastcall DeleteBClick(TObject *Sender);

void __fastcall ExitBClick(TObject *Sender);

void __fastcall OkBClick(TObject *Sender);

void __fastcall ChangeBClick(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

void __fastcall N3Click(TObject *Sender);

void __fastcall N5Click(TObject *Sender);

void __fastcall N6Click(TObject *Sender);

void __fastcall N7Click(TObject *Sender);

void __fastcall N9Click(TObject *Sender);

void __fastcall N10Click(TObject *Sender);

void __fastcall N11Click(TObject *Sender);

void __fastcall N12Click(TObject *Sender);

void __fastcall ToolButton2Click(TObject *Sender);

void __fastcall ToolButton3Click(TObject *Sender);

void __fastcall ToolButton1Click(TObject *Sender);

private: // User declarations

public: // User declarations

void __fastcall ShowRecord();

__fastcall TForm1(TComponent* Owner);

};

 

extern PACKAGE TForm1 *Form1;

 

#endif

 

«Kursovaya.cpp»

 

 

#include <vcl.h>

#pragma hdrstop

 

#include "Kursovaya.h"

 

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

vector <sport> team;

int iMax=0,iCur=0;

 

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

 

void __fastcall TForm1::AddBClick(TObject *Sender)

{

team.push_back(sport());

strcpy(team[iMax].name,NameEdit->Text.t_str());

strcpy(team[iMax].Surname,SurnameEdit->Text.t_str());

strcpy(team[iMax].Otchestvo,OtchestvoEdit->Text.t_str());

strcpy(team[iMax].VidSporta,VidSportaEdit->Text.t_str());

team[iMax].razr=razrEdit->Text.ToIntDef(0);

iCur=iMax; iMax++;

LabelNum->Caption= IntToStr(iMax);

 

}

 

void __fastcall TForm1::ShowRecord()

{

NameEdit->Text=team[iCur].name;

SurnameEdit->Text=team[iCur].Surname;

OtchestvoEdit->Text=team[iCur].Otchestvo;

VidSportaEdit->Text=team[iCur].VidSporta;

razrEdit->Text=IntToStr(team[iCur].razr);

LabelNum->Caption=IntToStr(iCur+1);

}

 

void __fastcall TForm1::PrevBClick(TObject *Sender)

{

if(iCur<=0) return;

iCur--; ShowRecord();

 

}

 

void __fastcall TForm1::NextBClick(TObject *Sender)

{

if(iCur>=iMax-1) return;

iCur++; ShowRecord();

 

}

 

void __fastcall TForm1::SaveBClick(TObject *Sender)

{

SaveDialog1->Execute();

FILE *f=fopen(SaveDialog1->FileName.t_str(),"wb"); // t_str() for Builder 2009

if(f)fwrite(&team[0],sizeof(sport),iMax,f);

else ShowMessage("file error");

fclose(f);

 

}

 

void __fastcall TForm1::OpenBClick(TObject *Sender)

{

OpenDialog1->Execute();

FILE *f=fopen(OpenDialog1->FileName.t_str(),"rb"); // t_str() for Builder 2009

if(f==0){

ShowMessage("file error");return;

}

for(int i=0;i<team.max_size();i++){

sport s;

fread(&s,sizeof(sport),1,f);

if(feof(f)) break;

team.push_back(s);

}

fclose(f);

iMax=team.size(); iCur=0; ShowRecord();

 

}

 

void __fastcall TForm1::SortBClick(TObject *Sender)

{

if(iCur!=0){

sort(team.begin(),team.end());

iCur=0; ShowRecord();

}

}

 

void __fastcall TForm1::SearchBClick(TObject *Sender)

{

if(team.empty()){ShowMessage("Empty"); return;}

 

sport s;

vector <sport>::iterator p;

s.razr=SearchEdit->Text.ToIntDef(0);

p=find(team.begin(),team.end(),s);

 

if (p!=team.end()) {

iCur=p-team.begin();

ShowRecord();

}

else ShowMessage("Такой записи нет");

}

 

void __fastcall TForm1::DeleteBClick(TObject *Sender)

{ if(iCur!=0){

if (iMax<=0) {

team.push_back(sport());

NameEdit->Text = "";

SurnameEdit->Text = "";

OtchestvoEdit->Text = "";

VidSportaEdit->Text = "";

razrEdit->Text = "";

return;}

if(iCur==iMax){iCur--;}

else{

for(int i=iCur;i<iMax-1;i++) team[i]=team[i+1];

}

iMax--;

ShowRecord();

 

 

}

}

 

void __fastcall TForm1::ExitBClick(TObject *Sender)

{

Form1->Close();

}

 

void __fastcall TForm1::OkBClick(TObject *Sender)

{

SaveDialog1->Execute();

FILE *f=fopen(SaveDialog1->FileName.t_str(),"wb"); // t_str() for Builder 2009

if(f)fwrite(&team[0],sizeof(sport),iMax,f);

else ShowMessage("file error");

fclose(f);

Form1->Close();

}

 

void __fastcall TForm1::ChangeBClick(TObject *Sender)

{

team.push_back(sport());

strcpy(team[iCur].name,NameEdit->Text.t_str());

strcpy(team[iCur].Surname,SurnameEdit->Text.t_str());

strcpy(team[iCur].Otchestvo,OtchestvoEdit->Text.t_str());

strcpy(team[iCur].VidSporta,VidSportaEdit->Text.t_str());

team[iCur].razr=razrEdit->Text.ToIntDef(0);

 

}

 

void __fastcall TForm1::N2Click(TObject *Sender)

{

OpenDialog1->Execute();

FILE *f=fopen(OpenDialog1->FileName.t_str(),"rb"); // t_str() for Builder 2009

if(f==0){

ShowMessage("file error");return;

}

for(int i=0;i<team.max_size();i++){

sport s;

fread(&s,sizeof(sport),1,f);

if(feof(f)) break;

team.push_back(s);

}

fclose(f);

iMax=team.size(); iCur=0; ShowRecord();

 

}

 

void __fastcall TForm1::N3Click(TObject *Sender)

{

SaveDialog1->Execute();

FILE *f=fopen(SaveDialog1->FileName.t_str(),"wb"); // t_str() for Builder 2009

if(f)fwrite(&team[0],sizeof(sport),iMax,f);

else ShowMessage("file error");

fclose(f);

 

}

 

void __fastcall TForm1::N5Click(TObject *Sender)

{

team.push_back(sport());

strcpy(team[iMax].name,NameEdit->Text.t_str());

strcpy(team[iMax].Surname,SurnameEdit->Text.t_str());

strcpy(team[iMax].Otchestvo,OtchestvoEdit->Text.t_str());

strcpy(team[iMax].VidSporta,VidSportaEdit->Text.t_str());

team[iMax].razr=razrEdit->Text.ToIntDef(0);

iCur=iMax; iMax++;

LabelNum->Caption= IntToStr(iMax);

 

}

 

void __fastcall TForm1::N6Click(TObject *Sender)

{

if (iMax<=0) {

team.push_back(sport());

NameEdit->Text = "";

SurnameEdit->Text = "";

OtchestvoEdit->Text = "";

VidSportaEdit->Text = "";

razrEdit->Text = "";

return;}

if(iCur==iMax){iCur--;}

else{

for(int i=iCur;i<iMax-1;i++) team[i]=team[i+1];

}

iMax--;

ShowRecord();

}

 

void __fastcall TForm1::N7Click(TObject *Sender)

{

team.push_back(sport());

strcpy(team[iCur].name,NameEdit->Text.t_str());

strcpy(team[iCur].Surname,SurnameEdit->Text.t_str());

strcpy(team[iCur].Otchestvo,OtchestvoEdit->Text.t_str());

strcpy(team[iCur].VidSporta,VidSportaEdit->Text.t_str());

team[iCur].razr=razrEdit->Text.ToIntDef(0);

 

}

 

void __fastcall TForm1::N9Click(TObject *Sender)

{

SaveDialog1->Execute();

FILE *f=fopen(SaveDialog1->FileName.t_str(),"wb"); // t_str() for Builder 2009

if(f)fwrite(&team[0],sizeof(sport),iMax,f);

else ShowMessage("file error");

fclose(f);

Form1->Close();

}

 

void __fastcall TForm1::N10Click(TObject *Sender)

{

Form1->Close();

}

 

void __fastcall TForm1::N11Click(TObject *Sender)

{

if(iCur<=0) return;

iCur--; ShowRecord();

 

}

 

void __fastcall TForm1::N12Click(TObject *Sender)

{

if(iCur>=iMax-1) return;

iCur++; ShowRecord();

}

 

void __fastcall TForm1::ToolButton2Click(TObject *Sender)

{

OpenDialog1->Execute();

FILE *f=fopen(OpenDialog1->FileName.t_str(),"rb"); // t_str() for Builder 2009

if(f==0){

ShowMessage("file error");return;

}

for(int i=0;i<team.max_size();i++){

sport s;

fread(&s,sizeof(sport),1,f);

if(feof(f)) break;

team.push_back(s);

}

fclose(f);

iMax=team.size(); iCur=0; ShowRecord();

 

}

 

void __fastcall TForm1::ToolButton3Click(TObject *Sender)

{

SaveDialog1->Execute();

FILE *f=fopen(SaveDialog1->FileName.t_str(),"wb"); // t_str() for Builder 2009

if(f)fwrite(&team[0],sizeof(sport),iMax,f);

else ShowMessage("file error");

fclose(f);

}

 

void __fastcall TForm1::ToolButton1Click(TObject *Sender)

{

Form1->Close();

}

 

5. Перспективы доработки.

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

 

 

Date: 2016-01-20; view: 391; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию