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

📄 图书管理系统dlg.cpp

📁 图书管理系统 比网站内的要好用 适合学生
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	}
	if(m_LIST1.GetFirstSelectedItemPosition()!=NULL)
	{
		if(AfxMessageBox("是否删除记录?", MB_ICONQUESTION|MB_YESNO) == IDYES)
		{
			for(nItem;nItem<m_LIST1.GetItemCount();nItem++)
			{
				introduce[nItem]=introduce[nItem+1];
			}
			for(int i=0;i<m_LIST2.GetItemCount();i++)
			{
				int j=0;
				while(j<atoi((LPCTSTR)m_LIST2.GetItemText(i,4)))
				{
					if(m_LIST1.GetItemText(n,0)==borrowbook[i][j])
					{
						for(int k=j;k<atoi((LPCTSTR)m_LIST2.GetItemText(i,4));k++)
						{
							borrowbook[i][k]=borrowbook[i][k+1];
							borrowtime[i][k]=borrowtime[i][k+1];
						}
						int s=atoi((LPCTSTR)m_LIST2.GetItemText(i,4));//CString->int
						s=s-1;
						count.Format("%d",s);
						m_LIST2.SetItemText(i,4,count);
					}
					else
						j=j+1;
				}
			}
			m_LIST1.DeleteItem(n);
			MessageBox("删除图书成功,借书情况已刷新!");
			m_LIST3.DeleteAllItems();
		}
	}
	else
		MessageBox("请选择要删除的图书!");
}

void CMyDlg::OnButton3() 
{
	// TODO: Add your control notification handler code here
	if(AfxMessageBox("是否保存记录?", MB_ICONQUESTION|MB_YESNO) == IDYES)
	{
		CStdioFile file,file1,file2;
		file.Open("list1.txt",CFile::modeWrite|CFile::modeCreate);
		int n=m_LIST1.GetItemCount();  
		CString str,str1,str2;
		str.Format("row=%d\n",n); 
		file.WriteString(str);   
		for(int i=0;i<n;i++)   
		{   
			for(int j=0;j<4;j++)
			{
				file.WriteString(m_LIST1.GetItemText(i,j)); 
				file.WriteString("\t"); 
			}
			file.WriteString(introduce[i]); 
			file.WriteString("\t"); 
		}
		file.Close();
		
		file1.Open("list2.txt",CFile::modeWrite|CFile::modeCreate);
		n=m_LIST2.GetItemCount();  
		str1.Format("row=%d\n",n); 
		file1.WriteString(str1);   
		for(i=0;i<n;i++)   
		{   
			for(int j=0;j<5;j++)
			{
				file1.WriteString(m_LIST2.GetItemText(i,j)); 
				file1.WriteString("\t");  
			}
		}
		file1.Close();

		file2.Open("list3.txt",CFile::modeWrite|CFile::modeCreate);
		n=m_LIST2.GetItemCount();  
		str2.Format("row=%d\n",n); 
		file2.WriteString(str2);   
		for(i=0;i<n;i++)   
		{   
			for(int j=0;j<atoi((LPCTSTR)m_LIST2.GetItemText(i,4));j++)
			{
				file2.WriteString(borrowbook[i][j]); 
				file2.WriteString("\t");  
				file2.WriteString(borrowtime[i][j]); 
				file2.WriteString("\t");  
			}
		}
		file2.Close();

		MessageBox("资料保存成功!");
	}
	
	OnCancel();
}

void CMyDlg::OnButton4() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	char* num="0123456789";
	if(m_EDIT5!=""&&m_EDIT6!=""&&m_EDIT7!=""&&m_EDIT8!="")
	{
		for(int i=0;i<m_LIST2.GetItemCount();i++)
		{
			if(m_EDIT8==m_LIST2.GetItemText(i,0))
			{
				MessageBox("此学号已存在!");
				return;
			}
		}
		int pos;
		char *pstr=(LPSTR)(LPCTSTR)m_EDIT8;
		size_t len=strspn(pstr,num);
		if(m_EDIT5>="0x80"&&m_EDIT6>="0x80"&&pstr[len]=='\0') 
		{	
			pos=m_LIST2.InsertItem(m_LIST2.GetItemCount()+1,m_EDIT8);
			m_LIST2.SetItemText(pos,1,m_EDIT5);
			m_LIST2.SetItemText(pos,2,m_EDIT6);
			m_LIST2.SetItemText(pos,3,m_EDIT7);
			m_LIST2.SetItemText(pos,4,"0");
			m_COMBO1.InsertString(m_COMBO1.GetCount(),m_LIST2.GetItemText(pos,0));
			m_EDIT5.Format("%s","");
			m_EDIT6.Format("%s","");
			m_EDIT7.Format("%s","");
			m_EDIT8.Format("%s","");
			MessageBox("添加学生成功!");
		}
		else if(pstr[len]!='\0')
			MessageBox("学号只能为数字!");
		else
			MessageBox("姓名及系别只能为汉字!");
	}
	else
		MessageBox("请填写完整的资料!");
	UpdateData(false);
}

void CMyDlg::OnButton5() 
{
	// TODO: Add your control notification handler code here
	if(m_LIST2.GetFirstSelectedItemPosition()==NULL)
	{
		MessageBox("请选择所要删除的学生!");
		return;
	}
	else if(m_LIST2.GetFirstSelectedItemPosition()!=NULL)
	{
		if(AfxMessageBox("是否删除记录?", MB_ICONQUESTION|MB_YESNO) == IDYES)
		{
			int pos=m_LIST2.GetNextItem(-1,1);
			int nItem=pos;
			CString count;
			m_COMBO1.DeleteString(pos);
			for(int i=0;i<5;i++)
			{
				if(borrowbook[pos][i]!="")
				{
					for(int j=0;j<m_LIST1.GetItemCount();j++)
					{
						if(borrowbook[pos][i]==m_LIST1.GetItemText(j,0))
						{
							int s=atoi((LPCTSTR)m_LIST1.GetItemText(j,3));//CString->int
							s=s+1;
							count.Format("%d",s);
							m_LIST1.SetItemText(j,3,count);
						}
					}
				}
			}
			for(pos;pos<m_LIST2.GetItemCount();pos++)
				for(int i=0;i<5;i++)
				{
					borrowbook[pos][i]=borrowbook[pos+1][i];
					borrowtime[pos][i]=borrowtime[pos+1][i];
				}
			m_LIST2.DeleteItem(nItem);
			MessageBox("删除学生成功,所借书籍已归还书库!");
		}
	}
	m_LIST3.DeleteAllItems();
}

void CMyDlg::OnButton6() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	int i,j,s,t,m;
	char s1[15],s2[15];
	CString str1,str2,tm1;
	CTime t1;
	m_COMBO1.GetLBText(m_COMBO1.GetCurSel(),s1);

	t1=CTime::GetCurrentTime();
	tm1.Format("%d-%d-%d",t1.GetYear(),t1.GetMonth(),t1.GetDay());
	UpdateData(false);

	for(i=0;i<m_LIST2.GetItemCount();i++)
	{
		str1=m_LIST2.GetItemText(i,0);
		strncpy(s2,(LPCTSTR)str1,sizeof(s2));
		m=strcmp(s1,s2);
		if(m==0)
		{
			if(m_LIST2.GetItemText(i,4)=="5")
			{
				MessageBox("此学生借书数量已达5本!");
				return;
			}
			else
			{
				for(j=0;j<m_LIST1.GetItemCount();j++)
				{
					if(m_LIST1.GetItemText(j,1)==m_EDIT11)
					{
						if(m_LIST1.GetItemText(j,3)=="0")
						{
							MessageBox("此书库存数量为0!");
							return;
						}
						else
						{
							int count=atoi(m_LIST2.GetItemText(i,4));
							str1=m_LIST2.GetItemText(i,4);
							s=atoi((LPCTSTR)str1);//CString->int
							s=s+1;
							str1.Format("%d",s);//int->CString
							borrowbook[i][count]=m_LIST1.GetItemText(j,0);
							borrowtime[i][count]=tm1;
							borrowbookcount[i]++;
							m_LIST2.SetItemText(i,4,str1);
							str2=m_LIST1.GetItemText(j,3);
							t=atoi((LPCTSTR)str2);//CString->int
							t=t-1;
							str2.Format("%d",t);  //int->CString
							m_LIST1.SetItemText(j,3,str2);
							int c=m_LIST3.GetItemCount();
							if(m_LIST3.GetItemText(0,0)=="无")
							{
								c=c-1;
								m_LIST3.SetItemText(c,0,m_LIST2.GetItemText(i,0));
								m_LIST3.SetItemText(c,1,m_LIST2.GetItemText(i,1));
								m_LIST3.SetItemText(c,2,tm1);
							}
							else
							{
								m_LIST3.InsertItem(c,m_LIST2.GetItemText(i,0));
								m_LIST3.SetItemText(c,1,m_LIST2.GetItemText(i,1));
								m_LIST3.SetItemText(c,2,tm1);
							}
							UpdateData(false);
							MessageBox("图书借阅成功,借书资料已刷新!");
						
							return;
						}
					}
				}
			}
			MessageBox("不存在此书!");
			return;
		}
	}
	MessageBox("不存在此学生!");
	return;
}

void CMyDlg::OnButton7() 
{
	// TODO: Add your control notification handler code here
	CString count;
	int pos,s;
	int nItem=m_LIST3.GetNextItem(-1,1);
	for(int i=0;i<m_LIST2.GetItemCount();i++)
	{
		if(m_LIST2.GetItemText(i,0)==m_SNUM)
			pos=i;
	}
	if(m_LIST3.GetFirstSelectedItemPosition()!=NULL&&m_LIST3.GetItemText(0,0)!="无")
	{
		int j=0;
		while(j<atoi((LPCTSTR)m_LIST2.GetItemText(pos,4)))
		{
			if(m_LIST3.GetItemText(nItem,0)==borrowbook[pos][j]&&m_LIST3.GetItemText(nItem,2)==borrowtime[pos][j])
			{
				CTime t1;
				t1=CTime::GetCurrentTime();
				CString str;   
				COleDateTime o;   
				str=borrowtime[pos][j];   
				o.ParseDateTime(CString(" ")+str);
				CTime t2(o.GetYear(),o.GetMonth(),o.GetDay(),0,0,0);
				CTimeSpan ts=t1-t2;
				ts.GetDays();
				CString str1,str2,str3;
				str1=_T("借阅天数为");
				str3=_T(",本书已归还书库,图书及借阅资料已更新!");
				str.Format("%d",ts.GetDays());
				str2=str1+str;
				str1=str2+str3;
				
				for(int i=0;i<m_LIST1.GetItemCount();i++)
				{
					if(m_LIST3.GetItemText(nItem,0)==m_LIST1.GetItemText(i,0))
					{
						s=atoi((LPCTSTR)m_LIST1.GetItemText(i,3));
						s=s+1;
						count.Format("%d",s);
						m_LIST1.SetItemText(i,3,count);
					}
				}
				for(int k=j;k<atoi((LPCTSTR)m_LIST2.GetItemText(pos,4));k++)
				{
					borrowbook[pos][k]=borrowbook[pos][k+1];
					borrowtime[pos][k]=borrowtime[pos][k+1];
				}
				s=atoi((LPCTSTR)m_LIST2.GetItemText(pos,4));//CString->int
				s=s-1;
				count.Format("%d",s);
				m_LIST2.SetItemText(pos,4,count);
				
				MessageBox(str1);
			
				goto end;
			}
			else
				j=j+1;
		}
end:	m_LIST3.DeleteItem(nItem);
	}
	else if(m_LIST3.GetItemText(0,0)=="无")
		MessageBox("此学生未借图书!");
	else
		MessageBox("请选择要归还的图书!");
}

void CMyDlg::OnButton8() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_TAB.GetCurSel()==4)
	{
		char* num1="0123456789.";
		if(m_NUM!="")
		{
			if(m_EDIT1!=""&&m_EDIT2!=""&&m_EDIT4!="")
			{
				for(int i=0;i<m_LIST1.GetItemCount();i++)
				{
					if(m_EDIT1==m_LIST1.GetItemText(i,1)&&m_NUM!=m_LIST1.GetItemText(i,0))
					{
						MessageBox("此书已存在!");
						return;
					}
					if(m_NUM==m_LIST1.GetItemText(i,0))
					{
						char *pstr=(LPSTR)(LPCTSTR)m_EDIT2;
						size_t len1=strspn(pstr,num1);
						if(pstr[len1]=='\0'&&m_EDIT1!=m_LIST1.GetItemText(i,1)||m_EDIT2!=m_LIST1.GetItemText(i,2)||m_EDIT4!=introduce[i])
						{
							if(AfxMessageBox("是否修改资料?", MB_ICONQUESTION|MB_YESNO)==IDYES)
							{
								m_LIST1.SetItemText(i,1,m_EDIT1);
								m_LIST1.SetItemText(i,2,m_EDIT2);
								introduce[i]=m_EDIT4;
								m_EDIT1.Format("%s","");
								m_EDIT2.Format("%s","");
								m_EDIT4.Format("%s","");
								m_NUM.Format("%s","");
								m_INTRODUCE.Format("%s","");
								UpdateData(false);
								MessageBox("修改资料成功!");
								return;
							}
						}
						else if(m_EDIT1==m_LIST1.GetItemText(i,1)&&m_EDIT2==m_LIST1.GetItemText(i,2)&&m_EDIT4==introduce[i])
							MessageBox("图书资料无修改!");
						else
							MessageBox("价格只能是数字!");
					}
				}
			}
			else
				MessageBox("请填写完整的资料!");
		}
		else
			MessageBox("请在图书资料中选择你所要修改的图书!");
	}
	else if(m_TAB.GetCurSel()==5)
	{
		char* num1="0123456789.";
		if(m_SNUM!="")
		{
			if(m_EDIT5!=""&&m_EDIT6!=""&&m_EDIT7!="")
			{
				for(int i=0;i<m_LIST2.GetItemCount();i++)
				{
					if(m_SNUM==m_LIST2.GetItemText(i,0))
					{
						if(m_EDIT5>="0x80"&&m_EDIT6>="0x80"&&m_EDIT5!=m_LIST2.GetItemText(i,1)||m_EDIT6!=m_LIST2.GetItemText(i,2)||m_EDIT7!=m_LIST2.GetItemText(i,3)) 
						{	
							if(AfxMessageBox("是否修改资料?", MB_ICONQUESTION|MB_YESNO)==IDYES)
							{
								m_LIST2.SetItemText(i,1,m_EDIT5);
								m_LIST2.SetItemText(i,2,m_EDIT6);
								m_LIST2.SetItemText(i,3,m_EDIT7);
								m_EDIT5.Format("%s","");
								m_EDIT6.Format("%s","");
								m_EDIT7.Format("%s","");
								m_SNUM.Format("%s","");
								UpdateData(false);
								MessageBox("修改资料成功!");
								return;
							}
						}
						else if(m_EDIT5==m_LIST2.GetItemText(i,1)&&m_EDIT6==m_LIST2.GetItemText(i,2)&&m_EDIT7==m_LIST2.GetItemText(i,3))
							MessageBox("学生资料无修改!");
						else
							MessageBox("姓名及系别只能为汉字!");
					}
				}
			}
			else
				MessageBox("请填写完整的资料!");
		}
		else
			MessageBox("请在学生资料中选择你所要修改的学生!");	
	}
}

void CMyDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_INTRODUCE.Format("%s","");
	m_LIST3.DeleteAllItems();
	int pos,bookcount;
	int k,s;
	CString count;
	if(m_LIST1.GetFirstSelectedItemPosition()!=NULL)
	{
		for(k=0;k<m_LIST2.GetItemCount();k++)
		{
			count=m_LIST2.GetItemText(k,4);
			s=atoi((LPCTSTR)count);
			borrowbookcount[k]=s;
		}
		pos=m_LIST1.GetNextItem(-1,1);
		m_INTRODUCE.Format("%s",introduce[pos]);
		m_EDIT11=m_LIST1.GetItemText(pos,1);
		if(m_TAB.GetCurSel()==4)
		{
			m_EDIT1=m_LIST1.GetItemText(pos,1);
			m_EDIT2=m_LIST1.GetItemText(pos,2);
			m_EDIT4=introduce[pos];
			m_NUM=m_LIST1.GetItemText(pos,0);
		}
	
		for(bookcount=0;bookcount<m_LIST2.GetItemCount();bookcount++)
		{
			for(int i=0;i<borrowbookcount[bookcount];i++)
			{
				if(m_LIST1.GetItemText(pos,0)==borrowbook[bookcount][i])
				{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -