📄 borrowadd.cpp
字号:
// borrowadd.cpp : implementation file
//
#include "stdafx.h"
#include "TSG.h"
#include "borrowadd.h"
#include "borrowinfo.h"
#include "bookinfo.h"
#include "personinfo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// borrowadd dialog
borrowadd::borrowadd(CWnd* pParent /*=NULL*/)
: CDialog(borrowadd::IDD, pParent)
{
//{{AFX_DATA_INIT(borrowadd)
m_stuid = 0;
m_bookid = 0;
m_borrowid = 0;
//}}AFX_DATA_INIT
}
void borrowadd::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(borrowadd)
DDX_Text(pDX, IDC_EDIT1, m_stuid);
DDX_Text(pDX, IDC_EDIT2, m_bookid);
DDX_Text(pDX, IDC_EDIT3, m_borrowid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(borrowadd, CDialog)
//{{AFX_MSG_MAP(borrowadd)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// borrowadd message handlers
void borrowadd::OnOK()
{ int *xx,*yy,*zz,xxx,yyy,zzz,cc;
int bb=1;
int dd=1;
char *szDateTime;
struct tm *newtime ;
time_t long_time;
time(&long_time);
newtime=localtime(&long_time);
szDateTime=asctime(newtime);
xxx=newtime->tm_year-100;
yyy=newtime->tm_mon+1;
zzz=newtime->tm_mday;
xx=&xxx;
yy=&yyy;
zz=&zzz;
timeadd(xx,yy,zz);
/////////////////////////*****书数目为空,无对应书,非合法借书对象时无法借书**************////////////////
if(!m_database.IsOpen()){
m_database.Open(_T("TSG"));
}
bookinfo m_basicset(&m_database);
CString strSQL1;
UpdateData();
strSQL1.Format("select * from bookinfo where 书号=%d",m_bookid);
m_basicset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL1);
CDBVariant varValue;
if(m_basicset.GetRecordCount()!=0) m_basicset.MoveFirst();else {MessageBox("书库中无该书!!");bb=0;}
int ii=0;
while(!m_basicset.IsEOF())
{
m_basicset.GetFieldValue(6,varValue);
cc=varValue.m_lVal;
if(cc==0){MessageBox("该书已无库存!!!");}
m_basicset.MoveNext();
ii++;
}
personinfo m_basicset1(&m_database);
CString strSQL3;
UpdateData();
strSQL3.Format("select * from personinfo where 学号=%d",m_stuid);
m_basicset1.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL3);
// CDBVariant varValue;
if(m_basicset1.GetRecordCount()!=0) m_basicset.MoveFirst();else {MessageBox("该读者非合法借书对象");dd=0;}
////////////////////////////////////////////////////////////////////////////////
UpdateData(TRUE);
CString strSQL;
int i=1;
int flag=0;
while(!flag){
borrowinfo m_recordset(&m_database);
strSQL.Format("select * from borrowinfo where 项目=%d",i);
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_recordset.GetRecordCount()==0){
if(cc!=0&&bb!=0&&dd!=0)
{ MessageBox(szDateTime);
strSQL.Format("insert into borrowinfo values(%d,%d,%d,\'%d-%d-%d\',\'%d-%d-%d\')",m_borrowid,m_stuid,m_bookid,newtime->tm_year-100,yyy=newtime->tm_mon+1,newtime->tm_mday,*xx,*yy,*zz);
m_database.ExecuteSQL(strSQL);
/***************借书库存数减一*****************************/
CString strSQL2;
strSQL2.Format("update bookinfo set 库存数=库存数-1 where 书号=%d",m_bookid);
m_database.ExecuteSQL(strSQL2);}
//m_database.Close();
//Dialog::OnOK();
flag=1;
}
i++;
}
m_database.Close();
CDialog::OnOK();
}
/////////////////////////////////
void borrowadd::timeadd(int *x,int *y,int *z)
{
*z+=30;
switch(*y)
{
case 1:
{
if(*z>31)
{*z-=31;*y+=1;}
break;
}
case 2:
{
if((*x%4==0&&*x%100!=0)||(*x%400==0))
{
if(*z>29)
{*z-=29;*y+=1;}
}
else
{
if(*z>28)
{*z-=28;*y+=1;}
}
break;
}
case 3:
{
if(*z>31)
{*z-=31;*y+=1;}
break;
}
case 4:
{
if(*z>30)
{*z-=30;*y+=1;}
break;
}
case 5:
{
if(*z>31)
{*z-=31;*y+=1;}
break;
}
case 6:
{
if(*z>30)
{*z-=30;*y+=1;}
break;
}
case 7:
{
if(*z>31)
{*z-=31;*y+=1;}
break;
}
case 8:
{
if(*z>31)
{*z-=31;*y+=1;}
break;
}
case 9:
{
if(*z>30)
{*z-=30;*y+=1;}
break;
}
case 10:
{
if(*z>31)
{*z-=31;*y+=1;}
break;
}
case 11:
{
if(*z>30)
{*z-=30;*y+=1;}
break;
}
case 12:
{
if(*z>31)
{*z-=31;*y+=1;*x+=1;}
break;
}
default:
MessageBox("???");
}
}
////////////////////////////////////////////////////
int borrowadd::overtime(int x,int y,int z,int m,int n,int k)
{
int result=0,i=0,j=0,o=0;
i+=k;j+=z;
while(n>1)
{
if(n==12)
{
i+=30;
n--;
}
if(n==11)
{
i+=31;
n--;
}
if(n==10)
{
i+=30;
n--;
}
if(n==9)
{
i+=31;
n--;
}
if(n==8)
{
i+=31;
n--;
}
if(n==7)
{
i+=30;
n--;
}
if(n==6)
{
i+=31;
n--;
}
if(n==5)
{
i+=30;
n--;
}
if(n==4)
{
i+=31;
n--;
}
if(n==3)
{
if((m%4==0&&m%100!=0)||(m%400==0))
{
i+=29;
n--;
}
else
{
i+=28;
n--;
}
}
if(n==2)
{
i+=31;
n--;
}
}
while(y>1)
{
if(y==12)
{
j+=30;
y--;
}
if(y==11)
{
j+=31;
y--;
}
if(y==10)
{
j+=30;
y--;
}
if(y==9)
{
j+=31;
y--;
}
if(y==8)
{
j+=31;
y--;
}
if(y==7)
{
j+=30;
y--;
}
if(y==6)
{
j+=31;
y--;
}
if(y==5)
{
j+=30;
y--;
}
if(y==4)
{
j+=31;
y--;
}
if(y==3)
{
if((x%4==0&&x%100!=0)||(x%400==0))
{
j+=29;
y--;
}
else
{
j+=28;
y--;
}
}
if(y==2)
{
j+=31;
y--;
}
}
while(x-m>0)
{
if((m%4==0&&m%100!=0)||m%400==0)
{
o+=366;
}
else
{
o+=365;
}
m++;
}
result=o+j-i;
return result;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -