⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 borrowadd.cpp

📁 本源码为图书管理系统
💻 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 + -