vb书店管理系统设计和实现内容摘要:
书编号点击搜索按钮输入图书折扣和图书数量回车键点击下一本或结账退出。 // 根据图书编号进行搜索,如果存在,则显示图书详细信息void CBookSaleDialog::OnButtonSearch() { UpdateData(TRUE)。 if(m_strBookNo == ) { MessageBox(图书编号不能为空)。 return。 } CBookSet m_BookSet。 try{ (bookno = 39。 %s39。 ,m_strBookNo)。 (CRecordset::snapshot, NULL, CRecordset::none)。 if(() || ( == 0)) { ()。 AfxMessageBox(该编号的图书不存在,请重新输入编号!)。 ResetMembers()。 return。 } CString strTemp。 (%d,)。 m_strBookName =。 m_strPublisher =。 m_strAuthor =。 CString TempPrice。 (%.2f,)。 m_strPrice = TempPrice。 //。 ()。 UpdateData(FALSE)。 } catch(CDBException *e){ eReportError()。 }}// 计算销售值void CBookSaleDialog::OnOK() { UpdateData(TRUE)。 if(m_strNumber == ){ MessageBox(请输入销售图书数量)。 return。 } float TempFianalPrice。 TempFianalPrice = atoi(m_strNumber) * atof(m_strPrice) * atoi(m_strDisCount) / 100。 (%.2f,TempFianalPrice)。 UpdateData(FALSE)。 }// 下一本void CBookSaleDialog::OnButtonNext() { UpdateData(TRUE)。 if(m_strBookNo == ){ MessageBox(请输入要销售图书的编号)。 return。 } if(m_strNumber == ){ MessageBox(请输入要销售图书的数量)。 return。 } if(atoi(m_strNumber) =0){ MessageBox(销售图书数量不能少于一本)。 return。 } if(m_strDisCount == ){ MessageBox(请输入该书要打几折)。 return。 } // 获取当前时间 CTime t。 t = CTime::GetCurrentTime()。 CString time =。 CString year。 CString month。 CString day。 (%d,())。 (%d,())。 if(() 9) month = 0 + month。 (%d,())。 if(() 9) day = 0 + day。 time = year + month + day。 CBookSet m_BookSet。 CTempSaleSet m_TempSaleSet。 int TempNumber。 try{ (bookno = 39。 %s39。 ,m_strBookNo)。 (CRecordset::snapshot, NULL, CRecordset::none)。 if(!()){ TempNumber = atoi(m_strNumber)。 if(TempNumber 0){ AfxMessageBox(库存不足,请重新输入销售图书数量)。 return。 } ()。 = TempNumber。 ()。 ()。 Close()。 // 添加销售的图书到临时销售表 ()。 ()。 = m_strAuthor。 = m_strPublisher。 = m_strBookName。 = m_strBookNo。 = atoi(m_strNumber)。 = atoi(m_strDisCount)。 = atof(m_strFianalPrice)。 = atof(m_strPrice)。 = atol(time)。 ()。 ()。 Close()。 // 显示在销售列表中 ()。 ()。 int pos = ()。 CString TempNumber。 CString TempPrice。 CString TempDiscount。 CString TempSum。 (%d,)。 (%.2f,)。 (%d,)。 (%.2f,)。 (pos, )。 (pos,1,TempNumber)。 (pos,2,TempPrice)。 (pos,3,TempDiscount)。 (pos,4,TempSum)。 ()。 ResetMembers()。 } } catch(CDBException *e){ eReportError()。 return。 }}// 结账void CBookSaleDialog::OnButtonBill() { UpdateData()。 if(m_strBookNo != ) OnButtonNext()。 float m_Sum = 0。 CTempSaleSet m_TempSaleSet。 CBookSaleSet m_BookSaleSet。 try{ ()。 ()。 ()。 while(! ()){ //算出总销售额 m_Sum = m_Sum +。 // 添加进销售列表中 ()。 =。 =。 =。 =。 =。 =。 =。 =。 =。 ()。 // ()。 ()。 } ()。 Close()。 ()。 Close()。 } catch(CDBException *e){ eReportError()。 return。 } (%.2f,m_Sum)。 UpdateData(FALSE)。 }(3) 撤销功能。 流程:点击销售列表,点击撤销按钮即可完成。 void CBookSaleDialog::OnButtonCancel() { int i = ()。 CString BookName = (i, 0)。 int TempNumber = 0。 if(i 0){ AfxMessageBox(请选取要删除的销售记录!)。 return。 } // 从临时表中删除该销售记录 CTempSaleSet m_TempSaleSet。 (bookname = 39。 %s39。 ,BookName)。 (CRecordset::snapshot, NULL , CRecordset::none)。 if(!()){ TempNumber =。 ()。 } ()。 Close()。 // 恢复图书原先数量 CBookSet m_BookSet。 (bookname = 39。 %s39。 , BookName)。 (CRecordset::snapshot, NULL, CRecordset::none)。 if(!()){ ()。 = + TempNumber。 ()。 } ()。 Close()。 ListSale()。 }(四)图书入库模块1.图书入库模块IPO图输入:图书编号和图书数量处理:(1) 图书入库对话框启动。 (2) 等待用户输入图书的编号和数量,可以在此输入图书详细信息,但不是必需的。 (3) 将图书添加到图书信息表中输出:更新图书信息表2. 图书入库模块的实现根据图书入库模块的IPO图,通过定义CBookInputDialog类来实现该模块的主体功能。 (1) 相关的记录集类CBookSet。 (2) 新书录入。 处理过程:判断用户是否全部输入必填的图书信息,然后根据用户输入的图书编号查询图书信息表是否有重复编号,是则在原有图书信息基础上增加图书的数量;否则添加新的图书记录在图书信息表中。 // 添加图书到图书信息库中void CBookInputDialog::OnButtonSaveAndGoon() { UpdateData(TRUE)。 CTime t。 t = CTime::GetCurrentTime()。 CString time =。 CString year。 CString month。 CString day。 (%d,())。 (%d,())。 (%d,())。 time = year + + month + + day。 if(m_strBookNo == ){ MessageBox(请输入图书编号)。 return。 } if(m_strNumber == ){ MessageBox(请输入图书数量)。 return。 } CBookSet m_BookSet。 try{ if(()){ ()。 Close()。 } (bookno = 39。 %s39。 ,m_strBookNo)。 (CRecordset::snapshot, NULL, CRecordset::none)。 // 如果库中无此书,则增加 if(()){ ()。 = m_strBookNo。 = atoi(m_strNumber)。 = m_strBookName。 = m_strBookBn。 = m_strBookType。 = m_strPublisher。 = m_strAuthor。 = atof(m_strPrice)。 = time。 } else{ ()。 = + atoi(m_strNumber)。 = time。 } ()。 ()。 Close()。 } catch(CDBException *e){ eReportError()。 } OnButtonAdd()。 }(五)图书信息设置模块图书信息模块由图书的信息设置和图书的删除功能。 图书信息设置模块IPO图输入:图书编号处理:(1) 图书信息设置对话框启动。 (2) 根据图书编号搜索对应的图书,并显示其已填信息。 (。vb书店管理系统设计和实现
相关推荐
serName 文本 20 Psw 文本 50 BaseInfo(住户信息)表: 字段名称 字段类型 宽度 小数位 住户编号 文本 20 户主名称 文本 20 联系电话 文本 20 小区物业管理系统毕业论文 14 楼宇名称 文本 50 楼层 文本 20 房屋号 文本 20 单元 文本 20 迁入日期 日期 /时间 房型 文本 20 备注 备注 DataMoney(收费管理)表: 字段名称
、所属部门、教师姓名、出生日期、性别、学历、职称、家庭住址、电话等简历。 ( 2) 要求在系统中能够对教师信息进行灵活地浏览,能够将教师信息按所在的系统进行浏览,能够对教师信息提供模糊和精确地查找。 ( 3) 可以对教师基本信息进行变动管理,对教师信息进行添加、删除和编辑等操作。 ( 4) 掌握教师的授课信息,并能够对教师的授课信息进行添加、删除和编辑等操作。 ( 5)
据的逻辑结构描述。 它面向具体的应用程序。 因为不同的应用可能需要不同的局部数据视图,所以一个数据库可以有多个外模式,但只有一个模式。 内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。 一个 数据库只有一个内模式。 三级模式是对数据的三个抽象级别,使用户能 14 逻辑地处理数据,而不必关系数据在计算机中的具体表示方式和存储方式。
002《地表水环境质量标准》Ⅲ类标准:项 目CODBOD5氨 氮浓度(mg/L)204污染物排放标准1.焊接烟气:执行GB161941996《车间空气中电焊烟害卫生标准》:车间焊接烟尘浓度≤6mg/m3。 营运期噪声:GB123482008《工业企业厂界环境噪声排放标准》3类标准:昼间≤65dB(A),夜间≤55dB(A)。 生活污水执行GB89781996《污水综合排放标准》一级标准
审核的质量体系有关的、足以得出结论的证据 对于证据中能够影响到审核结果和可能需进行更广泛审核的迹象保持警觉 能够回答如下问题: “被审核方是否都了解和会使用相关的程序、文件或其他资料”。 ;“用于描述质量体系的所有文件和其他资料,是否足以满足所规定的质量目标的需要”。 始终遵守职业道德 注:你必须熟悉你自己公司审核 体系的要求。 很多公司经常是由质量经理负责审核的准备工作