可视化程序设计实验.docx
- 文档编号:2286006
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:16
- 大小:271.97KB
可视化程序设计实验.docx
《可视化程序设计实验.docx》由会员分享,可在线阅读,更多相关《可视化程序设计实验.docx(16页珍藏版)》请在冰豆网上搜索。
可视化程序设计实验
二○一○~二○一一学年第一学期
信息科学与工程学院
可视化编程课程设计
班级:
电信(DB)0801
学号:
200812135033
姓名:
徐瑾一
指导教师:
陈彬
◆实验题目:
设计图书管理系统
◆实验目的:
1)考察对C++builder的基本操作;
2)考察对数据库的建立及运用;
3)考察对基本程序的设计
◆实验要求:
设计的图书管理系统需要具有以下要求:
图书录入功能。
能对图书进行录入功能,将书名,作者,出版社,图书总数量和剩余数量等基本信息录入数据库。
需注意的是,可能不止一本图书有相同的书名。
图书浏览功能。
能对数据库内的所有图书信息进行浏览。
图书借阅功能。
能对数据库内的图书进行借阅。
图书归还功能。
能对图书进行归还。
用户登录功能。
◆实验原理:
设计图书管理系统,需具备至少五个模块。
即为图书录入模块,图书浏览模块,图书借阅和归还模块,用户登录模块。
对应每个模块,我们需要建立相应的界面。
1、用户登录界面。
用户登陆界面是在所有界面之前显现出来的。
用
户登录模块需要对用户单独建立一个表,使其能够管理用户。
对于不正确的用户登录码和用户密码能进行提示。
用户登录成功后能进入图书管理系统的主页面。
图书借阅和归还模块。
对于图书的借阅和归还模块可以设置在一个页面内,方便操作。
对于实现图书的借阅和归还的功能实现,主要是对数据库内的图书相对的剩余书的数量进行操作。
图书录入界面。
对于图书的录入界面,需要显示图书的各种信息,以方便管理员进行图书的录入。
对于相同的书名问题,本人设计数据库表格时,重新设定了一个图书的编号,将其与图书的书名一起作为关键字,即可解决该问题。
图书的录入界面要包含图书的书名,作者,出版社,图书的总数量和剩余数量。
对于用户的登录码和密码,本人添加了一个用户管理模块,能根据用户输入的登录码和密码,进行普通用户和管理员用户的管理功能。
以方便操作者。
图书浏览模块。
在图书浏览模块,需显示图书的基本信息外,可以对图书顺序浏览。
◆实验过程:
1、先建立所需要的数据库表格。
图书管理系统需要两个表格,分别是图书基本信息表和用户管理表格。
1)用户管理表格建立:
用户管理表需要有用户的登录码和密码,以及用户级别和用户姓名。
用户的表格命名为USERM,创建如下:
2)图书基本信息表的建立:
图书基本信息表需要有图书的编号,书名,作者,出版社,总数量和现有数量。
图书表格创建如下:
图书基本信息表保存为TSXX.db,将两个表存放在一个子目录中,设置一个别名为LAB的数据库。
2、创建用户登录界面。
用户登录界面如下:
用户登录界面ULogin.cpp内容如下:
//---------------------------------------------------------------------------
#include
#pragmahdrstop
#include"ULogin.h"
#include"UMain.h"
//-------------------------------------------------------------------------
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
TFLogin*FLogin;
__fastcallTFLogin:
:
TFLogin(TComponent*Owner)
:
TForm(Owner)
{
}
//------------------------------------------------------------------------
void__fastcallTFLogin:
:
Edit1KeyUp(TObject*Sender,WORD&Key,
TShiftStateShift)
{
if(Key==13&&Edit1->Text!
="")
{
Edit2->Text="";
Edit2->SetFocus();
}
if(Key==27)
{
if(Edit1->Text=="")
Application->Terminate();
elseEdit1->Text="";
}
}
//-------------------------------------------------------------------------
void__fastcallTFLogin:
:
Edit2KeyUp(TObject*Sender,WORD&Key,
TShiftStateShift)
{
if(Key==13&&Edit2->Text!
="")
{
if(CheckUser(Edit1->Text.Trim(),Edit2->Text.Trim()))
{
this->Hide();
FMain->ShowModal();
}
else{
MessageDlg("请输入正确的用户名和密码!
'",mtWarning,TMsgDlgButtons()< Edit1->Text=""; Edit1->SetFocus(); } } if(Key==27) { if(Edit2->Text=="") Application->Terminate(); elseEdit2->Text=""; } } //------------------------------------------------------------------------- void__fastcallTFLogin: : FormShow(TObject*Sender) { Edit1->SetFocus(); Edit1->Text=""; Edit2->Text=""; } //------------------------------------------------------------------------- bool__fastcallTFLogin: : CheckUser(AnsiStringUserID,AnsiStringUserPsw) { Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("SELECT*FROMUSERMWHEREUserID='"+UserID+"'"); try{ Query1->Open(); }catch(...) { ShowMessage("请输入正确的用户名和密码! "+Query1->SQL->Text); Edit1->Text=""; Edit1->SetFocus(); } if(Query1->RecordCount! =0){ while(! Query1->Eof){ if(Trim((AnsiString)Query1->FieldByName("UserPwd")->Value)==UserPsw) { Query1->Close(); returntrue; } Query1->Next(); } returnfalse; } Query1->Close(); returnfalse; } 2、创建主界面。 主界面创建如下: 主界面的程序代码文件UMain.cpp内容如下: //----------------------------------------------------------------- #include #pragmahdrstop #include"UMain.h" #include"UDataInput.h" #include"UDataReport.h" #include"UPassWord.h" #include"UBookLoad.h" //---------------------------------------------------------------- #pragmapackage(smart_init) #pragmaresource"*.dfm" TFMain*FMain; //----------------------------------------------------------------- __fastcallTFMain: : TFMain(TComponent*Owner) : TForm(Owner) { } //----------------------------------------------------------------- void__fastcallTFMain: : Button6Click(TObject*Sender) { if(MessageDlg("确定要结束程序运行吗? ",mtWarning,TMsgDlgButtons()< { Application->Terminate(); } } //----------------------------------------------------------------- void__fastcallTFMain: : Button1Click(TObject*Sender) { FDataInput->Show(); } //----------------------------------------------------------------- void__fastcallTFMain: : Button4Click(TObject*Sender) { FDataReport->Show(); } //----------------------------------------------------------------- void__fastcallTFMain: : Button5Click(TObject*Sender) { FPassWord->Show(); } //----------------------------------------------------------------- void__fastcallTFMain: : Button3Click(TObject*Sender) { FBookLoad->Show(); } //----------------------------------------------------------------- 3、数据模块设计 通过选择File|New|DataModule进入创建数据模块界面,并在其中放入一个Table和一个DataSource,如下图所示: DataSource1的DataSet为Table1,Table1的TableName为TSXX.db,DataBaseName为LAB,Active为true。 4、图书录入界面设计 图书基本信息录入页面如下图所示: 图书录入页面UDataInput.cpp程序如下: //------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 程序设计 实验