亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? loginwindow.c

?? 福建博洋教育C/C++軟件項目實戰:POS收銀系統
?? C
?? 第 1 頁 / 共 5 頁
字號:
		wrefresh(account);
		while(1)
		{
			ch=wgetch(account);
			switch (ch)
			{
			case KEY_F(1):			
				return;
			case KEY_BACKSPACE:  //按退格鍵盤
				if (cnt>0)
				{
					getyx(account,now_col,now_row);
					mvwaddch(account,now_col,--now_row,' ');							
					user[--cnt]='\0';				
					wmove(account,0,now_row);
					wrefresh(account);	
				}							
				break;		
			case KEY_DOWN:
			case '\n':				
				goto PASSWD;							
				break;
			default:
				if (ch>='0'&&ch<='9'&&cnt<6)
				{
					now_row++;
					waddch(account,ch);
					user[cnt]=ch;
					user[++cnt]='\0';			
					wrefresh(account);				
					break;
				}	
			}
		}		
	PASSWD:
		wmove(passwd,0,0);
		l=strlen(pwd);
		for ( i=0; i<=l-1; i++)
		{
			waddch(passwd,'*');
		}
		wrefresh(passwd);		
		while (1)
		{
			ch=wgetch(passwd);
			switch (ch)
			{
			case KEY_F(1):			
				return;
			case KEY_BACKSPACE:  //按退格鍵盤
				if (cnt1>0)
				{
					getyx(passwd,now_col1,now_row1);
					mvwaddch(passwd,now_col1,--now_row1,' ');	
					wmove(passwd,now_col,now_row1);
					pwd[--cnt1]='\0'; 
					wrefresh(passwd);
				}				
				break;		
			case KEY_UP:
				goto ACCOUNT;		
			case KEY_DOWN:
			case '\n':
				goto ENSURE;
			default:	
				if (cnt1>=12)
				{
					break;
				}
				if ( (ch>='0'&&ch<='9') || (ch>='a'&&ch<='z') || (ch>='A'&&ch<='Z') )
				{
					now_row1++;
					waddch(passwd,'*');
					pwd[cnt1]=ch;
					pwd[++cnt1]='\0';			
					wrefresh(passwd);				
					break;
				}	
			}
		}		
	ENSURE:	
		wattron(dialog[1],A_REVERSE);
		mvwprintw(dialog[1],1,2, "確定");			  
		wrefresh(dialog[1]);			
		while (1)
		{
			ch=wgetch(dialog[1]);
			switch (ch)
			{		
			case KEY_F(1):			
				return;
			case KEY_UP:
				wattroff(dialog[1],A_REVERSE);
				mvwprintw(dialog[1],1,2, "確定");
				wrefresh(dialog[1]);						
				goto PASSWD;
			case KEY_RIGHT:
				wattroff(dialog[1],A_REVERSE);
				mvwprintw(dialog[1],1,2, "確定");
				wrefresh(dialog[1]);	
				goto CANCEL;
			case '\n':			
				//驗證用戶名密碼格式是否正確
				if (cnt!=6)
				{
					Message("請輸入6位數字賬號",8,38);					
					scr_restore("superadmin.scr");
					user[0]='\0';//賬戶帳號
					pwd[0]='\0';//賬戶密碼			
					now_col=0;
					now_row=0;
					now_col1=0;
					now_row1=0;	
					cnt=0;	
					cnt1=0;	
					goto ACCOUNT;
				}
				if (cnt1<6||cnt>12)
				{
					Message("密碼長度錯誤,請輸入6-12位密碼",8,38);					
					scr_restore("superadmin.scr");
					user[0]='\0';//賬戶帳號
					pwd[0]='\0';//賬戶密碼			
					now_col=0;
					now_row=0;
					now_col1=0;
					now_row1=0;	
					cnt=0;	
					cnt1=0;	
					goto ACCOUNT;
				}
				//檢查用戶名是否存在
				{
					STAFF *staff = (STAFF *)malloc(sizeof(STAFF));
					strcpy(staff->staff_id,user);
					res = check_staff(staff);
					if (res==-1)
					{
						Message("數據庫出錯",10,40);
						endwin();
						exit(1);
					}
					if (res==0)
					{
						Message("你輸入的帳戶ID不存在",8,38);
						scr_restore("superadmin.scr");
						user[0]='\0';//賬戶帳號
						pwd[0]='\0';//賬戶密碼			
						now_col=0;
						now_row=0;
						now_col1=0;
						now_row1=0;	
						cnt=0;	
						cnt1=0;	
						goto ACCOUNT;
					}
				}
				//驗證用戶名密碼是否正確;
				res=check_login(user,pwd);
				if (res==-1)
				{
					Message("數據庫出錯",10,40);
					endwin();
					exit(1);
				}
				if (res==0)
				{
					Message("密碼錯誤",8,38);					
					scr_restore("superadmin.scr");
					user[0]='\0';//賬戶帳號
					pwd[0]='\0';//賬戶密碼			
					now_col=0;
					now_row=0;
					now_col1=0;
					now_row1=0;	
					cnt=0;	
					cnt1=0;	
					goto ACCOUNT;
				}
				int isAdmin=check_admin_other(user,res);
				//賬戶進入退貨功能
				if (isAdmin==0)
				{
					saleid_win(user);	
					return;
				}
				//其他權限賬戶
				if (isAdmin==2)
				{
					Message("你的賬戶權限不夠",10,40);
					scr_restore("superadmin.scr");
					user[0]='\0';//帳號
					pwd[0]='\0';//密碼			
					now_col=0;
					now_row=0;
					now_col1=0;
					now_row1=0;	
					cnt=0;	
					cnt1=0;	
					goto ACCOUNT;
				}
				if (isAdmin==1)
				{
					Message("您的賬戶權限不夠",10,40);
					scr_restore("superadmin.scr");
					user[0]='\0';//帳號
					pwd[0]='\0';//密碼			
					now_col=0;
					now_row=0;
					now_col1=0;
					now_row1=0;	
					cnt=0;	
					cnt1=0;	
					goto ACCOUNT;
				}							
			}			
		}
	CANCEL:		
		wattron(dialog[2],A_REVERSE);
		mvwprintw(dialog[2],1,2, "取消");		  
		wrefresh(dialog[2]);	
		while (1)
		{
			ch=wgetch(dialog[2]);
			switch (ch)
			{
			case KEY_F(1):			
				return;
			case KEY_LEFT:
				wattroff(dialog[2],A_REVERSE);
				mvwprintw(dialog[2],1,2, "取消");
				wrefresh(dialog[2]);
				goto ENSURE;		
			case '\n':
				return;		
			}
		}
}

/*========================================================
function:18位銷售ID輸入窗口與銷售單號驗證
=========================================================*/	
void saleid_win(char *usr)
{
	int ch;
	int now_col,now_row;
	char saleid[19]={'\0'};
	int cnt=0;
	WINDOW *sale;
	WINDOW *dialog[3]={NULL};	
	print_dialog_box(10,40,"退貨銷售單號",1,dialog);
	mvwprintw(dialog[0],2,2,"銷售單號:");
	wrefresh(dialog[0]);
	keypad(dialog[1],TRUE);
	keypad(dialog[2],TRUE);
	sale=create_win(1,20,9,34);
	keypad(sale,TRUE);
	wbkgd(sale,COLOR_PAIR(4));
	wrefresh(sale);
	scr_dump("salewindow.scr");
	SALE:
		wmove(sale,0,0);
		wprintw(sale,saleid);	
		wrefresh(sale);
		while(1)
		{
			ch=wgetch(sale);
			switch (ch)
			{
			case KEY_BACKSPACE:  //按退格鍵盤
				if (cnt>0)
				{
					getyx(sale,now_col,now_row);
					mvwaddch(sale,now_col,--now_row,' ');			
					saleid[--cnt]='\0';
					wmove(sale,0,now_row);
					wrefresh(sale);				
					break;
				}				
			case KEY_F(1):			
				return;
			case KEY_DOWN:
			case '\n':
				goto ENSURE;
			default:
				if (ch>='0'&&ch<='9' &&cnt<18)
				{
					now_row++;
					waddch(sale,ch);
					saleid[cnt]=ch;
					saleid[++cnt]='\0';					
					wrefresh(sale);				
					break;
				}	
			}
		}			
	ENSURE:	
		wattron(dialog[1],A_REVERSE);
		mvwprintw(dialog[1],1,2, "確定");		
		wrefresh(dialog[1]);		  
		while (1)
		{
			ch=wgetch(dialog[1]);
			switch (ch)
			{		
			case KEY_F(1):			
				return;
			case KEY_UP:
				wattroff(dialog[1],A_REVERSE);
				mvwprintw(dialog[1],1,2, "確定");
				wrefresh(dialog[1]);					
				goto SALE;
			case KEY_RIGHT:
				wattroff(dialog[1],A_REVERSE);
				mvwprintw(dialog[1],1,2, "確定");
				wrefresh(dialog[1]);			
				goto CANCEL;
			case '\n':	
				//驗證銷售單號長度
				if (cnt!=18)
				{
					Message("請輸入18位銷售單號",10,40);
					scr_restore("salewindow.scr");
					now_col=0;
					now_row=0;
					saleid[0]='\0';
					cnt=0;
					goto SALE;
				}
				//驗證銷售單是否存在
				{
					SALE_ID *sale_id = (SALE_ID *)malloc(sizeof(SALE_ID));
					strcpy(sale_id->sale_id,saleid);
					int res = exist_saleid(sale_id);
					if (res==-1)
					{
						Message("數據庫出錯",10,40);
						endwin();
						exit(1);
					}
					if (res==0)
					{
						Message("您輸入的銷售單號不存在",10,40);
						scr_restore("salewindow.scr");
						now_col=0;
						now_row=0;
						saleid[0]='\0';
						cnt=0;
						goto SALE;
					}	
					//判斷此銷售單號是否已經全部退貨;
					PRODUCT *pro_info = (PRODUCT *)malloc(sizeof(PRODUCT));
					pro_info->count = 0;
					res = get_saleid_product_count(sale_id,pro_info);
					if (res==-1)
					{
						Message("數據庫出錯",10,40);
						endwin();
						exit(1);
					}
					if (res==0)
					{
						Message("您輸入的銷售單號已經全部退貨",10,40);
						scr_restore("salewindow.scr");
						now_col=0;
						now_row=0;
						saleid[0]='\0';
						cnt=0;
						goto SALE;
					}
					return_purchase_win(sale_id,usr);
					return;										
				}									
			}			
		}
	CANCEL:	
		wattron(dialog[2],A_REVERSE);
		mvwprintw(dialog[2],1,2, "取消");		
		wrefresh(dialog[2]);		  
		while (1)
		{
			ch=wgetch(dialog[2]);
			switch (ch)
			{
			case KEY_F(1):			
				return;
			case KEY_LEFT:		
				wattroff(dialog[2],A_REVERSE);
				mvwprintw(dialog[2],1,2, "取消");
				wrefresh(dialog[2]);
				goto ENSURE;		
			case '\n':
				return;	
					
			}
		}
}

/*==================================================================
function:退貨主窗口與功能實現
====================================================================*/	
void return_purchase_win(SALE_ID *sale_id,char *usr)
{
	int ch;
	int cur=0;
	WINDOW *win=create_win(24,80,0,0);
	keypad(win,TRUE);
	box(win,0,0);
	print_line(win,2);
	print_line(win,4);
	print_line(win,6);
	print_line(win,21);
	mvwprintw(win,0,32,"歡迎光臨XXX超市");
	mvwprintw(win,1,38,"退貨");
	mvwprintw(win,3,1,"收銀員:");
	STAFF *staff_info=(STAFF *)malloc(sizeof(STAFF)); 
	get_staffinfo(staff_info,usr);
	wprintw(win,"%s",staff_info->staff_name);
	mvwprintw(win,3,19,"等級:");
	if (staff_info->staff_type==0)
	{
		wprintw(win,"超級用戶");
	} 	
	PRODUCT *pro_info=(PRODUCT *)malloc(sizeof(PRODUCT));
	SEQID *seq_id=(SEQID *)malloc(sizeof(SEQID));
	mvwprintw(win,3,34,"交易號:");
	get_seq_trans_id(seq_id);
	wprintw(win,"%s",seq_id->seq_trans_id); 
	mvwprintw(win,3,49,"時間:");
	char systime[20]={'\0'};
	get_system_time(win,systime);
	wprintw(win,"%s",systime);
	mvwprintw(win,5,1,"%-5s%-10s%-23s%-6s%-6s%-10s%-6s%-12s","序號","條形碼","商品名稱","規格","單位","單價","數量","金額");
	mvwprintw(win,22,10,"F1:退出    F3:退貨商品   F4:退貨              銷售狀態:  退貨");	
	wrefresh(win);
	SALE *return_sale=(SALE *)malloc(sizeof(SALE));
	//打印窗口
	WINDOW *print_window=NULL;
	print_window=create_win(14,78,7,1);
	keypad(print_window,TRUE);
	wbkgd(print_window,COLOR_PAIR(6));
	wrefresh(print_window);
	scr_dump("recodeproduct.scr");
	while (1)
	{
		ch=wgetch(win);
		switch (ch)
		{
		case KEY_UP:
			if (cur>1)
			{
				wclear(print_window);				
				print_sale_product(print_window,--cur);
				wrefresh(win);
				wrefresh(print_window);
			}
			break;
		case KEY_DOWN:
			if (cur<salelist.count)
			{
				wclear(print_window);				
				print_sale_product(print_window,++cur);
				wrefresh(win);
				wrefresh(print_window);
			}
			break;		
		case KEY_F(3):
			cur=return_purchase_commodity_win(sale_id);
			wclear(print_window);		
			wrefresh(win);
			print_sale_product(print_window,cur);
			wrefresh(print_window);
			break;
		case KEY_F(4):
			strcpy(return_sale->sale_id,systime);
			strcat(return_sale->sale_id,seq_id->seq_trans_id);
			strcpy(return_sale->trans_id,seq_id->seq_trans_id);
			strcpy(return_sale->staff_id,usr);
			strcpy(return_sale->sale_date,systime);
			if ( return_ware_win(return_sale,sale_id) )
			{
				mvwprintw(win,3,34,"交易號:");
				get_seq_trans_id(seq_id);
				wprintw(win,"%s",seq_id->seq_trans_id);  	
				mvwprintw(win,3,49,"時間:");
				get_system_time(win,systime);
				wprintw(win,"%s",systime);	
				PRODUCT *product = (PRODUCT *)malloc(sizeof(PRODUCT));
				int res = get_saleid_product_count(sale_id,product);
				if (res==-1)
				{
					Message("數據庫出錯",10,40);
					endwin();
					exit(1);
				}
				if (res==0)
				{
					Message("此單已經全部退貨,返回收銀窗口",10,40);
					return;
				}
			}
			touchwin(win);
			wrefresh(win);
			print_sale_product(print_window,cur);
			wrefresh(print_window);
			break;	
		case KEY_F(1):	
			if (salelist.count)
			{
				Message("有退貨記錄未結算",10,40);			
				wclear(print_window);	
				touchwin(win);
				wrefresh(win);
				print_sale_product(print_window,cur);
				wrefresh(print_window);
				break;
			}
			else 
			{
				return;	
			}		
		}		
		wrefresh(win);
	}	
}

/*======================================================
function:退貨商品條形碼數量輸入窗口
========================================================*/
int return_purchase_commodity_win(SALE_ID *sale_id)
{	
	int ch;
	int now_col=0;
	int now_row=0;
	char bar_code[9]={"CN"};
	char numberStr[5]={'\0'};
	int number=0;
	int cnt1=2;
	int now_col1=0;
	int now_row1=2;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se狠狠狠综合亚洲狠狠| 欧美bbbbb| av亚洲精华国产精华精华| 欧美精品一区二区久久久| 麻豆精品视频在线观看免费| 久久夜色精品一区| 2023国产精品视频| 中文字幕欧美区| 中文字幕一区二区三中文字幕| 91网站在线观看视频| 国产精品自拍av| 日韩精品久久理论片| 亚洲不卡在线观看| 91精品欧美久久久久久动漫| 日韩激情视频网站| 精品免费一区二区三区| 国产 日韩 欧美大片| 国产精品美女久久久久久| 色综合久久中文字幕综合网| 亚洲成av人影院在线观看网| 日韩免费看网站| 国产成人av资源| 一区二区三区在线视频观看58| 欧美精品xxxxbbbb| 蜜臀av一区二区| 国产精品区一区二区三区| 91国产福利在线| 国产一区二区在线视频| 成人欧美一区二区三区在线播放| 在线观看精品一区| 国产在线一区二区| 一区二区三区中文字幕电影| 日韩欧美aaaaaa| 色婷婷av一区二区三区gif| 男人的天堂亚洲一区| 国产精品久久精品日日| 欧美一区午夜视频在线观看| 福利一区在线观看| 日本va欧美va精品| ㊣最新国产の精品bt伙计久久| 欧美一区二区三区视频免费播放 | 国产精品毛片大码女人| 欧美亚洲另类激情小说| 国产一区二区在线影院| 亚洲一级二级三级| 国产欧美一区二区三区鸳鸯浴| 欧美中文字幕一二三区视频| 国产成人超碰人人澡人人澡| 亚洲国产精品久久久久婷婷884| 日韩精品最新网址| 色哟哟国产精品| 大桥未久av一区二区三区中文| 亚洲第一成人在线| 国产精品高清亚洲| 欧美mv和日韩mv的网站| 在线视频你懂得一区二区三区| 国产成人免费在线观看不卡| 日韩福利电影在线| 亚洲综合色婷婷| 国产精品国产三级国产专播品爱网| 欧美一区在线视频| 欧美日韩国产一区| 色婷婷激情综合| 成人av在线资源网| 国产原创一区二区| 美女一区二区三区| 日韩va欧美va亚洲va久久| 一区二区三区鲁丝不卡| 中文字幕一区二区视频| 中文字幕电影一区| 国产清纯白嫩初高生在线观看91 | 国产一区二区三区电影在线观看| 亚洲图片欧美综合| 亚洲精品ww久久久久久p站| 国产精品久久久久久久久晋中| 久久久精品国产99久久精品芒果| 欧美一级欧美三级| 欧美一区二区三区在线电影| 欧美丝袜自拍制服另类| 91久久精品一区二区三| 91小视频在线免费看| 色先锋久久av资源部| 一本大道久久a久久精品综合| 91在线观看一区二区| 99re成人在线| 在线观看亚洲一区| 欧美性色aⅴ视频一区日韩精品| 在线观看亚洲精品| 欧美日韩在线电影| 在线综合+亚洲+欧美中文字幕| 欧美日韩亚洲综合在线| 欧美日韩国产另类不卡| 91精品国产高清一区二区三区| 日韩欧美电影一二三| 久久蜜桃一区二区| 中文字幕 久热精品 视频在线 | 99在线精品免费| 91福利国产成人精品照片| 日本高清视频一区二区| 欧美午夜在线一二页| 欧美色综合网站| 日韩欧美色电影| 国产欧美日韩另类视频免费观看| 国产精品久久久久久久久图文区 | 亚洲国产精品自拍| 秋霞av亚洲一区二区三| 国产伦精一区二区三区| 成人av在线影院| 在线观看一区二区精品视频| 日韩一区二区麻豆国产| 久久久久久久久久久久电影| 亚洲欧美在线观看| 日日摸夜夜添夜夜添国产精品| 成人动漫一区二区在线| 欧美在线免费视屏| 欧美大肚乱孕交hd孕妇| 亚洲国产精品av| 午夜久久久影院| 国产在线麻豆精品观看| 99久久精品免费看| 欧美一区二区三区婷婷月色| 久久在线观看免费| 亚洲最新在线观看| 国内不卡的二区三区中文字幕 | 91小视频免费观看| 日韩亚洲欧美中文三级| 国产精品国产三级国产aⅴ中文 | 欧美高清在线精品一区| 亚洲午夜三级在线| 国产精品综合在线视频| 91麻豆免费视频| 日韩午夜在线播放| 夜夜爽夜夜爽精品视频| 国产一区二区视频在线播放| 91麻豆.com| 国产日韩欧美精品在线| 天天色天天操综合| 91日韩精品一区| 精品国产一区二区三区不卡| 亚洲精品v日韩精品| 国产91精品一区二区| 欧美电影在线免费观看| 亚洲视频免费看| 国产乱人伦偷精品视频免下载| 欧美日韩精品电影| 亚洲免费av网站| 成人深夜福利app| 久久这里只有精品首页| 无码av中文一区二区三区桃花岛| 成人久久视频在线观看| 久久综合久久久久88| 视频一区中文字幕国产| 在线观看网站黄不卡| 欧美激情综合网| 国产麻豆9l精品三级站| 精品美女在线观看| 奇米影视一区二区三区小说| 欧美中文字幕一区二区三区| 亚洲视频香蕉人妖| 99re视频精品| 国产精品毛片高清在线完整版| 国产精品一区二区果冻传媒| 精品国产一区二区三区不卡 | 777久久久精品| 亚洲福利国产精品| 色诱亚洲精品久久久久久| 亚洲欧洲日韩av| 成人网页在线观看| 亚洲国产精品传媒在线观看| 国内成人精品2018免费看| 日韩欧美国产系列| 久久精品999| 精品免费视频.| 国产在线精品一区二区夜色| 精品国产第一区二区三区观看体验 | 成人爱爱电影网址| 狠狠色丁香久久婷婷综| 精品国产第一区二区三区观看体验| 麻豆91在线观看| 欧美不卡一区二区三区| 久久99国产精品麻豆| 久久综合狠狠综合久久激情 | 精品国产乱码久久久久久夜甘婷婷| 人人超碰91尤物精品国产| 日韩色在线观看| 国产精品18久久久久久久久| 日本一区二区三区四区| 成人精品视频.| 一区二区三区中文字幕| 欧美人动与zoxxxx乱| 蜜臀久久久久久久| 久久久久久久电影| 99免费精品在线观看| 亚洲一区二区三区影院| 91精品国产欧美一区二区| 久久精品国产99国产精品| 久久久777精品电影网影网| 不卡的电视剧免费网站有什么| 亚洲精品午夜久久久| 91麻豆精品国产自产在线观看一区|