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

📄 mainfrm.cpp

📁 实现超市收银管理.能实现超市的正常收银情况........
💻 CPP
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "SupermarketCahsier.h"
#include "SupermarketCahsierView.h"
#include "MainFrm.h"
#include "HelpDlg.h"
#include "TradeDlg.h"
#include "CashierLogDlg.h"
#include "CashierOperationDLg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_COMMAND(ID_CASHIER_LOGOFF, OnCashierLogoff)
	ON_COMMAND(ID_CASHIER_EDIT, OnCashierEdit)
	ON_COMMAND(ID_CASHIER_DELETE, OnCashierDelete)
	ON_COMMAND(ID_CASHIER_ADD, OnCashierAdd)
	ON_COMMAND(ID_CASHIER_QUERY, OnCashierQuery)
	ON_COMMAND(ID_CUSTOMER_ADD, OnCustomerAdd)
	ON_COMMAND(ID_CUSTOMER_DELETE, OnCustomerDelete)
	ON_COMMAND(ID_CUSTOMER_EDIT, OnCustomerEdit)
	ON_COMMAND(ID_CUSTOMER_QUERY, OnCustomerQuery)
	ON_COMMAND(ID_CASHINFO_ADD, OnCashinfoAdd)
	ON_COMMAND(ID_CASHINFO_QUERY, OnCashinfoQuery)
	ON_COMMAND(ID_GOODS_ADD, OnGoodsAdd)
	ON_COMMAND(ID_GOODS_DELETE, OnGoodsDelete)
	ON_COMMAND(ID_GOODS_EDIT, OnGoodsEdit)
	ON_COMMAND(ID_GOODS_QUERY, OnGoodsQuery)
	ON_COMMAND(ID_TRADEINFO_ADD, OnTradeinfoAdd)
	ON_COMMAND(ID_TRADEINFO_QUERY, OnTradeinfoQuery)
	ON_COMMAND(ID_HELP, OnHelp)
	ON_COMMAND(ID_ABOUT, OnAbout)
	ON_COMMAND(ID_APP_EXIT, OnAppExit)
	ON_COMMAND(ID_TRADE, OnTrade)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
};

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	// TODO: add member initialization code here
	m_dCashMoney = 0;
	m_bCashinfoSave = FALSE;
/*	this->m_bAutoMenuEnable = FALSE;*/
}

CMainFrame::~CMainFrame()
{
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
// 	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
// 		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
// 		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
// 	{
// 		TRACE0("Failed to create toolbar\n");
// 		return -1;      // fail to create
// 	}

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

	// TODO: Delete these three lines if you don't want the toolbar to
	//  be dockable
// 	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
// 	DockControlBar(&m_wndToolBar);

	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers


//DEL void CMainFrame::OnCashierLog() 
//DEL {
//DEL 	// TODO: Add your command handler code here
//DEL 	CCashierLogDlg m_CashierLogDlg;
//DEL 	if(m_CashierLogDlg.DoModal()!=IDOK)
//DEL 		return;
//DEL }

void CMainFrame::OnCashierLogoff() 
{
	// TODO: Add your command handler code here
	CCashierLogDlg m_CashierLogDlg;

	//注销前要盘存金额
	if(!m_bCashinfoSave)
	{
		CString strMoney;
		strMoney.Format("%f",m_dCashMoney);
		OnCashinfoAdd(strMoney);
	}
	//记住用户名?
	int i = 0 ;
	char cName[20] = _T("");
	FILE* file = fopen(_T("user.dat"),"r");
	if(NULL != file)
	{
		while(!feof(file))
			cName[i++] = fgetc(file);
	}
	fclose(file);
	//delete the character 'y'
	cName[i-1] = '\0';
	CString strName;
	strName.Format("%s",cName);
	m_CashierLogDlg.SetName(strName);

 	if(m_CashierLogDlg.DoModal()!=IDOK)
	{
		CFrameWnd::OnClose();
 		return;
	}
}

void CMainFrame::OnCashierEdit() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHIER_EDIT);
	dlg.DoModal();
}

void CMainFrame::OnCashierDelete() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHIER_DELETE);
	dlg.DoModal();	
}

void CMainFrame::OnCashierAdd() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHIER_ADD);
	dlg.DoModal();
}

void CMainFrame::OnCashierQuery() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHIER_QUERY);
	dlg.DoModal();	
}

void CMainFrame::OnCustomerAdd() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CUSTOMER_ADD);
	dlg.DoModal();
}

void CMainFrame::OnCustomerDelete() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CUSTOMER_DELETE);
	dlg.DoModal();	
}

void CMainFrame::OnCustomerEdit(CString strCusNum,CString strConsumption ) 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CUSTOMER_EDIT);
	dlg.SetEdit1(strCusNum);
	dlg.SetEdit4(strConsumption);
	dlg.DoModal();	
}

void CMainFrame::OnCustomerEdit( ) 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CUSTOMER_EDIT);
	dlg.DoModal();	
}

void CMainFrame::OnCustomerQuery() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CUSTOMER_QUERY);
	dlg.DoModal();	
}

void CMainFrame::OnCashinfoAdd(CString strMoney) 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHINFO_ADD);
	dlg.SetEdit1(strMoney);
	dlg.DoModal();	
}

void CMainFrame::OnCashinfoAdd() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHINFO_ADD);
	dlg.DoModal();	
}

void CMainFrame::OnCashinfoQuery() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(CASHINFO_QUERY);
	dlg.DoModal();	
}

void CMainFrame::OnGoodsAdd() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(GOODS_ADD);
	dlg.DoModal();	
}

void CMainFrame::OnGoodsDelete() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(GOODS_DELETE);
	dlg.DoModal();	
}

void CMainFrame::OnGoodsEdit(CString strGoodsNum,CString strStorage ) 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(GOODS_EDIT);
	dlg.SetEdit1(strGoodsNum);
	dlg.SetEdit4(strStorage);
	dlg.DoModal();	
}

void CMainFrame::OnGoodsEdit() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(GOODS_EDIT);
	dlg.DoModal();	
}

void CMainFrame::OnGoodsQuery() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(GOODS_QUERY);
	dlg.DoModal();	
}

void CMainFrame::OnTradeinfoAdd(CString strCusNum, CString strGoodsNum,
		CString strQuan) 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(TRADE_ADD);
	dlg.SetEdit1(strCusNum);
	dlg.SetEdit2(strGoodsNum);
	dlg.SetEdit3(strQuan);

	dlg.DoModal();	
}


void CMainFrame::OnTradeinfoAdd() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(TRADE_ADD);
	dlg.DoModal();	
}


void CMainFrame::OnTradeinfoQuery() 
{
	// TODO: Add your command handler code here
	CCashierOperationDLg dlg;
	dlg.setStype(TRADE_QUERY);
	dlg.DoModal();	
}

//DEL void CMainFrame::OnDbBackup() 
//DEL {
//DEL 	// TODO: Add your command handler code here
//DEL 	
//DEL }

//DEL void CMainFrame::OnDbRestore() 
//DEL {
//DEL 	// TODO: Add your command handler code here
//DEL 	
//DEL }

void CMainFrame::OnHelp() 
{
	// TODO: Add your command handler code here
	CHelpDlg dlg;
	dlg.SetbHelp(TRUE);
	dlg.m_strHelp = "快捷键:\n\n"
		"注销:           Ctrl+O\n"
		"退出:           Alt+X\n"
		"添加收银员信息: Ctrl+A\n"
		"删除收银员信息: Ctrl+D\n"
		"修改收银员信息: Ctrl+E\n"
		"查询收银员信息: Ctrl+Q\n"
		"添加顾客信息:   Alt+A\n"
		"删除顾客信息:   Alt+D\n"
		"修改顾客信息:   Alt+E\n"
		"查询顾客信息:   Alt+Q\n"
		"添加商品信息:   Shift+A\n"
		"删除商品信息:   Shift+D\n"
		"修改商品信息:   Shift+E\n"
		"查询商品信息:   Shift+Q\n"
		"添加收银信息:   Ctrl+Alt+A\n"
		"查询收银信息:   Ctrl+Alt+Q\n"
		"添加交易信息:   Ctrl+Shift+A\n"
		"查询交易信息:   Ctrl+Shift+Q\n"
		"交易:           Ctrl+Shift+T\n";
	dlg.DoModal();
	
}

void CMainFrame::OnAbout() 
{
	// TODO: Add your command handler code here
	CHelpDlg dlg;
	dlg.SetbHelp(FALSE);
	dlg.m_strHelp = "  本软件是一个超市收银系统,链接达梦数据库。数据库中"
		"建有收银员信息表,客户信息表,商品信息表,客户交易信息表和收银统计信息表。"
		"收银员可以以自己的用户名密码登录,完成各种实际情况操作,更新数据库。\n"
		"  功能:"
		"  1、收银:收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等信息,"
		"系统根据这些信息获取相应的价格信息并计算应收取的总金额。完成收银后,"
		"记录交易信息,修改有关种类商品的剩余量以及该持卡顾客的消费情况。\n"
		"  2、发卡:顾客可交纳一定的费用(如50元)办理一张会员卡,以后在该商场购"
		"物可凭卡享受9折优惠。如果一个未持卡顾客一次购物满1000元,可为其免费发放"
		"一张会员卡,每张卡的优惠期为一年,一年内消费达到一定金额的可继续享受下"
		"一年的优惠。\n"
		"  3、款项盘存:收银员下班或交接班前对本收银台中本班次收取的款额进行盘存,"
		"明确责任。\n"
 		"  4、商品信息的录入、修改、删除和查询等。\n"
 	    "  5、收银员身份及口令管理。\n\n"
		"  获得更多信息,Email:lightningfany@126.com\n";
	dlg.DoModal();
}

void CMainFrame::OnAppExit() 
{
	// TODO: Add your command handler code here
	if (AfxMessageBox("确定退出系统?",MB_OKCANCEL) == IDOK)
	{
		CFrameWnd::OnClose();
	}
		
}

void CMainFrame::OnTrade() 
{
	// TODO: Add your command handler code here
	CTradeDlg dlg;
	dlg.DoModal();	
}

⌨️ 快捷键说明

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