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

📄 posmain.c

📁 一个不错的POS系统
💻 C
字号:
#include <ncurses.h>
#include "posLogin.h"
#include "posProWin.h"
#include "posOracle.h"
#include "pub.h"
#include "posLink.h"
#include "posSale.h"
#include "posHang.h"
#include "posRemove.h"
#include "posProExit.h"
#include "posProductManage.h"
#include "posBackWin.h"
char g_staff_id[7];
char g_staff_name[16];
int g_staff_type;
int g_trans_id;
int g_details_id;
C_CLASS LINKLIST barInfoList;
C_CLASS LINKLIST barHang;
C_CLASS LINKLIST saleInfoList;
int g_line=0;
int g_listnum=0;
int g_sale_state;


SALEINFO saleInfo;
int back()
{
	backWin();
	return 0;
}
int pro()
{
	
	char tmp[40]={0};
	char buf[10];
	int n=-10,m;
	WINDOW * winmain;
	WINDOW * wincheck;
	memset(buf,0,sizeof(buf));
	while(1)
	{
	winmain=createProWin(0);
	wincheck=createCheckWin();
	while(1)
	{
		n=proWinIput(wincheck,buf);
		if(n>0)
		{
			clearWin(wincheck ,0,0,3);
			wmove(wincheck,0,3);
			printBarInfo(winmain,buf,1);
		}
		else
		{
			clearWin(wincheck ,0,0,3);
			wmove(wincheck,0,3);
			switch(n)
			{	
				case 0:
					continue;
				case -2:
					if(barInfoList.count>0)
					{
						addMsgBox(winmain,wincheck,1);
					}
					else
					{
						MessageBox("没有记录!",0);
					}
					break;
				case -3:
					if(barInfoList.count>0)
					{
						addMsgBox(winmain,wincheck,2);
					}
					else
					{
						MessageBox("没有记录!",0);
					}
					break;
				case -4:					
					if(barInfoList.count>0)
					{
						m=checkout();
						if(0==m)
							goto tt;
					}
					else
					{
						MessageBox("没有记录!",0);
					}
					break;
				case -5:
					m=hangSale();
					if(0==m)
					{
						clearWin(winmain ,5,18,1);
						goto tt;
					}			
					break;
					
				case -6:
					m=saleFetch(winmain);
					if(0==m)
					{	
						winmain=createProWin(1);
						wincheck=createCheckWin();
						printBarInfo(winmain,buf,6);
					}
					break;
				case -7:
					if(barInfoList.count>0)
					{
						saleRemove(winmain);
					}
					else
					{
						MessageBox("没有记录!",0);
					}
					break;
				case -8:
					saleReturn();
					//getch();
					break;
				case -9:
					//goto tap;
					m=proExit(winmain);
					if(m==0)
						goto tap;
					else
						break;
				case -10:
					printBarInfo(winmain,buf,2);
					break;
				case -11:
					printBarInfo(winmain,buf,3);
					break;
				default:					
					break;

			}
		}
	}
	tt:

	}
  tap:
	 // getch();
	 
	  delwin(winmain);
	  delwin(wincheck);
	  
	
	return 0;
}
int main()
{
	int n;
	link_init(&barInfoList);
	link_init(&barHang);
	link_init(&saleInfoList);
	initscr();
	refresh();	
	noecho();
	saleInfo=(struct saleinformation *)malloc(sizeof(struct saleinformation));
	conn_db("pos","pos","orcl");
	getHangNum();
	/*sprintf(tmp,"hang=%d",barHang.count);
	makelog("debug.log",tmp);*/
	while(1)
	{
		n=loginWin(0);
		if(n==1)
			return 0;	
		if(g_staff_type!=0)
			pro();
		else		
			back();	
		
	}
	endwin();
	db_disconnect();
	barInfoList.del(&barInfoList);
	barHang.del(&barHang);
	saleInfoList.del(&saleInfoList);
	free(saleInfo);
	free(saleInfoList.head);
	free(barInfoList.head);
	free(barHang.head);
	return 0;
}

⌨️ 快捷键说明

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