VC++药品销售管理系统(源代码+总框图) 第5页

VC++药品销售管理系统(源代码+总框图) 第5页
OK按钮:点击,采购完毕,保存到库存
(3)核心代码:
bool Check1(CString &m_Numberx) //检查是否含不是数字的项
{
       for(int i = 0;i <m_Numberx.GetLength();i++)
     {
      if(!isdigit(m_Numberx[i]))
   return false;
     }
      return true;
}
void GouMai::OnOK()
{
 UpdateData(true);
 int Index1;
 bool Jin=true;
 CMedManageApp *app = (CMedManageApp *)AfxGetApp();
   
 if(m_Name.IsEmpty())  //若药名栏为空
 {
  MessageBox("请输入药名!");
 }
 else if(m_Kind.IsEmpty()) //若类别栏为空
 {
  MessageBox("请输入药品类别!");
 }
 else if(!Check1(m_Number))  //若类别栏中含非法字符
 {
  MessageBox("数据栏含非法字符!");
 }
    else
 {
 Index1=app->single.GetYaoNum(1);
 while(Index1--)
 {
     if(app->single.GetYao(Index1,1)->YName==m_Name)
  {
   MessageBox("列表中已经有该项了");
   Jin=false;
  }
 }
    if(Jin==true)
 {
     app->single.AddYao(m_Name,m_Kind,m_Number,m_Price,1);
        
 }
   CDialog::OnOK();
 }
}

4.3 销售模块的实现
(1)药品销售系统的药品销售功能模块实现药品销售的相关操作,如图4.3所示,为药品销售界面。药品销售功能模块由药名、类别、数量、价格、总价、销售列表和销售详情组成,此对话框由七个静态文本框、四个可编辑文本框、列表和四个按钮构成,实现销售药品的功能,分为售出、查询、修改和退出等功能,在药品采购完之后,从库存里售出相应的药品,如果库存里没有相应药品的采购,则无法进行销售。
                                   图4.3 药品销售界面    
(2)各控件的说明如下:
药品:输入销售的药品名,为字符型变量,否则出错;
类别:输入销售的药品类别,为字符型变量。
数量:输入销售的药品数量,为整形变量,其值不能小于0,大于采购的数量,否则库存不够,无法进行销售。
价格:输入销售的药品价格,为整形变量,其值大于0。
总价:在输入完药品名、类别、数量和价格之后,进行相应的操作时,总价会显示总的价格。
销售列表:在输入完药品名、类别、数量和价格,售出药品之后,销售列表会显示当前销售的药品名。
销售详单:在售出药品之后,在销售列表中有相应的药品名,而对应的销售记录在销售详单里,通过列表显示出来。
售出:在输入完药品名、类别、数量和价格,点击售出,则将相应的药品名和记录添加到销售列表和销售详单里。
查询:点击查询按钮之后,销售列表里会显示售出的药品名进行查询,通过销售详单显示相应的记录。
修改:只能对销售的数量进行修改,修改成功后将记录添加到销售列表和销售详单里。
退出:点击该按钮即实现退出销售界面。
(3)核心代码:
bool Check(CString &m_Numberx) //检查是否含不是数字的项
{
 for(int i = 0;i <m_Numberx.GetLength();i++)
 {
  if(!isdigit(m_Numberx[i]))
   return false;
 }
 return true;
}
void Sell::OnTotal()
{
    UpdateData(true);
 int Index1,JiShu;
 bool Jin=true,Kcheck=true;
 CMedManageApp *app = (CMedManageApp *)AfxGetApp();
   
 if(m_Name.IsEmpty())  //若药名栏为空
 {
  MessageBox("请输入药名!");
 }
 else if(m_Kind.IsEmpty()) //若类别栏为空
 {
  MessageBox("请输入药品类别!");
 }
 else if(!Check(m_Number))  //若类别栏中含非法字符
 {
  MessageBox("数据栏含非法字符!");
 }
 else if(!Check(m_Price))  //若类别栏中含非法字符
 {
  MessageBox("价格栏含非法字符!");
 }
 
    else
 {
   Index1=app->single.GetYaoNum(1);
   if(Index1)
   { while(Index1--)
    {
        if(m_Name==app->single.GetYao(Index1,1)->YName)
     {
       if(atoi(app->single.GetYao(Index1,1)->YNumber)<atoi(m_Number))
    {MessageBox("库存不够");Kcheck=false;}
       else
     JiShu=Index1;
    Kcheck=true;
             break;
     }
     else
      Kcheck=false;
    }
    if(Kcheck==true)
    {
       Index1=app->single.GetYaoNum(2);
       while(Index1--)
    {
          if(app->single.GetYao(Index1,2)->YName==m_Name)
    {
       MessageBox("列表中已经有该项了");
       Jin=false;
    }
    } 
          if(Jin==true)
    {
           app->single.AddYao(m_Name,m_Kind,m_Number,m_Price,2);
              int temp=atoi(app->single.GetYao(JiShu,1)->YNumber)-atoi(m_Number);
     app->single.GetYao(JiShu,1)->YNumber.Format("%d",temp);
     m_Total.Format("%d",atoi(m_Number)*atoi(m_Price));
     UpdateData(false);

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有