#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <fstream>
#include "Book.h"
#include<Windows.h>
#include<graphics.h>
#include<math.h>
#include<stdlib.h>
#define CMD_COLS 80////////////////////////////////////////////////////////////////////////
#define CMD_LINES 25///////////////////////////////////////////////////////////////////////
#define High 628 //给定界面的高度和宽度
#define Width 1020
#pragma comment(lib,"Winmm.lib") //支持对windows 多媒体的编程.
IMAGE img_bk, img_bk1, img_bk2; //窗口背景
IMAGE img_bk3, img_bk4; //返回图片及其阴影
IMAGE img_bk5, img_bk51, img_bk6, img_bk61, img_bk7, img_bk71, img_bk8, img_bk81;//开始界面的贴图
IMAGE img_bk31, img_bk32, img_bk311, img_bk321;//上下页的贴图
IMAGE img_bk41, img_bk411;
int bookstatus = 0; //管理状态,0为初始菜单界面,1为,2为,3为,4为
using namespace std;
void HideCursor(); //隐藏光标函数
//void SetScreenGrid(); //设置屏幕显示的行数和列数
void ClearScreen(); //清除屏幕信息
void ClearScreen1();
void SetSysCaption(const char *pText); //设置窗体标题栏
void startMenu(); //显示开始菜单
void startup(); //初始化信息
void show(); //显示界面
void WaitView(int iCurPage); //浏览数据时等待用户操作
void WaitUser(); //等待用户操作
void GuideInput(); //使用向导添加图书信息
int GetSelect(); //获得用户菜单选择
long GetFileLength(ifstream &ifs); //获取文件长度
void ViewData(int iSelPage); //浏览所有图书记录
void InquireBookFrom();//查询图书
void DeleteBookFromFile(); //在文件中产生图书信息
//void mainloop(); //主循环
void main()
{
HideCursor();
//SetScreenGrid();
//SetSysCaption(_T("图书管理系统"));
//mainloop();
initgraph(Width, High);
while (1)
{
startup();
}
}
void HideCursor() //隐藏光标函数
{
CONSOLE_CURSOR_INFO cursor_info = { 1,0 };
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
/*void SetScreenGrid()
{
char sysSetBuf[80];
sprintf_s(sysSetBuf, "mode con cols=%d lines=%d", CMD_COLS, CMD_LINES);
system(sysSetBuf);
}*/
/*void SetSysCaption()
{
system("title Sample");
}*/
/*void SetSysCaption(const char *pText)
{
char sysSetBuf[80];
sprintf_s(sysSetBuf, "title %s", pText);
system(sysSetBuf);
}*/
void ClearScreen() {
system("cls");
}
void ClearScreen1() {
BeginBatchDraw();
putimage(0, 0, &img_bk1);
setbkmode(TRANSPARENT);//设置透明窗口,文字背景就透明了(和窗口背景一样)
settextcolor(BLACK);
}
void startMenu() {
putimage(0, 0, &img_bk);
setbkmode(TRANSPARENT);//设置透明窗口,文字背景就透明了(和窗口背景一样)
settextcolor(BLACK);
settextstyle(40, 0, _T("华文楷体"));
outtextxy(Width*0.5, High*0.15, _T("图书管理系统"));
settextstyle(35, 0, _T("华文楷体"));
outtextxy(Width*0.5, High*0.28, _T("请选择功能"));
putimage(Width*0.5, High*0.36, &img_bk5);
putimage(Width*0.5, High*0.44, &img_bk6);
putimage(Width*0.5, High*0.52, &img_bk7);
putimage(Width*0.5, High*0.60, &img_bk8);
FlushBatchDraw();
Sleep(2);
MOUSEMSG m;
while (MouseHit())
{
m = GetMouseMsg();
if (((510 <= m.x)&&(m.x <= 684)) && (m.uMsg == WM_LBUTTONDOWN))
{
if ((230 <= m.y)&&(m.y <= 262))
{
BeginBatchDraw();
putimage(Width*0.5, High*0.36, &img_bk51);
FlushBatchDraw();
Sleep(100);
GuideInput();
bookstatus = 1;
}
if ((280 <= m.y)&&(m.y <= 312))
{
BeginBatchDraw();
putimage(Width*0.5, High*0.44, &img_bk61);
FlushBatchDraw();
Sleep(100);
ViewData(1);
bookstatus = 2;
}
else if ((330 <= m.y)&&(m.y <= 362))
{
BeginBatchDraw();
putimage(Width*0.5, High*0.52, &img_bk71);
FlushBatchDraw();
Sleep(100);
InquireBookFrom();
bookstatus = 3;
}
else if ((380 <= m.y)&&(m.y <= 412))
{
BeginBatchDraw();
putimage(Width*0.5, High*0.60, &img_bk81);
FlushBatchDraw();
Sleep(100);
DeleteBookFromFile();
bookstatus = 4;
}
}
}
}
void startup()
{
//mciSendString("open .\\BOOK_music.mp3 alias bkmusic", NULL, 0, NULL);
//mciSendString("play bkmusic repeat", NULL, 0, NULL);
HWND hwnd = GetHWnd();//获取窗口句柄
SetWindowText(hwnd, _T("图书信息管理系统"));
loadimage(&img_bk, _T("img\\background1.jpg"));
loadimage(&img_bk1, _T("img\\background2.jpg"));
loadimage(&img_bk2, _T("img\\background3.jpg"));
loadimage(&img_bk3, _T("img\\background2_1.jpg"));
loadimage(&img_bk4, _T("img\\background2_2.jpg"));
loadimage(&img_bk5, _T("img\\background2_4.jpg"));
loadimage(&img_bk51, _T("img\\background2_41.jpg"));
loadimage(&img_bk6, _T("img\\background2_5.jpg"));
loadimage(&img_bk61, _T("img\\background2_51.jpg"));
loadimage(&img_bk7, _T("img\\background2_6.jpg"));
loadimage(&img_bk71, _T("img\\background2_61.jpg"));
loadimage(&img_bk8, _T("img\\background2_7.jpg"));
loadimage(&img_bk81, _T("img\\background2_71.jpg"));
loadimage(&img_bk31, _T("img\\background3_1.jpg"));
loadimage(&img_bk311, _T("img\\background3_11.jpg"));
loadimage(&img_bk41, _T("img\\background4_4.jpg"));
loadimage(&img_bk411, _T("img\\background4_41.jpg"));
BeginBatchDraw();
while (bookstatus == 0)
startMenu(); //初始化菜单界面
while (bookstatus == 1)
GuideInput();
while (bookstatus == 2)
ViewData(1);
while (bookstatus == 3)
startMenu();
while (bookstatus == 4)
DeleteBookFromFile();
}
void show()
{
putimage(0, 0, &img_bk);
}
void WaitUser() {
/*int iInputPage = 0;
char input;
if (_kbhit())
{
input = _getch();
if (input == '0')
{
startMenu();
bookstatus = 0;
}
else if (input = '27')
{
system("exit");
}
}*/
while (1)
{
MOUSEMSG m;
while (MouseHit())
{
m = GetMouseMsg();
if (((900 <= m.x)&&(m.x <= 986)) && ((540 <= m.y)&&(m.y <=584)) && (m.uMsg == WM_LBUTTONDOWN))
{
BeginBatchDraw();
putimage(900, 540, &img_bk4);
FlushBatchDraw();
Sleep(100);
startup();
bookstatus = 0;
}
if (((900 <= m.x) && (m.x <= 1000)) && ((490 <= m.y) && (m.y <= 530)) && (m.uMsg == WM_LBUTTONDOWN))
{
BeginBatchDraw();
putimage(900, 490, &img_bk411);
FlushBatchDraw();
Sleep(100);
GuideInput();
bookstatus = 1;
}
}
}
}
int GetSelect()
{
char buf[256];
gets_s(buf);
return atoi(buf);
}
void GuideInput() {
char inName[NUM1];
char inIsbn[NUM1];
char inPrice[NUM2];
char inAuthor[NUM2];
ClearScreen1();
settextstyle(30, 0, _T("华文楷体"));
outtextxy(Width*0.08, High*0.08, _T("输入书名:"));
putimage(900, 540, &img_bk3);
FlushBatchDraw();
BeginBatchDraw();
Sleep(100);
InputBox(inName, 128, _T("请输入书名:"),false);
outtextxy(Width*0.3, High*0.12, inName);
FlushBatchDraw();
BeginBatchDraw();
outtextxy(Width*0.08, High*0.21, _T("输入Isbn:"));
FlushBatchDraw();
BeginBatchDraw();
Sleep(600);
InputBox(inIsbn, 128, _T("请输入Isbn:"),false);
outtextxy(Width*0.3, High*0.25, inIsbn);
FlushBatchDraw();
BeginBatchDraw();
outtextxy(Width*0.08, High*0.34, _T("输入价格:"));
FlushBatchDraw();
BeginBatchDraw();
Sleep(600);
InputBox(inPrice, 128, _T("请输入价格:"),false);
outtextxy(Width*0.3, High*0.4, inPrice);
FlushBatchDraw();
BeginBatchDraw();
outtextxy(Width*0.08, High*0.47, _T("输入作者:"));
FlushBatchDraw();
BeginBatchDraw();
Sleep(600);
InputBox(inAuthor, 128, _T("请输入作者:"),false);
outtextxy(Width*0.3, High*0.51, inAuthor);
putimage(900, 490, &img_bk41);
FlushBatchDraw();
CBook book(inName, inIsbn, inPrice, inAuthor);
book.WriteData();
WaitUser();
}
void ViewData(int iSelPage = 1) //浏览图书
{
int iPage = 0; //总页数
int iCurPage = 0; //当前页数
int iDataCount = 0; //总书数
char inName[NUM1];
char inIsbn[NUM1];
char inPrice[NUM2];
char inAuthor[NUM2];
bool bIndex = false
- 1
- 2
前往页