超市商品库存信息管理系统内容摘要:

1)。 j++) { if(strcmp(list[q][xo][j].name,name)==0) { printf(%s:\n,list[q][xo][j].name)。 printf(数量: %d\n,list[q][xo][j].count)。 } }break。 case 3: 11 printf(请输入您要查询的商品名称: )。 scanf(%s,amp。 name)。 for(j=1。 j(list[q][xo][0].lin_len+1)。 j++) { if(strcmp(list[q][xo][j].name,name)==0) { printf(%s:\n,list[q][xo][j].name)。 printf(数量: %d\n,list[q][xo][j].count)。 } }break。 case 4: printf(请输入您要查询的商品名称: )。 scanf(%s,amp。 name)。 for(j=1。 j(list[q][xo][0].lin_len+1)。 j++) { if(strcmp(list[q][xo][j].name,name)==0) { printf(%s:\n,list[q][xo][j].name)。 printf(数 量: %d\n,list[q][xo][j].count)。 } }break。 } } /**********************************************************/ void _remain(struct user u[],int q) //查询某类商品的库存记录 { int x1,i,j。 char name[20]。 float count。 struct modity a。 struct modity *p。 =0。 printf(输入您要查询的商品种类: )。 printf(请输入您要查询的种类 \ \ \ \ \n 请输入 14: )。 scanf(%d,amp。 x1)。 printf(请输入商品名称: )。 scanf(%s,amp。 name)。 for(i=1。 i(list[q][x1][0].lin_len+1)。 i++) { if(strcmp(list[q][x1][i].name,name)==0) { 12 strcpy(,name)。 =+list[q][x1][i].count。 } } printf(%s:,)。 printf(库存 :%d,)。 } 用户界面设计 本实验采用 dos 界面。 通过输出等函数使界面尽量做的美观。 每一层都有返回上一层和返回主界面的功能。 首先第一个页面是登陆注册找回密码界面,登陆界面进入后到达程序的主界面,也就是主要功能的界面,此界面包括入库,出库,商品库存查询,商品信息查询等功能。 \\第一个界面 13 \\程序主界面 4 方案实现 开发环境与工具 开发环境 : Console application 控制平台 开发工具 : codeblocks 程序设计关键技术 、顺序表的结构存储信息,并将信息从邻接表存储到顺序表然后转存到 文件中,程序运行时,将文件中信息读取到顺序表中,进而构造邻接表用来存储信息,最终实现对邻接表的操作。 ,使得程序安全性提高 ,输出,查找。 14 个人设计实现(按组员分工) 宋振 程序设计实现 /*********结构体的设计 **************************/ struct modity { char name[20]。 char brand[20]。 float purprice。 //商品进价 float selprice。 //售价 int count。 //数量 char purtime[20]。 //进货时间 char seltime[20]。 //出货时间 char unit[20]。 //计量单位 char brokerage[20]。 //经手人 char abstract[20]。 //摘要 struct modity *next。 int lin_len。 //链表有多少节点 int sign。 //做相同累加运算时的标记位 }Lnode,*Linklist,list[20][5][20]。 struct user{ char account[20]。 //账户 char code[20]。 //密码 char name[20]。 char question[40]。 char answer[20]。 //提示问题的答案 int rec_len。 //验证密码是否正确 struct modity rec[5]。 //个人信息中增加的买卖记录, max1 代表一个人最多可以存多少条记录 int list_len。 }u[max1]。 //max1 代表最多可以存多少个人的信息。 void backgroundset( )。 //背景颜色设置函数 /************匹配账号是否正确 *************************************/ int lookup_accounts(struct user u[],char acc[]) { int i。 for(i=0。 imax1。 i++) { if(strcmp(u[i].account,acc)==0) return ok。 } 15 return null。 } /*******************匹配密码是否正确 ************************************/ struct user check_code(struct user u[],char acc[],char c[]) { struct user a。 int i=0。 =0。 for(i=0。 imax1。 i++) { if(strcmp(u[i].account,acc)==0) { if(strcmp(u[i].code,c)==0) return u[i]。 else return a。 } } } /******************注册功能 ***********************************************/ int regist(struct user u[]) //是将注册的新账号传递给 u[i],然后使用save 函数保存到文件 { char account[20]。 char code[20]。 char name[20]。 char question[40]。 char answer[20]。 int m。 int fh2=0。 printf(\n\n\n\n\n\n\n)。 do { fh2=0。 //每次都初始化,防止 fh2,即使账号不重复也循环 printf(\t\t 要注册的账号 (10 个字以内,否则后果自负 ):)。 scanf(%s,account)。 if(strlen(account)20) //确定账号不溢出 { system(cls)。 printf(\n\n\n\n\n\n\n\n\n\n\n)。 printf(\t\t\t\t 溢出了,同学。 )。 16 printf(\n\n\n\n\n\n\n\n\n\n)。 Sleep(2020)。 exit(0)。 } else { printf(\n)。 for(m=0。 mmax1。 m++) { if(strcmp(u[m].account,account)==0) { printf(\t\t 该账号已存在。 请重新输入。 \n\n)。 fh2=1。 //注册账号重复返回功能 } } } }while(fh2)。 printf(\t\t 请设置密码: )。 scanf(%s,code)。 printf(\n)。 printf(\t\t 请输入姓名: )。 scanf(%s,name)。 printf(\n)。 printf(\t\t 请输入密保提示问题: )。 scanf(%s,question)。 printf(\n)。 printf(\t\t 请输入密保答案: )。 scanf(%s,answer)。 printf(\n)。 printf(\t\t 恭喜您, %s 同学成功注册账号 \n\n,name)。 strcpy(u[u[0].rec_len].account,account)。 strcpy(u[u[0].rec_len].code,code)。 strcpy(u[u[0].rec_len].name,name)。 strcpy(u[u[0].rec_len].question,question)。 strcpy(u[u[0].rec_len].answer,answer)。 u[0].rec_len++。 jm(u)。 save(u)。 load()。 jm(u)。 } /*****************************找回密码功能 *********************************/ int getcode(struct user u[]) 17 { char account[20]。 char。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。