【数据结构】超市商品库存信息管理系统_第1页
【数据结构】超市商品库存信息管理系统_第2页
【数据结构】超市商品库存信息管理系统_第3页
【数据结构】超市商品库存信息管理系统_第4页
【数据结构】超市商品库存信息管理系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE47目录41.1课题任务41.2课题原理41.3相关知识455用户需求分析 553.153.2103.3113.4主算法设计123.5141515程序设计关键技术 16个人设计实现(按组员分工)宋振设计实现 1717于红爽设计实现17测试与调试23个人测试(按组员分工) 2323常玉颖测试 23于红爽测试 23333639394041个人设计小结(按组员分工)42424242A5050课题报告分工 51B课题设计文档(光盘)52课程设计报告(电子版)52源程序代码(*.H,*.CPP) 52工程与可执行文件) 52屏幕演示录像文件(可选) 52C用户操作手册(可选)53运行环境说明 53操作说明 54课题概述课题任务超市商品库存信息管理系统【问题描述】对一个中小型超市的库存商品信息管理作一个简单的模拟。【设计要求】设计超市库存商品信息维护管理的模拟程序。采用顺序表或结构体链表存储结构。实现超市商品的创建、分类、出库、入库、修改等管理功能。实现库存商品的各种查询和统计功能。考虑采用优化的查询和排序算法。其它完善性功能。课题原理本程序采用邻接表的结构,将用户信息存在邻接表的顺序表中,将入库出库的商品信息存储在链表中。程序运行前,将文件中的信息读入一个三维数组中,然后把三维数组读入邻接表中。程序运行结束后,将邻接表的信息存储到三维数组中,再将三维数组的信息转存到文件中,实现了信息的长久存储。助了一个三维数组存入到文件中。相关知识数据结构:邻接表、邻接表的遍历,排序、查找、文件、顺序表。需求分析课题调研出售数量,出手日期,经手人即可。用户需求分析现代中小型超市基本都要走向实现商品信息智能化管理的道路,而商品库存管理系统能够有效的帮助他们记录每天的进账,出账,库存和交易记录。此系统有效地解决了传统记账的繁琐,账本数据易丢失,账本信息不安全等问题,是未来包括超市在内的商店运营必备的产品。方案设计总体功能设计该程序主要分为以下几大功能,包括入库,出库,以及对库存的操作。对易记录查询等子功能。而这些均建立在对邻接表的操作基础上实现的。数据结构设计程序的数据结构包括邻接表、顺序表。顺序表用来存储从客户端输入的商品入库出库信息,然后读入邻接表中,邻接表的顺序表存储用户信息,链表存储商品信息。structcommodity//商品信息的结构体{charname[20];charbrand[20];floatpurprice;//商品进价floatselprice;//售价intcount;//数量charpurtime[20];//进货时间charseltime[20];//出货时间charunit[20];//计量单位charbrokerage[20];//经手人charabstract[20];//摘要structcommodity*next;intlin_len; 链表有多少节点intsign; 做相同累加运算时的标记位}Lnode,*Linklist,list[20][5][20];structuser{ characcount[20]; 账户charcode[20]; 密码charname[20];charcharanswer[20]; 提示问题的答案intrec_len; 验证密码是否正确structcommodityrec[5]; max1intlist_len;}u[max1];函数原型设计voidbackgroundset( //背景颜色设置函数voidoutsert_com(structuseru[],intq);voidinsert_com(structuseru[],intq);intjm(structuseru[]); //加密解密函数intgetcode(structuseru[]); //找回密码函数intregist(structuseru[]); //注册函数voidsave(structuseru[]); //存入文件函数voidload( //读出函数voidsave2();intlookup_accounts(structuseru[],characc[]); //匹配账号函数structusercheck_code(structuseru[],characc[],charc[]); //匹配密码函数int find_acc(char accou[]);//查找账户是第几个用户voidprint_message(structuser*p); //信息voidout_print(structuseru[],intq,introw);structcommodity*InitLnode(structcommodity*p);voidremain(structcommoditylist[20][5][20],intq,introw);voidsearch(structuseru[],intq);voidcom_remain(structuseru[],intq);voidload2();主算法设计voidinsert_com(structuseru[],intq) //商品入库{inti;structcommodity*a;printf("请输入您要添加的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");intx2;scanf("%d",&x2);a=&u[q].rec[x2];for(i=0;i<list[q][x2][0].lin_len;i++){a=a->next;}a=InitLnode(a);printf("商品名称:");scanf("%s",&a->name);printf("\n");printf("商品品牌:");scanf("%s",&a->brand);printf("\n");printf(":");scanf("%f",&a->purprice);printf("\n");printf(":");scanf("%f",&a->selprice);printf("\n");printf("商品数量:");scanf("%d",&a->count);printf("\n");printf(":");scanf("%s",&a->purtime);printf("\n");printf(":");scanf("%s",&a->brokerage);printf("\n");printf(":");scanf("%s",&a->abstract);printf("\n");printf("计量单位:");scanf("%s",&a->unit);list[q][x2][0].lin_len++;是关闭程序再重启便没有,则说明save2或者load2有问题jm(u);

//正确已验证,但save2();jm(u);}/**********************************************************/voidoutsert_com(structuseru[],intq){ //商品出库inti;structcommodity*a;printf("请输入您要添加的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");intx2;scanf("%d",&x2);a=&u[q].rec[x2];for(i=0;i<list[q][x2][0].lin_len;i++){a=a->next;}a=InitLnode(a);printf("商品名称:");scanf("%s",&a->name);printf("\n");printf("商品数量:");scanf("%d",&a->count);for(i=1;i<(list[q][x2][0].lin_len+1);i++){if(strcmp(a->name,list[q][x2][i].name)==0){strcpy(a->purtime,list[q][x2][i].purtime);strcpy(a->seltime,list[q][x2][i].seltime);strcpy(a->unit,list[q][x2][i].unit);strcpy(a->abstract,list[q][x2][i].abstract);a->purprice=list[q][x2][i].purprice;break;}}list[q][x2][0].lin_len++;save2load2jm(u);save2();jm(u);

//正确已验证,但}/***********************************************************/voidremain(structcommoditylist[20][5][20],intq,introw){ //商品库存信息inti,j,k,m;for(i=0;i<20;i++){list[q][row][i].sign=0;}structcommoditya[20];for(i=0;i<20;i++){a[i].count=0;}for(i=0;i<20;i++){strcpy(a[i].name,"0");}for(k=1;k<19;k++){once=0;for(m=k+1;m<20;m++){if(list[q][row][k].sign==0){strcpy(a[k].name,list[q][row][k].name);if(once==0){a[k].count=list[q][row][k].count;once++;}if(strcmp(list[q][row][k].name,list[q][row][m].name)==0){a[k].count=a[k].count+list[q][row][m].count;list[q][row][m].sign++;}}}}if(list[q][row][k].sign==0){strcpy(a[k].name,list[q][row][k].name);}for(i=0;i<20;i++){printf("%s:",a[i].name);printf("剩余库存:%d",a[i].count);printf("\n");}}/*************************************************************/voidsearch(structuseru[],intq){ //按商品名称输出交易记录intxo;inti,j;chartime[20],name[20];printf(".按商品名称查询");");

printf("请输入某类产品:\n");printf("请输入您要查询的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:scanf("%d",&xo);switch(xo){case1:printf("请输入您要查询的商品名称:");scanf("%s",&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;case2:printf("请输入您要查询的商品名称:");scanf("%s",&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;case3:printf("请输入您要查询的商品名称:");scanf("%s",&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;case4:printf("请输入您要查询的商品名称:");scanf("%s",&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;}}/**********************************************************/voidcom_remain(structuseru[],intq) //查询某类商品的库存记录{intx1,i,j;charname[20];floatcount;structcommoditya;structcommodity*p;a.count=0;printf("输入您要查询的商品种类:");printf("请输入您要查询的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");scanf("%d",&x1);printf("请输入商品名称:");scanf("%s",&name);for(i=1;i<(list[q][x1][0].lin_len+1);i++){if(strcmp(list[q][x1][i].name,name)==0){strcpy(,name);a.count=a.count+list[q][x1][i].count;}}printf("%s:",);printf("库存:%d",a.count);}用户界面设计dos商品信息查询等功能。\\第一个界面\\程序主界面方案实现开发环境与工具开发环境:Consoleapplication控制平台开发工具:codeblocks程序设计关键技术采用邻接表、顺序表的结构存储信息,并将信息从邻接表存储到顺序表然后转存到文件中,程序运行时,将文件中信息读取到顺序表中,进而构造邻接表用来存储信息实现对邻接表的操作。加密功能采用抑或的方式,使得程序安全性提高对邻接表的遍历,输出,查找。个人设计实现(按组员分工)宋振程序设计实现/*********结构体的设计**************************/structcommodity{charname[20];charbrand[20];floatpurprice; //商品进价floatselprice; //售价intcount; //数量charpurtime[20]; //进货时间charseltime[20]; //出货时间charunit[20]; //计量单位charbrokerage[20]; //经手人charabstract[20]; //摘要structcommodity*next;intlin_len; //链表有多少节点intsign; //做相同累加运算时的标记位}Lnode,*Linklist,list[20][5][20];structuser{characcount[20]; //账户charcode[20]; //密码charname[20];charquestion[40];charanswer[20]; //提示问题的答案intrec_len; //验证密码是否正确structcommodityrec[5]; //表一个人最多可以存多少条记录intlist_len;}u[max1]; //max1代表最多可以存多少个人的信息voidbackgroundset(); //背景颜色设置函数*************************************/intlookup_accounts(structuseru[],characc[]){inti;for(i=0;i<max1;i++){if(strcmp(u[i].account,acc)==0)returnok;}returnnull;}************************************/structusercheck_code(structuseru[],characc[],charc[]){structusera;inti=0;a.rec_len=0;for(i=0;i<max1;i++){if(strcmp(u[i].account,acc)==0){if(strcmp(u[i].code,c)==0)returnu[i];elsereturna;}}}/******************注册功能***********************************************/intregist(structuseru[]) //是将注册的新账号传递给u[i]save函数保存到文件{characcount[20];charcode[20];charname[20];charquestion[40];charanswer[20];intm;intfh2=0;printf("\n\n\n\n\n\n\n");do{fh2=0; 重复也循环printf("\t\t (10scanf("%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溢出了,同学!!");}else{

printf("\n\n\n\n\n\n\n\n\n\n");Sleep(2000);exit(0);printf("\n");for(m=0;m<max1;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 恭喜您,%sstrcpy(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);}*********************************/intgetcode(structuseru[]){characcount[20];charanswer[20];charname[20];intm=0;inti;printf("\n\n\n\n\n\n\n\n\n");printf("\t\t scanf("%s",account);printf("\n");for(i=0;i<max1;i++){if(strcmp(u[i].account,account)==0){printf("\t\t scanf("%s",answer);printf("\n");if(strcmp(u[i].answer,answer)==0){printf("\t\t scanf("%s",name);printf("\n");if(strcmp(u[i].name,name)==0){m=1;system("cls");printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t信息验证正确printf("\t\t 您的密码是:%s",u[i].code);}}}}if(m==0){printf("\t\t 输入有误哦!");}}加密功能*****************************************/intjm(structuseru[]){intacc_len;intcod_len;intintqus_len;intans_len;intcom_name_len;intcom_brand_len;intpur_price_len;intsel_price_len;intpur_time_len;intsel_time_len;intbrokerage_len;intabstract_len;intunit_len;intcount_len;inti=0,j;intm=0;intn=0;for(i=0;i<5;i++){acc_len=strlen(u[i].account);cod_len=strlen(u[i].code);qus_len=strlen(u[i].question);ans_len=strlen(u[i].answer);nam_len=strlen(u[i].name);for(n=0;n<5;n++){com_name_len=strlen(u[i].rec[n].name);com_brand_len=strlen(u[i].rec[n].brand);pur_time_len=strlen(u[i].rec[n].purtime);sel_time_len=strlen(u[i].rec[n].seltime);brokerage_len=strlen(u[i].rec[n].brokerage);abstract_len=strlen(u[i].rec[n].abstract);unit_len=strlen(u[i].rec[n].unit);for(m=0;m<com_name_len;m++){u[i].rec[n].name[m]=u[i].rec[n].name[m]^(m%com_name_len);}for(m=0;m<com_brand_len;m++){u[i].rec[n].brand[m]=u[i].rec[n].brand[m]^(m%com_brand_len);}for(m=0;m<sel_time_len;m++){u[i].rec[n].seltime[m]=u[i].rec[n].seltime[m]^(m%sel_time_len);}for(m=0;m<pur_time_len;m++){u[i].rec[n].purtime[m]=u[i].rec[n].purtime[m]^(m%pur_time_len);}for(m=0;m<brokerage_len;m++){u[i].rec[n].brokerage[m]=u[i].rec[n].brokerage[m]^(m%brokerage_len);}for(m=0;m<abstract_len;m++){u[i].rec[n].abstract[m]=u[i].rec[n].abstract[m]^(m%abstract_len);}for(m=0;m<unit_len;m++){u[i].rec[n].unit[m]=u[i].rec[n].unit[m]^(m%unit_len);}}for(n=0;n<5;n++){u[i].rec[n].count=u[i].rec[n].count^1;}for(m=0;m<acc_len;m++){u[i].account[m]=u[i].account[m]^(m%acc_len);}for(m=0;m<cod_len;m++){u[i].code[m]=u[i].code[m]^(m%cod_len);}for(m=0;m<qus_len;m++){u[i].question[m]=u[i].question[m]^(m%qus_len);}for(m=0;m<ans_len;m++){u[i].answer[m]=u[i].answer[m]^(m%ans_len);}for(m=0;m<nam_len;m++){u[i].name[m]=u[i].name[m]^(m%nam_len);}}returnok;}常玉颖程序设计实现1、voidinsert_com(structuseru[],intq) //记录入库商品情况函数{inti;structcommodity*a;printf("请输入您要添加的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");intx2;scanf("%d",&x2);a=&u[q].rec[x2];for(i=0;i<list[q][x2][0].lin_len;i++){a=a->next;}a=InitLnode(a);scanf("%s",&a->name);printf("\n");printf("商品品牌:");scanf("%s",&a->brand);printf("\n");printf("商品进价:");scanf("%f",&a->purprice);printf("\n");printf("商品售价:");scanf("%f",&a->selprice);printf("\n");printf("商品数量:");scanf("%d",&a->count);printf("\n");printf("商品进货时间:");scanf("%s",&a->purtime);printf("\n");printf("商品经手人:");scanf("%s",&a->brokerage);printf("\n");printf("商品摘要:");scanf("%s",&a->abstract);printf("\n");printf("计量单位:");scanf("%s",&a->unit);list[q][x2][0].lin_len++; //正save2load2jm(u);save2();jm(u);}/***************************************************/2、voidoutsert_com(structuseru[],intq) //记录出库商品情况函数{inti;structcommodity*a;printf("请输入您要添加的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");intx2;scanf("%d",&x2);a=&u[q].rec[x2];for(i=0;i<list[q][x2][0].lin_len;i++){a=a->next;}a=InitLnode(a);scanf("%s",&a->name);printf("\n");printf("商品数量:");scanf("%d",&a->count);for(i=1;i<(list[q][x2][0].lin_len+1);i++){if(strcmp(a->name,list[q][x2][i].name)==0){strcpy(a->purtime,list[q][x2][i].purtime);strcpy(a->seltime,list[q][x2][i].seltime);strcpy(a->unit,list[q][x2][i].unit);strcpy(a->abstract,list[q][x2][i].abstract);a->purprice=list[q][x2][i].purprice;break;}}list[q][x2][0].lin_len++; //正save2load2jm(u);save2();jm(u);}/*****************************************************/3、voidremain(structcommoditylist[20][5][20],intq,introw) //输出所有库存函数{inti,j,k,m;for(i=0;i<20;i++){list[q][row][i].sign=0;}structcommoditya[20];for(i=0;i<20;i++){a[i].count=0;}for(i=0;i<20;i++){strcpy(a[i].name,"0");}for(k=1;k<19;k++){once=0;for(m=k+1;m<20;m++){if(list[q][row][k].sign==0){strcpy(a[k].name,list[q][row][k].name);if(once==0){a[k].count=list[q][row][k].count;once++;}if(strcmp(list[q][row][k].name,list[q][row][m].name)==0){a[k].count=a[k].count+list[q][row][m].count;list[q][row][m].sign++;}}}}if(list[q][row][k].sign==0){strcpy(a[k].name,list[q][row][k].name);}for(i=0;i<20;i++){printf("%s:",a[i].name);printf("剩余库存:%d",a[i].count);printf("\n");}}/************************************************************/4、voidout_print(structuseru[],intq,introw) //输出某类商品的记录{inti;structcommoditystructcommodity*f;p=&u[q].rec[row];f=&u[q].rec[row];for(i=0;i<(list[q][row][0].lin_len);i++){printf("%s:\n",f->next->name);printf("进货时间:%s\n",f->next->purtime);printf("销售时间:%s\n",f->next->seltime);printf("计量单位:%s\n",f->next->unit);printf("摘要:%s\n",f->next->abstract);printf("数量:%d\n",f->next->count);printf("进货价格:%f\n",f->next->purprice);printf("*****************************\n");f=f->next;}}/*************************************************************/5、voidsearch(structuseru[],intq){intx2,xo;inti,j;chartime[20],name[20];structcommodity*p;printf(".按商品名称查询");printf("请输入某类产品:\n");printf("请输入您要查询的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");scanf("%d",&xo);switch(xo){case1:printf("请输入您要查询的商品名称:");scanf("%s",&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("数量:%s:\n",list[q][xo][j].count);}}break;case2:printf("请输入您要查询的商品名称:");scanf("%s",&name);p=&u[q].rec[xo];for(j=0;j<list[q][xo][0].lin_len;j++){if(strcmp(p->next->name,name)==0)printf("%s",p->next->name);printf("数量:%s:\n",p->next->count);p=p->next;}break;case3:printf("请输入您要查询的商品名称:");scanf("%s",&name);p=&u[q].rec[xo];for(j=0;j<list[q][xo][0].lin_len;j++){if(strcmp(p->next->name,name)==0)printf("%s",p->next->name);printf("数量:%s:\n",p->next->count);p=p->next;}break;case4:printf("请输入您要查询的商品名称:");scanf("%s",&name);p=&u[q].rec[xo];for(j=0;j<list[q][xo][0].lin_len;j++){if(strcmp(p->next->name,name)==0)printf("%s",p->next->name);printf("数量:%s:\n",p->next->count);p=p->next;}break;}}/*****************************************************/6voidcom_remain(structuseru[],intq) //查询某类品的库存记录{intx1,i,j;charname[20];floatcount;structcommodity*p;printf("输入您要查询的商品种类:");printf("请输入您要查询的种类\n1.食品\n2.家电\n3.运动器材\n4.衣服\n请输入1-4:");scanf("%d",&x1);printf("请输入商品名称:");scanf("%s",&name);p=&u[q].rec[x1];for(i=0;i<u[q].rec[x1].lin_len;i++){if(strcmp(p->name,name)==0){count=count+p->count;}p=p->next;}printf("%s商品的库存为:%d",name,count);}于红爽程序设计实现/***************************************************************/voidsave(structuseru[]){FILE*fp;structcommodity*p;inti,j,k;if((fp=fopen("wenjian","wb"))==null){printf("程序出问题了,文件打不开");return;}for(i=0;i<max1;i++){if(fwrite(&u[i],sizeof(structuser),1,fp)!=1)printf("不能写入文件哦\n");}fclose(fp);}/***************************************************************/voidsave2(){FILE*fp;structcommodity*p;inti,j,k;for(i=0;i<max1;i++){for(j=0;j<5;j++){once2=0;for(k=0;k<(list[i][j][0].lin_len+1);k++) //复制到数组中,{if(once2==0){p=&u[i].rec[j];once2++;}strcpy(list[i][j][k].name,p->name);strcpy(list[i][j][k].seltime,p->seltime);strcpy(list[i][j][k].purtime,p->purtime);strcpy(list[i][j][k].brand,p->brand);strcpy(list[i][j][k].brokerage,p->brokerage);strcpy(list[i][j][k].abstract,p->abstract);list[i][j][k].count=p->count;list[i][j][k].sign=p->sign;list[i][j][k].purprice=p->purprice;list[i][j][k].selprice=p->selprice;p=p->next;}}}if((fp=fopen("wenjian2","wb"))==null){printf("程序出问题了,文件打不开");return;}for(i=0;i<max1;i++){for(j=0;j<5;j++){for(k=0;k<(list[i][j][0].lin_len+1);k++){if(fwrite(&list[i][j][k],sizeof(struct//由指针转化为数组的所有名称为空白printf("不能写入文件哦\n");

commodity),1,fp)!=1)}}}fclose(fp);}/********************************************/voidload(){FILE*fp;inti,j,k;structcommodity*p;if((fp=fopen("wenjian","rb"))==null){printf("文件打不开哦!");return;}else{for(i=0;i<max1;i++){if(fread(&u[i],sizeof(structuser),1,fp)!=1)码没执行。且成功读入{

//完全没问题,下面代if(feof(fp))fclose(fp);return;}}fclose(fp);}}/**************************************************************************/voidload2(){FILE*fp1;inti,j,k,once=0;structcommodity*p;if((fp1=fopen("wenjian2","rb"))==null){printf("文件打不开哦!");return;}else{for(i=0;i<max1;i++) //从文件中读取三维数组{for(j=0;j<5;j++){for(k=0;k<(list[i][j][0].lin_len+1);k++) //(list[i][j][0].lin_len+1)20就不断出现错误{if(fread(&list[i][j][k],sizeof(structcommodity),1,fp1)!=1) //从文件中读取有问题,读不出来{if(feof(fp1))fclose(fp1);return;}}}}for(i=0;i<max1;i++){for(j=0;j<5;j++){once=0;for(k=0;k<list[i][j][0].lin_len;k++){if(once==0){p=&u[i].rec[j];once++;}p=InitLnode(p);strcpy(p->name,list[i][j][k].name);strcpy(p->purtime,list[i][j][k].purtime);strcpy(p->seltime,list[i][j][k].seltime);strcpy(p->abstract,list[i][j][k].abstract);strcpy(p->brokerage,list[i][j][k].brokerage);strcpy(p->unit,list[i][j][k].unit);p->count=list[i][j][k].count;p->purprice=list[i][j][k].purprice;p->selprice=list[i][j][k].selprice;}}}fclose(fp1);}}/******************************************************/voidprint_message(structuser*p){printf("\t\t\t\t\t\t\t姓名:%s\n",p->name);printf("\t\t\t\t\t\t\t帐号:%s\n",(*p).account);}/*****************************************************/voidbackgroundset(){intx;printf("\n\n\n\t请输入您所需选项的对应数字哦^_^\n");scanf("%d",&x);switch(x){case1:system("Color4f");break;case2:system("Color3f");break;case3:system("Colorf0");break;case4:system("Color60");break;default:printf("您输入的字符错误!");}}/*******************************************************/intfind_acc(characcou[]){inti;for(i=0;i<max1;i++){if(strcmp(u[i].account,accou)==0)return(i);}return-1;}测试与调试个人测试(按组员分工)宋振个人测试基于DOS界面下的测试:/**********************该部分实现了注册功能*************************/提示错误,请重新输入。/*****************此为加密功能的调试,即为上面注册的内容****************/通过二进制的抑或来对账号信息进行加密,提高程序安全性。/****************此为找回密码功能的调试***************************/如果忘记密码,则可通过注册时填写的信息进行密码找回。常玉颖个人测试1、入库操作2、出库操作3、输出库存记录4、输出某类商品交易记录5、查询交易记录6、查询库存记录于红爽个人测试设计界面颜色文件存储(加密后的)商品信息文件存储组装与系统测试并未出现什么问题。测试时一步一步,一个函数一个函数的加入调试。表5.2.1 商品库存管理系统(DOS界面)测试记录操作名称操作名称具体操作操作结果和输出打开程序 点击文件运行程序账号注册 输入数字下Enter键确认。进入找回密码 在第一个界面输入界面 数字“3”,按Enter键确认。进入登陆界面 按下Enter键入库操作登陆注册界面输入账号,密码,提示问题,提示答案,姓名等用户信息,按“0”返回显示“要找回的账号,输入注册时的额用户信息”界面,如果信息验证正确返回密码,错误提示错误输入账号密码界面,账号密码输入正确进入主界面在主菜单界面输入 输入商品各种信息,输入完成后提示输数字“1”,按下 入正确,按“0”返回上一Enter键确认。出库操作 在主菜单界面输入 输入商品各种信息,输入完成后提示数字“2”,按下 入正确,按“0”返回上一层Enter键确认。输出所有库存 在主菜单界面输入 显示“所有库存记录记录 数字“3”,按下Enter键确认。输出某类商品 在主菜单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论