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

📄 adddlg.cpp

📁 根据客户提供的轮胎规格,单价,完成天数计算价格,并形成记录,可根据记录自行选择轮胎种类计算某几种轮胎再一定时间内完成需要价格.共有记录添加,记录修改,计算价格三个部分
💻 CPP
字号:
// adddlg.cpp : implementation file
//

#include "stdafx.h"
#include "type.h"
#include "adddlg.h"
#include "iostream.h"
#include "fstream.h"
#include "string"
#include "stdlib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// adddlg dialog


adddlg::adddlg(CWnd* pParent /*=NULL*/)
	: CDialog(adddlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(adddlg)
	m_type1 = _T("");
	m_type2 = _T("");
	m_type3 = _T("");
	m_type4 = _T("");
	m_each1 = _T("");
	m_each2 = _T("");
	m_each3 = _T("");
	m_each4 = _T("");
	m_type5 = _T("");
	m_each5 = _T("");
	m_price1 = _T("");
	m_price2 = _T("");
	m_price3 = _T("");
	m_price4 = _T("");
	m_price5 = _T("");
	m_time1 = _T("");
	m_time2 = _T("");
	m_time3 = _T("");
	m_time4 = _T("");
	m_time5 = _T("");
	m_time6 = _T("");
	m_time7 = _T("");
	m_time8 = _T("");
	m_time9 = _T("");
	m_time10 = _T("");
	//}}AFX_DATA_INIT
}


void adddlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(adddlg)
	DDX_Text(pDX, IDC_EDIT1, m_type1);
	DDX_Text(pDX, IDC_EDIT4, m_type2);
	DDX_Text(pDX, IDC_EDIT7, m_type3);
	DDX_Text(pDX, IDC_EDIT10, m_type4);
	DDX_Text(pDX, IDC_EDIT2, m_each1);
	DDX_Text(pDX, IDC_EDIT5, m_each2);
	DDX_Text(pDX, IDC_EDIT8, m_each3);
	DDX_Text(pDX, IDC_EDIT11, m_each4);
	DDX_Text(pDX, IDC_EDIT13, m_type5);
	DDX_Text(pDX, IDC_EDIT14, m_each5);
	DDX_Text(pDX, IDC_EDIT3, m_price1);
	DDX_Text(pDX, IDC_EDIT6, m_price2);
	DDX_Text(pDX, IDC_EDIT9, m_price3);
	DDX_Text(pDX, IDC_EDIT12, m_price4);
	DDX_Text(pDX, IDC_EDIT15, m_price5);
	DDX_Text(pDX, IDC_EDIT16, m_time1);
	DDX_Text(pDX, IDC_EDIT17, m_time2);
	DDX_Text(pDX, IDC_EDIT18, m_time3);
	DDX_Text(pDX, IDC_EDIT19, m_time4);
	DDX_Text(pDX, IDC_EDIT20, m_time5);
	DDX_Text(pDX, IDC_EDIT21, m_time6);
	DDX_Text(pDX, IDC_EDIT22, m_time7);
	DDX_Text(pDX, IDC_EDIT23, m_time8);
	DDX_Text(pDX, IDC_EDIT24, m_time9);
	DDX_Text(pDX, IDC_EDIT25, m_time10);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(adddlg, CDialog)
	//{{AFX_MSG_MAP(adddlg)
	ON_EN_CHANGE(IDC_EDIT2, OnChangeEdit2)
	ON_EN_CHANGE(IDC_EDIT5, OnChangeEdit5)
	ON_EN_CHANGE(IDC_EDIT8, OnChangeEdit8)
	ON_EN_CHANGE(IDC_EDIT11, OnChangeEdit11)
	ON_EN_CHANGE(IDC_EDIT14, OnChangeEdit14)
	ON_BN_CLICKED(IDOK2, OnCancel)
	ON_EN_CHANGE(IDC_EDIT16, OnChangeEdit2)
	ON_EN_CHANGE(IDC_EDIT17, OnChangeEdit2)
	ON_EN_CHANGE(IDC_EDIT18, OnChangeEdit5)
	ON_EN_CHANGE(IDC_EDIT19, OnChangeEdit5)
	ON_EN_CHANGE(IDC_EDIT20, OnChangeEdit8)
	ON_EN_CHANGE(IDC_EDIT21, OnChangeEdit8)
	ON_EN_CHANGE(IDC_EDIT22, OnChangeEdit11)
	ON_EN_CHANGE(IDC_EDIT23, OnChangeEdit11)
	ON_EN_CHANGE(IDC_EDIT24, OnChangeEdit14)
	ON_EN_CHANGE(IDC_EDIT25, OnChangeEdit14)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// adddlg message handlers

void adddlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	fstream datafile;	
	datafile.open("d:\\Program Files\\type\\type.typ",ios::app);
	if(!m_type1.IsEmpty()&&!m_each1.IsEmpty()&&!m_time1.IsEmpty()&&!m_time2.IsEmpty()&&!m_price1.IsEmpty()){
	datafile<<"notebegin\n";
	datafile<<m_type1<<"\n";
	datafile<<m_each1<<"\n";
	datafile<<m_time1<<"\n";
	datafile<<m_time2<<"\n";
	datafile<<m_price1<<"\n";
	datafile<<"noteend\n";
	}
	if(!m_type2.IsEmpty()&&!m_each2.IsEmpty()&&!m_time3.IsEmpty()&&!m_time4.IsEmpty()&&!m_price2.IsEmpty()){
		datafile<<"notebegin\n";
	datafile<<m_type2<<"\n";
	datafile<<m_each2<<"\n";
	datafile<<m_time3<<"\n";
	datafile<<m_time4<<"\n";
	datafile<<m_price2<<"\n";
	datafile<<"noteend\n";
	}
	if(!m_type3.IsEmpty()&&!m_each3.IsEmpty()&&!m_time5.IsEmpty()&&!m_time6.IsEmpty()&&!m_price3.IsEmpty()){
		datafile<<"notebegin\n";
	datafile<<m_type3<<"\n";
	datafile<<m_each3<<"\n";
	datafile<<m_time5<<"\n";
	datafile<<m_time6<<"\n";
	datafile<<m_price3<<"\n";
	datafile<<"noteend\n";
	}
	if(!m_type4.IsEmpty()&&!m_each4.IsEmpty()&&!m_time7.IsEmpty()&&!m_time8.IsEmpty()&&!m_price4.IsEmpty()){
		datafile<<"notebegin\n";
	datafile<<m_type4<<"\n";
	datafile<<m_each4<<"\n";
	datafile<<m_time7<<"\n";
	datafile<<m_time8<<"\n";
	datafile<<m_price4<<"\n";
	datafile<<"noteend\n";
	}
	if(!m_type5.IsEmpty()&&!m_each5.IsEmpty()&&!m_time9.IsEmpty()&&!m_time10.IsEmpty()&&!m_price5.IsEmpty()){
		datafile<<"notebegin\n";
	datafile<<m_type5<<"\n";
	datafile<<m_each5<<"\n";
	datafile<<m_time9<<"\n";
	datafile<<m_time10<<"\n";
	datafile<<m_price5<<"\n";
	datafile<<"noteend\n";
	}
	datafile.close();
	m_type1="";
		m_each1="";
		m_time1="";
		m_time2="";
		m_price1="";
		m_type2="";
		m_each2="";
		m_time3="";
		m_time4="";
		m_price2="";	
		m_type3="";
		m_each3="";
		m_time5="";
		m_time6="";
		m_price3="";
		m_type4="";
		m_each4="";
		m_time7="";
		m_time8="";
		m_price4="";	
		m_type5="";
		m_each5="";
		m_time9="";
		m_time10="";
		m_price5="";
		UpdateData(FALSE);

}

void adddlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	CDialog::OnCancel();

}

void adddlg::OnChangeEdit2() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_each1.IsEmpty())
		return;
	if(m_time1.IsEmpty())
		return;
	if(m_time2.IsEmpty())
		return;
	int i=compare(m_time1,m_time2);
	float n=atof(m_each1)*i;
	m_price1.Format("%.2f",n/100);
	UpdateData(FALSE);

}

CString adddlg::dateyear(CString date,int n)
{
	CString buff;
	CString retu;
	int m=date.Find('.');
	if(n==1){
		retu=date.Left(m);
	}
	if(n==2){
		n=date.Find(".",m+1);
		retu=date.Left(n);
		retu=retu.Right(n-m-1);
	}
	if(n==3){
		n=date.Find(".",m+1);
		m=date.GetLength();
		retu=date.Right(m-n-1);
	}
	return retu;
}

int adddlg::compare(CString a, CString b)
{
	int montha,monthb,datea,dateb,buff,last;
	int n,i;
	int yeara=atoi(dateyear(a,1));
	int yearb=atoi(dateyear(b,1));
	datea=atoi(dateyear(a,3));
	dateb=atoi(dateyear(b,3));
	montha=atoi(dateyear(a,2));
	monthb=atoi(dateyear(b,2));
		n=yearb-yeara;
		for(i=0;i<n;i++)
		{
			yeara+=i;
			if(!(yeara%400==0)&&!(yeara%4==0))
				buff+=365;
				else
				buff+=366;
		}
		for(i=1;i<monthb+1;i++)
		{
				if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
				buff+=31;
				if(i==4||i==6||i==9||i==11)
				buff+=30;
				if(i==2)
				{
					if(!(yearb%400==0)&&!(yearb%4==0))
					buff+=29;
					else
					buff+=28;
				}

		}
		buff+=dateb;
		for(i=1;i<montha+1;i++)
		{
				if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
				last+=31;
				if(i==4||i==6||i==9||i==11)
				last+=30;
				if(i==2)
				{
					if(!(yeara%400==0)&&!(yeara%4==0))
					last+=29;
					else
					last+=28;
				}

		}
		last+=datea;
	return buff-last+1;
}

void adddlg::OnChangeEdit5() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_each2.IsEmpty())
		return;
	if(m_time3.IsEmpty())
		return;
	if(m_time4.IsEmpty())
		return;
	int i=compare(m_time3,m_time4);
	float n=atof(m_each2)*i;
	m_price2.Format("%.2f",n/100);
	UpdateData(FALSE);
}

void adddlg::OnChangeEdit8() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_each3.IsEmpty())
		return;
	if(m_time5.IsEmpty())
		return;
	if(m_time6.IsEmpty())
		return;
	int i=compare(m_time5,m_time6);
	float n=atof(m_each3)*i;
	m_price3.Format("%.2f",n/100);
	UpdateData(FALSE);
}

void adddlg::OnChangeEdit11() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_each4.IsEmpty())
		return;
	if(m_time7.IsEmpty())
		return;
	if(m_time8.IsEmpty())
		return;
	int i=compare(m_time7,m_time8);
	float n=atof(m_each4)*i;
	m_price4.Format("%.2f",n/100);
	UpdateData(FALSE);
}

void adddlg::OnChangeEdit14() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_each5.IsEmpty())
		return;
	if(m_time9.IsEmpty())
		return;
	if(m_time10.IsEmpty())
		return;
	int i=compare(m_time9,m_time10);
	float n=atof(m_each5)*i;
	m_price5.Format("%.2f",n/100);
	UpdateData(FALSE);
}

⌨️ 快捷键说明

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