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

📄 backmanager.c

📁 在LINUX下实现的一个超市的收银系统
💻 C
📖 第 1 页 / 共 3 页
字号:
	char ch;	int i,j,temp;	i=0;	j=0;	temp=0;	WINDOW *append_mer_win = newwin(10,40,7,20);	WINDOW *bar_code_win = subwin(append_mer_win,1,20,10,35);	WINDOW *mer_amount_win = subwin(append_mer_win,1,20,13,35);   		wbkgd(append_mer_win,COLOR_PAIR(9));	wbkgd(bar_code_win,COLOR_PAIR(10));	wbkgd(mer_amount_win,COLOR_PAIR(10));    box(append_mer_win,0,0);	mvwprintw(append_mer_win,0,16,"添加商品");	mvwprintw(append_mer_win,3,6,"条形码:");	mvwprintw(append_mer_win,6,8,"数量:");	wrefresh(append_mer_win);	keypad(bar_code_win,TRUE);	echo();	//首先输入条形码	do	{		memset(append_bar_code,0,sizeof(append_bar_code));		mvwgetnstr(bar_code_win,0,0,append_bar_code,20);				if(append_bar_code[0]!= 'C')		{			ShowMessage("	    输入错误第一个必须为“C”");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(bar_code_win);			continue;		}		if(append_bar_code[1] != 'N')		{			ShowMessage("       输入错误,第2个必须为“N”");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(bar_code_win);			continue;		}		if(strlen(append_bar_code) > 8)		{			ShowMessage("     输入的字符太长了,必须为8位");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(bar_code_win);			continue;		}		for(i=2;i<=7;i++)		{			if(isdigit(append_bar_code[i]))			{				continue;			}			temp=1;			ShowMessage("      输入错误,后面6位必须为数字");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(bar_code_win);			break;		}		if(1 == temp)		{			temp = 0;			continue;		}		if(!SearchBarCode(append_bar_code,MER_NAME,MER_UNIT,MER_SPEC,&MER_PRICE,&MER_STOCK))		{			ShowMessage("    您输入的条形码不存在,请重新输入");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(bar_code_win);			continue;		}				break;	}while (1);		//要求输入添加商品数量	do	{		memset(append_mer_amount,0,sizeof(append_mer_amount));			mvwgetnstr(mer_amount_win,0,0,append_mer_amount,20);		for(i=0;i<strlen(append_mer_amount);i++)		{			if(append_mer_amount[i] == '.')			{				j++;				continue;			}			if(!isdigit(append_mer_amount[i]))			{				temp = 1;				break;			}		}		if(1 == j)		{					ShowMessage("        输入错误,必须输入整数");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(mer_amount_win);			j = 0;			continue;		}		if(j >= 2)		{			ShowMessage("        输入错误,你输入了多个小数点");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(mer_amount_win);			j = 0;			continue;		}		if(1 == temp)		{						ShowMessage("        输入错误,输入的必须为数字");			touchwin(append_mer_win);			wrefresh(append_mer_win);			wclrtoeol(mer_amount_win);			temp =0;			continue;		}		break;		}while (1);	mer_amount = atoi(append_mer_amount);	//把添加的商品数量保存到商品表里	if(Append_Mer_Stock(append_bar_code,mer_amount))	{		ShowMessage("    添加增商品数量成功,按任意键返回");		touchwin(append_mer_win);		wrefresh(append_mer_win);	}	else	{		ShowMessage("    添加增商品数量失败,按任意键返回");		touchwin(append_mer_win);		wrefresh(append_mer_win);	}		noecho();	ch = mvwgetch(append_mer_win,9,20);	echo();	delwin(append_mer_win);	clear();	refresh();	Manager_Mer();}/*==========删除商品==============*/void Del_Mer(){	char del_bar_code[20],ch;	int i,temp;	i=0;	temp=0;	WINDOW *del_mer_win = newwin(8,40,8,20);	WINDOW *del_bar_code_win = subwin(del_mer_win,1,20,12,36);   		wbkgd(del_mer_win,COLOR_PAIR(9));	wbkgd(del_bar_code_win,COLOR_PAIR(10));	  	box(del_mer_win,0,0);	mvwprintw(del_mer_win,1,15,"删除商品");	mvwprintw(del_mer_win,4,3,"商品条形码:");	wrefresh(del_mer_win);	echo();	//判断输入的条形码是否正确	do	{		memset(del_bar_code,0,sizeof(del_bar_code));		mvwgetnstr(del_bar_code_win,0,0,del_bar_code,20);				if(del_bar_code[0]!= 'C')		{			ShowMessage("	输入错误第一个必须为“C”");			touchwin(del_mer_win);			wrefresh(del_mer_win);			wclrtoeol(del_bar_code_win);			continue;		}		if(del_bar_code[1] != 'N')		{			ShowMessage("    输入错误,第2个必须为“N”");			touchwin(del_mer_win);			wrefresh(del_mer_win);			wclrtoeol(del_bar_code_win);			continue;		}		if(strlen(del_bar_code) > 8)		{			ShowMessage("    输入的字符太长了,必须为8位");			touchwin(del_mer_win);			wrefresh(del_mer_win);			wclrtoeol(del_bar_code_win);;			continue;		}		for(i=2;i<=7;i++)		{			if(isdigit(del_bar_code[i]))			{				continue;			}			temp=1;			ShowMessage("     输入错误,后面6位必须为数字");			touchwin(del_mer_win);			wrefresh(del_mer_win);			wclrtoeol(del_bar_code_win);			break;		}		if(1 == temp)		{			temp = 0;			continue;		}		if(!SearchBarCode(del_bar_code,MER_NAME,MER_UNIT,MER_SPEC,&MER_PRICE,&MER_STOCK))		{			ShowMessage("  你输入的条形码不存在,请重新输入");			touchwin(del_mer_win);			wrefresh(del_mer_win);			wclrtoeol(del_bar_code_win);			continue;		}				break;	}while (1);		//条形码输入正确后,进行删除商品操作	//Delete_Mer_From_Db(char *bar_code);	if( Delete_Mer_From_Db(del_bar_code))	{		ShowMessage("     商品删除成功,按任意键返回");		touchwin(del_mer_win);		wrefresh(del_mer_win);	}	else	{		ShowMessage("     商品删除失败,按任意键返回");		touchwin(del_mer_win);		wrefresh(del_mer_win);	}	noecho();	ch = mvwgetch(del_mer_win,7,20);	echo();		delwin(del_mer_win);	clear();	refresh();	Manager_Mer();}/*====================账户管理=================*/void AccountManager(){	char str[20];	WINDOW *acc_man_win  = newwin(13,40,6,20);	WINDOW *choice_win = subwin(acc_man_win,1,10,16,40);	wbkgd(acc_man_win,COLOR_PAIR(9));	wbkgd(choice_win,COLOR_PAIR(10));	do	{		box(acc_man_win,0,0);			mvwprintw(acc_man_win,0,16,"帐号管理");		mvwprintw(acc_man_win,2,12,"1.添加帐号");		mvwprintw(acc_man_win,4,12,"2.删除帐号");		mvwprintw(acc_man_win,6,12,"3.修改密码");		mvwprintw(acc_man_win,8,12,"0.返回上一级菜单");		mvwprintw(acc_man_win,10,12,"请选择:");		wrefresh(acc_man_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(acc_man_win);			clear();			refresh();			Add_Account();		}		else if(!strncmp("2",str,1))		{			delwin(acc_man_win);			clear();			refresh();			Del_Account();		}		else if(!strncmp("3",str,1))		{			delwin(acc_man_win);			clear();			refresh();			Mod_Password();		}		else if(!strncmp("0",str,1))		{			ShowMessage("       正在返回后台管理菜单......");			delwin(acc_man_win);			clear();			refresh();						BackManager();		}		else 		{			ShowMessage("          输入错误,请重新输入");			memset(str,0,sizeof(str));			wclrtoeol(choice_win);			refresh();			continue;			}	}while (1);}/*==============添加帐户===============*/void Add_Account(){	char add_acc_id[20];	char add_acc_name[20];	char add_acc_pwd[20];	char add_grade[20];			int grade;	int ch;	int i,j,temp;	i=0;	j=0;	temp=0;	WINDOW *add_acc_win = newwin(10,40,7,20);	WINDOW *acc_id_win = subwin(add_acc_win,1,20,9,33);	WINDOW *acc_name_win = subwin(add_acc_win,1,20,11,33);	WINDOW *acc_pwd_win = subwin(add_acc_win,1,20,13,33);	WINDOW *grade_win = subwin(add_acc_win,1,20,15,33);	wbkgd(add_acc_win,COLOR_PAIR(9));	wbkgd(acc_id_win,COLOR_PAIR(10));	wbkgd(acc_name_win,COLOR_PAIR(10));	wbkgd(acc_pwd_win,COLOR_PAIR(10));	wbkgd(grade_win,COLOR_PAIR(10));	box(add_acc_win,0,0);		mvwprintw(add_acc_win,0,16,"添加帐户");	mvwprintw(add_acc_win,2,4,"帐号ID:");	mvwprintw(add_acc_win,4,2,"帐号名称:");	mvwprintw(add_acc_win,6,6,"密码:");	mvwprintw(add_acc_win,8,6,"等级:");	wrefresh(add_acc_win);	echo();	//输入帐号ID	do	{		memset(add_acc_id,0,sizeof(add_acc_id));		mvwgetnstr(acc_id_win,0,0,add_acc_id,20);		for(i=0;i < strlen(add_acc_id);i++)		{			if(isdigit(add_acc_id[i]))			{				continue;			}			temp=1;			ShowMessage("     输入错误,帐户只允许输入数字");			touchwin(add_acc_win);			wrefresh(add_acc_win);			wclrtoeol(acc_id_win);			break;		}		if(1 == temp)		{			temp=0;			continue;		}		if(strlen(add_acc_id) != 6)		{			ShowMessage("          帐户只允许6位数字");			touchwin(add_acc_win);			wrefresh(add_acc_win);			wclrtoeol(acc_id_win);			continue;		}		if(strlen(add_acc_id) == 0)		{			ShowMessage("          输入的帐号不允许为空");			touchwin(add_acc_win);			wrefresh(add_acc_win);			wclrtoeol(acc_id_win);			continue;		}		if(Search_Account_Id(add_acc_id))//查询帐号是否已经存在了		{			ShowMessage("        你输入的帐号已经存在");			touchwin(add_acc_win);			wrefresh(add_acc_win);			wclrtoeol(acc_id_win);			continue;		}		break;	}while (1);	//输入帐号名称	mvwgetnstr(acc_name_win,0,0,add_acc_name,20);	//输入帐号密码	keypad(acc_pwd_win,TRUE);	temp=0;	do	{			//输入密码		ch = mvwgetch(acc_pwd_win,0,0+temp);			if((isprint(ch)) && (!isspace(ch)))		{			mvwaddch(acc_pwd_win,0,0+temp,'*');			wrefresh(acc_pwd_win);			add_acc_pwd[temp] = ch;			temp++;			if(temp >=12)			{				break;			}		}		if(temp >=6 && ch == '\n')		{			break;		}		else if(ch == KEY_BACKSPACE)		{			if(temp > 0)			{				--temp;				wmove(acc_pwd_win,0,0+temp);				wclrtoeol(acc_pwd_win);			}			else			{				wmove(acc_pwd_win,0,0);				wclrtoeol(acc_pwd_win);			}		}	}while(1);		//输入等级	do	{		memset(add_grade,0,sizeof(add_grade));		mvwgetnstr(grade_win,0,0,add_grade,20);		for(i=0;i < strlen(add_grade);i++)		{			if(isdigit(add_grade[i]))			{				continue;			}			temp=1;			ShowMessage("      帐户等级只允许输入1,2,3,4");			touchwin(add_acc_win);			wrefresh(add_acc_win);			wclrtoeol(grade_win);			break;		}		if(1 == temp)		{			temp=0;			continue;		}		if( atoi(add_grade) !=1 && atoi(add_grade) !=2 && atoi(add_grade) !=  3&&  atoi(add_grade)!=4 )		{			ShowMessage("      帐户等级只允许输入1,2,3,4");			touchwin(add_acc_win);			wrefresh(add_acc_win);			wclrtoeol(grade_win);			continue;		}		break;	}while(1);		grade = atoi(add_grade);	//保存到帐户表	if(Save_Account_To_Db(add_acc_id,add_acc_name,add_acc_pwd,grade,NULL))	{		ShowMessage("      添加帐号成功,按任意键返回");		touchwin(add_acc_win);		wrefresh(add_acc_win);	}	else	{		ShowMessage("       添加帐号失败,按任意键返回");		touchwin(add_acc_win);		wrefresh(add_acc_win);	}	noecho();	ch = mvwgetch(add_acc_win,9,20);	echo();	delwin(add_acc_win);}/*=================删除帐户==================*/void Del_Account(){	char del_acc_id[20];	char ch;	WINDOW *del_acc_win = newwin(7,40,9,20);	WINDOW *acc_id_win = subwin(del_acc_win,1,20,12,33);	wbkgd(del_acc_win,COLOR_PAIR(9));	wbkgd(acc_id_win,COLOR_PAIR(10));	box(del_acc_win,0,0);		mvwprintw(del_acc_win,0,16,"删除帐户");	mvwprintw(del_acc_win,3,4,"帐号ID:");		wrefresh(del_acc_win);	echo();	do	{		memset(del_acc_id,0,sizeof(del_acc_id));		mvwgetnstr(acc_id_win,0,0,del_acc_id,20);		

⌨️ 快捷键说明

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