最新可视化程序设计实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可视化程序设计实验
«Skip Record If...»
二○一○~二○一一学年第一学期
信息科学与工程学院
可视化编程课程设计
班级:电信(DB)0801
学号:200812135033
姓名:徐瑾一
指导教师:陈彬
◆实验题目:设计图书管理系统
◆实验目的:
1)考察对C++builder的基本操作;
2)考察对数据库的建立及运用;
3)考察对基本程序的设计
◆实验要求:
设计的图书管理系统需要具有以下要求:
图书录入功能。能对图书进行录入功能,将书名,作者,出版社,图书总数量和剩余数量等基本信息录入数据库。需注意的是,可能不止一本图书有相同的书名。
图书浏览功能。能对数据库内的所有图书信息进行浏览。
图书借阅功能。能对数据库内的图书进行借阅。
图书归还功能。能对图书进行归还。
用户登录功能。
◆实验原理:
设计图书管理系统,需具备至少五个模块。即为图书录入模块,图书浏览模块,图书借阅和归还模块,用户登录模块。对应每个模块,我们需要建立相应的界面。
1、用户登录界面。用户登陆界面是在所有界面之前显现出来的。用
户登录模块需要对用户单独建立一个表,使其能够管理用户。对于不正确的用户登录码和用户密码能进行提示。用户登录成功后能进入图书管理系统的主页面。
图书借阅和归还模块。对于图书的借阅和归还模块可以设置在一个页面内,方便操作。对于实现图书的借阅和归还的功能实现,主要是对数据库内的图书相对的剩余书的数量进行操作。
图书录入界面。对于图书的录入界面,需要显示图书的各种信息,以方便管理员进行图书的录入。对于相同的书名问题,本人设计数据库表格时,重新设定了一个图书的编号,将其与图书的书名一起作为关键字,即可解决该问题。图书的录入界面要包含图书的书名,作者,出版社,图书的总数量和剩余数量。对于用户的登录码和密码,本人添加了一个用户管理模块,能根据用户输入的登录码和密码,进行普通用户和管理员用户的管理功能。以方便操作者。
图书浏览模块。在图书浏览模块,需显示图书的基本信息外,可以对图书顺序浏览。
实验过程:
1、先建立所需要的数据库表格。图书管理系统需要两个表格,分别是
图书基本信息表和用户管理表格。
1)用户管理表格建立:用户管理表需要有用户的登录码和密码,以及用户级别和用户姓名。
用户的表格命名为USERM,创建如下:
2)图书基本信息表的建立:图书基本信息表需要有图书的编号,书名,作者,出版社,总数量和现有数量。
图书表格创建如下:
图书基本信息表保存为TSXX.db,将两个表存放在一个子目录中,
设置一个别名为LAB的数据库。
2、创建用户登录界面。
用户登录界面如下:
用户登录界面ULogin.cpp内容如下:
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "ULogin.h"
#include "UMain.h"
//------------------------------------------------------------------------- #pragma package(smart_init)
#pragma resource "*.dfm"
TFLogin *FLogin;
__fastcall TFLogin::TFLogin(TComponent* Owner)
: TForm(Owner)
{
}
//------------------------------------------------------------------------
void __fastcall TFLogin::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
if(Key==13&&Edit1->Text!="")
{
Edit2->Text="";
Edit2->SetFocus();
}
if(Key==27)
{
if(Edit1->Text=="")
Application->Terminate();
else Edit1->Text="";
}
}
//------------------------------------------------------------------------- void __fastcall TFLogin::Edit2KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
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(); else Edit2->Text=""; } } //------------------------------------------------------------------------- void __fastcall TFLogin::FormShow(TObject *Sender) { Edit1->SetFocus();