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

📄 functionlib.c

📁 linux环境下结合ncurse库
💻 C
📖 第 1 页 / 共 5 页
字号:
			int i=0;
			for(i=0;i<strlen(temp);i++)
			{
				if(  ((temp[i]>='0'&& temp[i]<='9')|| temp[i]=='.') && k<=1 )
				{ // 合法
					if(temp[i]=='.')
					{
						k++;
					}
				}
				else
				{
					flag=1;
				}
			}

			if(1==flag)
			{
				MessageBox("请输入正确数值","按任意键返回",NOBTN);
				continue;
			}
			else
			{
				earn=atof(temp);
				if(earn<statmoney)
				{
					MessageBox("钱不够!!!","按任意键返回",NOBTN);
				}else
				{
					//int IncomeWin(C_CLASS LINKLIST* link,float * money,float * change)
					break; // 退出循环
				}
			}
		}
	}
	while (1);
	
	char tempstr[10];memset(tempstr,0,10);
	sprintf(tempstr,"%.2f",earn-statmoney);
	pIncomeWin->DrawWords(pIncomeWin,5,8,tempstr);
	wrefresh(pIncomeWin->m_window);
	
	int res=0;
	res=pIncomeWin->RunMyWindow(pIncomeWin);
	if (res==BUTTONID+1)
	{
		kindmoney->give_sum=costmoney;
		kindmoney->real_sum=statmoney;
		kindmoney->money=earn;
		kindmoney->change=earn-statmoney;
		scr_restore("SaveScr2.scr");
		return 1; // 收银
	}
	scr_restore("SaveScr2.scr");
	return 0; // 返回 
}

/************************************************************
	Function:连接数据模块函数
	Param: 无
	return :1 连接成功 0 连接失败 
*************************************************************/
int ConnectDBInit()
{
	//MessageBox(char * ptitle,char * pcontent,enum MSGMODE mode)
	ConfigInfo config;
	int x=0,y=0;
	getmaxyx(stdscr,y,x);
	werase(stdscr);
	refresh();
	mvprintw(y/2,(x-strlen("正在连接数据库请稍等..."))/2,"正在连接数据库请稍等...");
	refresh();
	sleep(2);
	if(ReadConfig("pos.config",&config)==1)
	{
		// 读取成功
	}
	else
	{
		// 读取失败
		MessageBox("读配置文件失败,检查pos.config","按任意键 [退出]系统!",NOBTN);
		return 0;
	}
	
	
	werase(stdscr);
	refresh();
	if(ConnectDB(&config)==1)
	{
		MessageBox("连接数据库成功.","按任意键 [进入].",NOBTN);
		return 1;
	}
	else
	{
		MessageBox("连接数据库失败.","按任意键 [退出].",NOBTN);
		return 0;
	}
	return 0;
}

/**************************************
	Function:去除右字符串右空格函数
	Param: 字符串指针
	返回值: pos
****************************************/
int MoveRightSpace(char * str)
{
	int len=strlen(str);
	int i=0;
	if(0==len)
	{
		return 0;
	}
	for(i=len-1;i>0;i--)
	{
		if(str[i]==' ')
		{
			str[i]='\0';
			continue;
		}
		break;
	}
	return 1;
}


/**************************************************************
	Function: 验证登入
	Param: userinfo 用户输入帐户信息  staffinfo 数据库读取信息
**************************************************************/
int LoginValidate(UserInfo * userinfo,StaffInfo * staffinfo)
{
	
	int res;
	res=ConnectAccout(staffinfo,userinfo);
	if(1==res)
	{
		// 成功
		//printw("成功找到");
		return 1;
	}
	else if (0==res)
	{
		// 没有找到
		MessageBox("帐户或者密码错误","任意键返回",NOBTN);
		return 0;
	}else 
	{
		// 错误
		MessageBox("读取数据库错误","任意键返回",NOBTN);
		return 0;
	}
}

/**************************************************************
	Function: 后台管理 - 父亲模块
	Param:	无
	return; 无
**************************************************************/
void BackManager()
{
	MyWindow * pBackMgrWin=NULL;
	pBackMgrWin=MakeMyWindow(pBackMgrWin);
	pBackMgrWin->m_color=WHITE_BLUE;
	pBackMgrWin->m_sizex=78; // 30
	pBackMgrWin->m_sizey=25; // 12
	pBackMgrWin->m_px=1;
	pBackMgrWin->m_py=1;
	int  sizex=pBackMgrWin->m_sizex;
	int  sizey=pBackMgrWin->m_sizey;
	ChangeMyWindow(&pBackMgrWin);
	DrawWords(pBackMgrWin,2,(sizex-strlen("后台管理"))/2,"后台管理");
	Button * pItem1=NULL;
	pItem1=MakeButton(pItem1);
	strcpy(pItem1->m_name," 1. 商品管理 ");
	pItem1->m_kind=YESBUTTON;
	pItem1->m_isbox=FALSE;
	pItem1->m_buttonid=BUTTONID+1;
	pItem1->m_sizex=20;
	pItem1->m_sizey=1;
	pItem1->m_color_foot=WHITE_BLUE;
	pItem1->ChangeButton(&pItem1);

	Button * pItem2=NULL;
	pItem2=MakeButton(pItem2);
	strcpy(pItem2->m_name," 2. 帐户管理 ");
	pItem2->m_kind=YESBUTTON;
	pItem2->m_isbox=FALSE;
	pItem2->m_buttonid=BUTTONID+2;
	pItem2->m_sizex=20;
	pItem2->m_sizey=1;
	pItem2->m_color_foot=WHITE_BLUE;
	pItem2->ChangeButton(&pItem2);
	
	Button * pItem3=NULL;
	pItem3=MakeButton(pItem3);
	strcpy(pItem3->m_name," 3. 销售记录管理 ");
	pItem3->m_kind=YESBUTTON;
		pItem3->m_isbox=FALSE;
	pItem3->m_buttonid=BUTTONID+3;
	pItem3->m_sizex=20;
	pItem3->m_sizey=1;
	pItem3->m_color_foot=WHITE_BLUE;
	pItem3->ChangeButton(&pItem3);

	Button * pItem0=NULL;
	pItem0=MakeButton(pItem0);
	strcpy(pItem0->m_name," 0. 返回登入界面 ");
	pItem0->m_kind=YESBUTTON;
		pItem0->m_isbox=FALSE;
	pItem0->m_buttonid=BUTTONID;
	pItem0->m_sizex=20;
	pItem0->m_sizey=1;
	pItem0->m_color_foot=WHITE_BLUE;
	pItem0->ChangeButton(&pItem0);
	AddActiveElement(pBackMgrWin,pItem1,ISBUTTON,5,30);
	AddActiveElement(pBackMgrWin,pItem2,ISBUTTON,8,30);
	AddActiveElement(pBackMgrWin,pItem3,ISBUTTON,11,30);
	AddActiveElement(pBackMgrWin,pItem0,ISBUTTON,14,30);
	
	int res=0;
	do
	{	
		res=0;
		ShowMyWindow(pBackMgrWin);
		res=RunMyWindow(pBackMgrWin);
		;
		;

		switch(res)
		{
			case BUTTONID+1:
			{  // 商品管理
				CommodityMgr();
			}
			break;
			case BUTTONID+2:
			{
				// 帐户管理
				AccountMgr();
			}
			break;
			case BUTTONID+3:
			{
				// 销售记录管理
				SellRecord();
			}
			break;
			case BUTTONID:
			{
				// 返回登入界面
			}
			break;
		}

		if(BUTTONID==res)
		{
			break;
		}
	}
	while (1);
	DelMyWindow(pBackMgrWin);
}

/**************************************************************
	Function: 商品管理
	Param: 无
	return; 无
**************************************************************/
void CommodityMgr()
{
	scr_dump("SaveScr.scr");
	MyWindow * pCommodityMgr=NULL;
	pCommodityMgr=MakeMyWindow(pCommodityMgr);
	pCommodityMgr->m_color=WHITE_BLUE;
	pCommodityMgr->m_sizex=78; // 30
	pCommodityMgr->m_sizey=25; // 12
	pCommodityMgr->m_px=1;
	pCommodityMgr->m_py=1;

	int  sizex=pCommodityMgr->m_sizex;
	int  sizey=pCommodityMgr->m_sizey;
	ChangeMyWindow(&pCommodityMgr);
	DrawWords(pCommodityMgr,2,(sizex-strlen("商品管理"))/2,"商品管理");

	Button * pItem1=NULL;
	pItem1=MakeButton(pItem1);
	strcpy(pItem1->m_name,"1. 查询商品");
	pItem1->m_kind=YESBUTTON;
	pItem1->m_isbox=FALSE;
	pItem1->m_buttonid=BUTTONID+1;
	pItem1->m_sizex=20;
	pItem1->m_sizey=1;
	pItem1->m_color_foot=WHITE_BLUE;
	pItem1->ChangeButton(&pItem1);

	Button * pItem2=NULL;
	pItem2=MakeButton(pItem2);
	strcpy(pItem2->m_name,"2. 添加商品");
	pItem2->m_kind=YESBUTTON;
	pItem2->m_isbox=FALSE;
	pItem2->m_buttonid=BUTTONID+2;
	pItem2->m_sizex=20;
	pItem2->m_sizey=1;
	pItem2->m_color_foot=WHITE_BLUE;
	pItem2->ChangeButton(&pItem2);
	
	Button * pItem3=NULL;
	pItem3=MakeButton(pItem3);
	strcpy(pItem3->m_name,"3. 修改商品");
	pItem3->m_kind=YESBUTTON;
		pItem3->m_isbox=FALSE;
	pItem3->m_buttonid=BUTTONID+3;
	pItem3->m_sizex=20;
	pItem3->m_sizey=1;
	pItem3->m_color_foot=WHITE_BLUE;
	pItem3->ChangeButton(&pItem3);

	Button * pItem4=NULL;
	pItem4=MakeButton(pItem4);
	strcpy(pItem4->m_name,"4. 删除商品");
	pItem4->m_kind=YESBUTTON;
		pItem4->m_isbox=FALSE;
	pItem4->m_buttonid=BUTTONID+4;
	pItem4->m_sizex=20;
	pItem4->m_sizey=1;
	pItem4->m_color_foot=WHITE_BLUE;
	pItem4->ChangeButton(&pItem4);

	Button * pItem0=NULL;
	pItem0=MakeButton(pItem0);
	strcpy(pItem0->m_name,"0. 返回后台管理界面");
	pItem0->m_kind=YESBUTTON;
	pItem0->m_isbox=FALSE;
	pItem0->m_buttonid=BUTTONID;
	pItem0->m_sizex=20;
	pItem0->m_sizey=1;
	pItem0->m_color_foot=WHITE_BLUE;
	pItem0->ChangeButton(&pItem0);
	AddActiveElement(pCommodityMgr,pItem1,ISBUTTON,5,30);
	AddActiveElement(pCommodityMgr,pItem2,ISBUTTON,8,30);
	AddActiveElement(pCommodityMgr,pItem3,ISBUTTON,11,30);
	AddActiveElement(pCommodityMgr,pItem4,ISBUTTON,14,30);
	AddActiveElement(pCommodityMgr,pItem0,ISBUTTON,17,30);
	int res=0;
	do
	{
		res=0;
		ShowMyWindow(pCommodityMgr);
		res=RunMyWindow(pCommodityMgr);
		switch(res)
		{
			case BUTTONID+1:
			{
				// 查询商品
				SearchCommodity();

			}
			break;
			case BUTTONID+2:
			{
				// 添加商品
				AddCommodity();
			}
			break;
			case BUTTONID+3:
			{
				// 修改商品
				ModifyCommodity();
			}
			break;
			case BUTTONID+4:
			{
				// 删除商品
				DeleteCommodity();
			}
			break;
			case BUTTONID:
			{
				// 0. 返回后台管理界面
			}
			break;
		}
		if(BUTTONID==res)
		{
			break;
		}
	}
	while (1);
	DelMyWindow(pCommodityMgr);
	scr_restore("SaveScr.scr");
}

/***************************
  Function:帐户管理模块
  PARAM:无
  返回值:无
***************************/
void AccountMgr() //  帐户管理模块
{
	scr_dump("SaveScr.scr");
	MyWindow * pAccountMgr=NULL;
	pAccountMgr=MakeMyWindow(pAccountMgr);
	pAccountMgr->m_color=WHITE_BLUE;
	pAccountMgr->m_sizex=78; // 30
	pAccountMgr->m_sizey=25; // 12
	pAccountMgr->m_px=1;
	pAccountMgr->m_py=1;

	int  sizex=pAccountMgr->m_sizex;
	int  sizey=pAccountMgr->m_sizey;
	ChangeMyWindow(&pAccountMgr);
	DrawWords(pAccountMgr,2,(sizex-strlen("帐户管理"))/2,"帐户管理");

	Button * pItem1=NULL;
	pItem1=MakeButton(pItem1);
	strcpy(pItem1->m_name,"1. 查询帐户");
	pItem1->m_kind=YESBUTTON;
	pItem1->m_isbox=FALSE;
	pItem1->m_buttonid=BUTTONID+1;
	pItem1->m_sizex=20;
	pItem1->m_sizey=1;
	pItem1->m_color_foot=WHITE_BLUE;
	pItem1->ChangeButton(&pItem1);

	Button * pItem2=NULL;
	pItem2=MakeButton(pItem2);
	strcpy(pItem2->m_name,"2. 添加帐户");
	pItem2->m_kind=YESBUTTON;
	pItem2->m_isbox=FALSE;
	pItem2->m_buttonid=BUTTONID+2;
	pItem2->m_sizex=20;
	pItem2->m_sizey=1;
	pItem2->m_color_foot=WHITE_BLUE;
	pItem2->ChangeButton(&pItem2);
	
	Button * pItem3=NULL;
	pItem3=MakeButton(pItem3);
	strcpy(pItem3->m_name,"3. 修改帐户");
	pItem3->m_kind=YESBUTTON;
		pItem3->m_isbox=FALSE;
	pItem3->m_buttonid=BUTTONID+3;
	pItem3->m_sizex=20;
	pItem3->m_sizey=1;
	pItem3->m_color_foot=WHITE_BLUE;
	pItem3->ChangeButton(&pItem3);

	Button * pItem4=NULL;
	pItem4=MakeButton(pItem4);
	strcpy(pItem4->m_name,"4. 删除帐户");
	pItem4->m_kind=YESBUTTON;
		pItem4->m_isbox=FALSE;
	pItem4->m_buttonid=BUTTONID+4;
	pItem4->m_sizex=20;
	pItem4->m_sizey=1;
	pItem4->m_color_foot=WHITE_BLUE;
	pItem4->ChangeButton(&pItem4);

	Button * pItem0=NULL;
	pItem0=MakeButton(pItem0);
	strcpy(pItem0->m_name,"0. 返回后台管理界面");
	pItem0->m_kind=YESBUTTON;
	pItem0->m_isbox=FALSE;
	pItem0->m_buttonid=BUTTONID;
	pItem0->m_sizex=20;
	pItem0->m_sizey=1;
	pItem0->m_color_foot=WHITE_BLUE;
	pItem0->ChangeButton(&pItem0);
	AddActiveElement(pAccountMgr,pItem1,ISBUTTON,5,30);
	AddActiveElement(pAccountMgr,pItem2,ISBUTTON,8,30);
	AddActiveElement(pAccountMgr,pItem3,ISBUTTON,11,30);
	AddActiveElement(pAccountMgr,pItem4,ISBUTTON,14,30);
	AddActiveElement(pAccountMgr,pItem0,ISBUTTON,17,30);
	int res=0;
    do
    {
		ShowMyWindow(pAccountMgr);
		res=RunMyWindow(pAccountMgr);
		switch(res)
		{
			case BUTTONID+1:
			{
					// 查询帐户
				SearchAccount();
					
			}
			break;
			case BUTTONID+2:
			{
				// 添加帐户
				AddAccount();
			}
			break;
			case BUTTONID+3:
			{
				// 修改帐户
				ModifyAccount();
			}
			break;
			case BUTTONID+4:
			{
				// 删除帐户
				DeleteAccount();
			}
			break;
			case BUTTONID:
			{

⌨️ 快捷键说明

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