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

📄 backmanager.c

📁 在LINUX下实现的一个超市的收银系统
💻 C
📖 第 1 页 / 共 3 页
字号:
		if(!Search_Account_Id(del_acc_id))//查询是否有这个帐户		{			ShowMessage("        你输入的帐号不存在");			touchwin(del_acc_win);			wrefresh(del_acc_win);			wclrtoeol(acc_id_win);			continue;		}		break;			}while (1);	//进行删除帐号操作,员工表里面删除	//int Del_Account_From_Db(char *account_id);	if(Del_Account_From_Db(del_acc_id))	{		ShowMessage("      删除帐号成功,按任意键返回");		touchwin(del_acc_win);		wrefresh(del_acc_win);	}	else	{		ShowMessage("       删除帐号失败,按任意键返回");		touchwin(del_acc_win);		wrefresh(del_acc_win);	}		noecho();	ch = mvwgetch(del_acc_win,5,20);	echo();	delwin(del_acc_win);}/*===============修改密码=====================*/void Mod_Password(){	char mod_id[20];	char old_pwd[20];	char new_pwd[20];		int ch;	char buf[20];	int buf1;	int temp;	temp = 0;		WINDOW *mod_pwd_win = newwin(9,40,8,20);	WINDOW *acc_id_win = subwin(mod_pwd_win,1,20,10,33);	WINDOW *old_pwd_win = subwin(mod_pwd_win,1,20,12,33);	WINDOW *new_pwd_win = subwin(mod_pwd_win,1,20,14,33); 	wbkgd(mod_pwd_win,COLOR_PAIR(9));	wbkgd(acc_id_win,COLOR_PAIR(10));	wbkgd(old_pwd_win,COLOR_PAIR(10));	wbkgd(new_pwd_win,COLOR_PAIR(10));	box(mod_pwd_win,0,0);		mvwprintw(mod_pwd_win,0,16,"修改密码");	mvwprintw(mod_pwd_win,2,4,"帐户ID:");	mvwprintw(mod_pwd_win,4,4,"原密码:");	mvwprintw(mod_pwd_win,6,4,"新密码:");		wrefresh(mod_pwd_win);	echo();	//输入帐号ID	do	{		memset(mod_id,0,sizeof(mod_id));		mvwgetnstr(acc_id_win,0,0,mod_id,20);		if(!Search_Account_Id(mod_id))//查询帐号是否已经存在了		{			ShowMessage("        你输入的帐号不存在");			touchwin(mod_pwd_win);			wrefresh(mod_pwd_win);			wclrtoeol(acc_id_win);			continue;		}		break;	}while (1);	//输入原密码	keypad(old_pwd_win,TRUE);	temp=0;	do	{		wmove(old_pwd_win,0,0);		wclrtoeol(old_pwd_win);				do		{				//输入密码			ch = mvwgetch(old_pwd_win,0,0+temp);					if((isprint(ch)) && (!isspace(ch)))			{				mvwaddch(old_pwd_win,0,0+temp,'*');				wrefresh(old_pwd_win);				old_pwd[temp] = ch;				temp++;				if(temp >=12)				{					break;				}			}			if(temp >=6 && ch == '\n')			{				break;			}			else if(ch == KEY_BACKSPACE)			{				if(temp > 0)				{					--temp;					wmove(old_pwd_win,0,0+temp);					wclrtoeol(old_pwd_win);				}				else				{					wmove(old_pwd_win,0,0);					wclrtoeol(old_pwd_win);				}			}		}while(1);		//验证输入的帐号密码是否正确		if(!CheckUserLogin(mod_id,old_pwd,buf,&buf1))		{			ShowMessage("       验证失败,你输入的密码错误");			touchwin(mod_pwd_win);			wrefresh(mod_pwd_win);			wclrtoeol(old_pwd_win);			memset(old_pwd,0,sizeof(old_pwd));			temp=0;			continue;		}		break;	}while (1);		//输入新密码	keypad(new_pwd_win,TRUE);	temp=0;	do	{			//输入密码		ch = mvwgetch(new_pwd_win,0,0+temp);			if((isprint(ch)) && (!isspace(ch)))		{			mvwaddch(new_pwd_win,0,0+temp,'*');			wrefresh(new_pwd_win);			new_pwd[temp] = ch;			temp++;			if(temp >=12)			{				break;			}		}		if(temp >=6 && ch == '\n')		{			break;		}		else if(ch == KEY_BACKSPACE)		{			if(temp > 0)			{				--temp;				wmove(new_pwd_win,0,0+temp);				wclrtoeol(new_pwd_win);			}			else			{				wmove(new_pwd_win,0,0);				wclrtoeol(new_pwd_win);			}		}	}while(1);	//保存新密码	if(Save_New_Pwd_To_Db(mod_id,new_pwd))	{		ShowMessage("      修改密码成功,按任意键返回");		touchwin(mod_pwd_win);		wrefresh(mod_pwd_win);	}	else	{		ShowMessage("       修改密码失败,按任意键返回");		touchwin(mod_pwd_win);		wrefresh(mod_pwd_win);	}			noecho();	ch = mvwgetch(mod_pwd_win,8,20);	echo();	delwin(mod_pwd_win);}/*===============销售记录查询==================*/void SellRecordSearch(){	char str[20];	WINDOW *rec_sea_win  = newwin(11,40,8,20);	WINDOW *choice_win = subwin(rec_sea_win,1,10,16,39);	wbkgd(rec_sea_win,COLOR_PAIR(9));	wbkgd(choice_win,COLOR_PAIR(10));	do	{			box(rec_sea_win,0,0);		mvwprintw(rec_sea_win,0,14,"销售记录查询");		mvwprintw(rec_sea_win,2,12,"1.单品销售查询");		mvwprintw(rec_sea_win,4,12,"2.单日销售查询");		mvwprintw(rec_sea_win,6,12,"0.返回上级菜单");		mvwprintw(rec_sea_win,8,12,"请选择:");		wrefresh(rec_sea_win);				echo();		mvwgetnstr(choice_win,0,0,str,10);		noecho();		if(strlen(str)>1)		{			ShowMessage("          输入错误,请重新输入");			memset(str,0,sizeof(str));			wclrtoeol(choice_win);			refresh();			continue;		}		if(!strncmp("1",str,1))		{			delwin(rec_sea_win);			clear();			refresh();			//单品销售查询			Mer_Sell_Search();		}		else if(!strncmp("2",str,1))		{			delwin(rec_sea_win);			clear();			refresh();			Day_Sell_Search();		}		else if(!strncmp("0",str,1))		{			ShowMessage("       正在返回后台管理菜单......");			delwin(rec_sea_win);			clear();			refresh();						BackManager();		}		else 		{			ShowMessage("          输入错误,请重新输入");			memset(str,0,sizeof(str));			wclrtoeol(choice_win);			refresh();			continue;			}	}while (1);}/*==========单品销售查询==============*/void Mer_Sell_Search(){	// 单品销售记录打印的是,条形码,商品名称,,单价,一共销售了多少总金额,盈利=(销售金额-进价)*数量	char mer_name[20];//商品名称	float sell_price;//销售单价	int total_sell;//一共销售了多少	float total_money;// 总金额	float payoff;//盈利	float stock_price;//进价	char start_date[20];	char end_date[20];	char bar_code[20];		char ch;	int i,j,temp;	i=0;	j=0;	temp=0;	WINDOW *mer_sell_search_win  = newwin(9,40,7,20);	WINDOW *start_date_win = subwin(mer_sell_search_win,1,20,9,36);	WINDOW *end_date_win = subwin(mer_sell_search_win,1,20,11,36);	WINDOW *bar_code_win = subwin(mer_sell_search_win,1,20,13,36);	wbkgd(mer_sell_search_win,COLOR_PAIR(9));	wbkgd(start_date_win,COLOR_PAIR(10));	wbkgd(end_date_win,COLOR_PAIR(10));	wbkgd(bar_code_win,COLOR_PAIR(10));	box(mer_sell_search_win,0,0);	mvwprintw(mer_sell_search_win,0,14,"单品销售查询");	mvwprintw(mer_sell_search_win,2,6,"起始日期:");	mvwprintw(mer_sell_search_win,4,6,"结束日期:");	mvwprintw(mer_sell_search_win,6,4,"商品条形码:");	wrefresh(mer_sell_search_win);	echo();	//输入开始日期		do	{		memset(start_date,0,sizeof(start_date));		mvwgetnstr(start_date_win,0,0,start_date,20);		//在oracle中对日期进行演出				if(!Is_Date_Right(start_date))		{			ShowMessage("     你输入的日期错误,请重新输入");			touchwin(mer_sell_search_win);			wrefresh(mer_sell_search_win);			wclrtoeol(start_date_win);			continue;		}		break;	}while (1);		//输入结束日期	do	{		memset(end_date,0,sizeof(end_date));		mvwgetnstr(end_date_win,0,0,end_date,20);				if(!Is_Date_Right(end_date))		{			ShowMessage("     你输入的日期错误,请重新输入");			touchwin(mer_sell_search_win);			wrefresh(mer_sell_search_win);			wclrtoeol(end_date_win);			continue;		}		//如果start_date>=end_date,返回真,等于返回0		if(strcmp(start_date,end_date)>0)		{			ShowMessage("       结束日期必须比起始日期大");			touchwin(mer_sell_search_win);			wrefresh(mer_sell_search_win);			wclrtoeol(end_date_win);			continue;		}		break;	}while (1);	//输入商品条形码	do	{		memset(bar_code,0,sizeof(bar_code));		mvwgetnstr(bar_code_win,0,0,bar_code,20);		if(!SearchBarCode(bar_code,MER_NAME,MER_UNIT,MER_SPEC,&MER_PRICE,&MER_STOCK))		{			ShowMessage("          商品不存在,请重新输入");			touchwin(mer_sell_search_win);			wrefresh(mer_sell_search_win);			wclrtoeol(bar_code_win);			refresh();			continue;		}		break;	}while (1);	//判读读取数据库数据是否成功	if(Search_Mer_Info(bar_code,mer_name,&sell_price,&stock_price) && Stat_Mer_Sell_Amount(bar_code,&total_sell,start_date,end_date))	{		ShowMessage("     查询数据成功,按任意键打印记录");		touchwin(mer_sell_search_win);		wrefresh(mer_sell_search_win);		temp = 1;	}	else	{		ShowMessage("         不存在销售记录,任意键返回");		touchwin(mer_sell_search_win);		wrefresh(mer_sell_search_win);	}		if(1 == temp)	{		noecho();		ch = mvwgetch(mer_sell_search_win,8,20);		echo();		delwin(mer_sell_search_win);		clear();		refresh();		//计算出盈利和销售总金额		payoff = (sell_price - stock_price)*total_sell;		total_money = sell_price * total_sell;		//打印出界面		WINDOW *sell_info_win = newwin(7,80,9,0);		wbkgd(sell_info_win,COLOR_PAIR(6));		box(sell_info_win,0,0);		mvwprintw(sell_info_win,1,1,"条形码    商品名称        商品单价    商品数量    销售总金额    总盈利");		mvwhline(sell_info_win,2,1,0,78);		mvwprintw(sell_info_win,4,1,"%s",bar_code);		mvwprintw(sell_info_win,4,11,"%s",mer_name);		mvwprintw(sell_info_win,4,28,"%.2f",sell_price);		mvwprintw(sell_info_win,4,39,"%d",total_sell);		mvwprintw(sell_info_win,4,51,"%.2f",total_money);		mvwprintw(sell_info_win,4,66,"%.2f",payoff);		wrefresh(sell_info_win);				ShowMessage("         打印完毕,任意键返回");		touchwin(sell_info_win);		wrefresh(sell_info_win);			noecho();		ch = mvwgetch(sell_info_win,5,40);		echo();		delwin(sell_info_win);		clear();		refresh();		SellRecordSearch();	}		noecho();	ch = mvwgetch(mer_sell_search_win,8,20);	echo();		delwin(mer_sell_search_win);	clear();	refresh();	SellRecordSearch();}/*==============单日销售查询==================*/void Day_Sell_Search(){	float day_total_sell;//当日的销售总金额	float day_total_payoff;//当日总盈利	char sell_date[20];//当日的销售日期	int temp;	char ch;	temp = 0;	day_total_payoff=0.0f;		WINDOW *day_sell_search_win  = newwin(5,40,10,20);	WINDOW *sell_date_win = subwin(day_sell_search_win,1,20,12,36);	wbkgd(day_sell_search_win,COLOR_PAIR(9));	wbkgd(sell_date_win,COLOR_PAIR(10));	box(day_sell_search_win,0,0);	mvwprintw(day_sell_search_win,0,14,"单日销售查询");	mvwprintw(day_sell_search_win,2,6,"销售日期:");		wrefresh(day_sell_search_win);	echo();	do	{		memset(sell_date,0,sizeof(sell_date));		mvwgetnstr(sell_date_win,0,0,sell_date,20);				if(!Is_Date_Right(sell_date))		{			ShowMessage("     你输入的日期错误,请重新输入");			touchwin(day_sell_search_win);			wrefresh(day_sell_search_win);			wclrtoeol(sell_date_win);			continue;		}				break;	}while (1);	//判断输入的日期当天是否有数据,若有的话,进行查询 	if(Day_Total_Sell_Money(sell_date,&day_total_sell) && Today_Total_Payoff(sell_date,&day_total_payoff) )	{		ShowMessage("   查询数据成功,任意键打印销售记录");		touchwin(day_sell_search_win);		wrefresh(day_sell_search_win);		temp = 1;	}	else	{		ShowMessage("          当日没有销售记录,任意键返回");		touchwin(day_sell_search_win);		wrefresh(day_sell_search_win);	}		if(1 == temp)	{		noecho();		ch = mvwgetch(day_sell_search_win,4,20);		echo();					delwin(day_sell_search_win);		refresh();				WINDOW *sell_info_win = newwin(7,40,9,20);		wbkgd(sell_info_win,COLOR_PAIR(6));		box(sell_info_win,0,0);		mvwprintw(sell_info_win,1,1,"销售日期    销售总金额    总盈利");		mvwhline(sell_info_win,2,1,0,38);		mvwprintw(sell_info_win,4,1,"%s",sell_date);		mvwprintw(sell_info_win,4,13,"%.2f",day_total_sell);		mvwprintw(sell_info_win,4,27,"%.2f",day_total_payoff);		wrefresh(sell_info_win);				ShowMessage("         打印完毕,任意键返回");		touchwin(sell_info_win);		wrefresh(sell_info_win);				noecho();		ch = mvwgetch(sell_info_win,5,20);		echo();		delwin(sell_info_win);		clear();		refresh();		SellRecordSearch();	}		noecho();	ch = mvwgetch(day_sell_search_win,4,20);	echo();	delwin(day_sell_search_win);	refresh();	SellRecordSearch();	                                                                                         			                                                                                                             		} 

⌨️ 快捷键说明

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