📄 backmanager.c
字号:
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 + -