版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、【题目】:服装销售系统【要求】1)系统包含三类用户:管理员、店长、销售员。2)向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。(3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改 ,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。(4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。[提示](1) 总体设计:整个服装销售系统可设计为管理员模块、店长模块、销售员模块、商品模块等。2)数据结构采用结构体。二、结构图根据需求分析,该程序中销售员应实现如下功能:商品浏览、商品查找、出售商品、销售记录、用户注销,具体结构图如下。销售员商品浏览 商品查找 出售商品 销售记录 用户注销店长应实现如下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息,具体结构图如下。店长商商销商密用品品售品码户浏查员信修注览找业息改销绩修改管理员需要实现如下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。具体结构图如下。管理员添删退注修商查删添统加除出销改品找除加计用用系账密统商商商用户户统户码计品品品户三、程序中典型的流程图分析(一)添加模块1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。开始文件打开否输入信息输出错误信息将信息输出到磁盘是否继续调用printf_back()函数结束(二)浏览模块1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。[流程开始输出错误信息打开文件否查找商品信息是否查找到输出商品信息操作存盘是否继续结束(三)查询模块1)分析:基本信息的查询按查询方式:按商品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂,没有用switch语句直观明了,这个地方可以改成更好的。开始文件打开输出错误信息查询方式商品的名称是否继续结束(四)删除模块1)分析:商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。可以改为另一种办法:设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处理等。人性化设计有在删除之前询问是否继续。[流程图]开始文件打开 输出错误信息查找商品信息是否查找到删除操作输入信息是否继续结束五)修改模块1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进。开始文件打开 输出错误信息查找职工信息是否查找到修改操作输入信息是否继续结束四、题目分析1、按照系统需要三类用户用它作为主函数: intmain(){user*use; DRESS*dress; ADMIN*adm;use=(user*)malloc(200*sizeof(user));userIntiate(use);adm=(ADMIN*)malloc(sizeof(ADMIN));adminIntiate(adm);dress=(DRESS*)malloc(500*sizeof(DRESS));dressIntiate(dress);while(1){if(first(use,adm,dress)==3) continue;}}2、三类用户的选择登陆为int*first(user*use,ADMIN*adm,DRESS*dress){intchose;inttemp,temp2;while(1){system("cls");printf("//=========功能菜单========//\n");printf("////\n");printf("////\n");printf("//1,销售员登陆//\n");printf("//2,店长登陆//\n");printf("//3,管理员登陆//\n");printf("////\n");printf(" //=========================//\n");printf("\n /============================= 请 选 择 服 务 的========================/\n");scanf("%d",&chose);if(chose<1||chose>5){printf(" 你的选择出现错误!按任意键重新的进入选择菜单! \n");
种
类system("pause");continue;}switch(chose){case1:{system("cls");if(userload(use)==1){usermenu(use,dress);}system("pause");break;}case2:{system("cls");if(monload(use)==1){monmenu(use,dress);}break;}case3:{system("cls");temp=adminload(adm);if(temp==1){system("pause");temp2=adminmenu(adm,use,dress);return3;}system("pause");continue;}default:exit(0);}}//while()}3、当选择管理员的时候就用如下程序,注明 (管理员的初始账号是 admin,密码是123456)intregnew(user*use){charname[21];charpass[7]={0};intchose;inti,j;inttype;while(1){system("cls");printf(" 用户名:");scanf("%s",&name);printf(" 密 码:");for(i=0;i<6;i++){pass[i]=getch();printf("*");{
}printf("\n\nscanf("%d",&type);while(1)printf("\n\n
请输入用户的类型: 0,销售员 1,店长 ");用户注册信息入完毕,是否确认 ? 1,确认 0,重新输入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){ printf(" 你的输入有误,请重新的输入! \n");continue;}if(chose==1){for(i=0;i<usernum+1;i++)if(use[i].flag==0){printf("注册成功!请继续使用!\n");strcpy(use[i].username,name);strcpy(use[i].pass,pass);usernum++;use[i].flag=1;use[i].type=type;return1;}}elsebreak;}}}intdeluser(user*use){inti;charname[20];printf("请输入你想要删除的用户的用户名:");scanf("%s",name);for(i=0;i<200;i++){if(strcmp(use[i].username,name)==0){printf("\n\n\n用户%s删除成功!\n\n\n\n",name);strcpy(use[i].username,"unknown");use[i].flag=-1;return1;}}printf("用户%s不存在!请查正在次操作!\n\n\n\n",name);return0;}intuseall(user*use){inti;system("cls");printf("销售人员:\n");for(i=0;i<200;i++){if(use[i].type==0){if(use[i].flag==1)printf(" 用户XX: %s 用户密码: %s\n",use[i].username,use[i].pass);}}printf(" 店长:\n");for(i=0;i<200;i++){if(use[i].type==1){if(use[i].flag==1)printf(" 用户XX: %s 用户密码: %s\n",use[i].username,use[i].pass);}}}intadminload(ADMIN*adm){ charname[21];charpass[7]={0};intchose,chose2;inti,j;while(1){system("cls");printf("
管理员账号:
");scanf("%s",&name);printf("
密
码:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}while(1){printf("\n\n 用户登陆信息输入完毕,是否确认 ? 1,确认 0,重新输入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){printf(" 你的输入有误,请重新的输入! \n");continue;}if(chose==1){if(strcmp(adm->name,name)==0)if(strcmp(adm->pass,pass)==0){printf(" 登陆成功!请继续使用!\n");strcpy(usertemp.username,name);return1;}printf(" 输入的用户名或者密码有误! 1,重新登陆 2,退出登陆!\n");scanf("%d",&chose2);if(chose2==1){system("cls");break;}else{system("cls");return0;}}if(chose==0)break;}}}intadminpass(ADMIN*adm){inti;charpass[20]={0};charpass2[20]={0};while(1){system("cls");printf(" 请输入新的管理员密码: ");for(i=0;i<6;i++){pass[i]=getch();printf("*");}printf("\n\n\n 请再次输入新的管理员密码: ");for(i=0;i<6;i++){pass2[i]=getch();printf("*");}if(strcmp(pass,pass2)!=0){ printf("\n\n 两次输入的新的密码不一样,请重新的输入! \n\n\n");system("pause");}else{printf("\n 密码修改成功!下一次管理员登陆请使用新的密码!\n\n\n");strcpy(adm->pass,pass);system("pause");return1;}}}intadminout(){intchose;while(1){system("cls");printf("你确定要注销吗?1,注销0,取消\n\n");scanf("%d",&chose);if(chose!=0&&chose!=1){printf(" 你的选项出现了错误,请重新的输入! \n\n\n");system("pasue");continue;}if(chose==1){printf(" 管理员账户注销完毕!!\n\n\n\n");system("pause");return1;}elsereturn0;}}intout(){intchose;system("cls");printf("真的要退出系统吗?退出后信息会全部的丢失!!1,退出0,取消");scanf("%d",&chose);if(chose==1)exit(0);elsereturn1;}intadminmenu(ADMIN*adm,user*use,DRESS*dress){intchose1;while(1){system("cls");printf("\n在线用户:%s\n\n",usertemp.username);printf("//=======用户功能菜单=====//\n");printf("////\n");printf("//1,添加用户//\n");printf("//2,删除用户//\n");printf("//3,统计用户//\n");printf("//4,添加商品//\n");printf("//5,删除商品//\n");printf("//6,查找商品//\n");printf("//7,商品统计//\n");printf("//8,修改密码//\n");printf("//9,注销账户//\n");printf("//0,退出系统//\n");printf("//=========================//\n");printf("\n/=============================请选择服务的种类========================/\n");scanf("%d",&chose1);if(chose1<0||chose1>9){printf("你的输入有误,请重新的输入!\n");system("pasue");continue;}switch(chose1){case1:{system("cls");regnew(use);system("pause");break;}case2:{system("cls");deluser(use);system("pause");break;}case3:{system("cls");useall(use);system("pause");break;}case4:{system("cls");adddress(dress);system("pasue");break;}case5:{system("cls");deldress(dress);break;}case6:{system("cls");finddress(dress);break;}case7:{system("cls");dressall(dress);system("pasue");break;}case8:{system("cls");if(adminpass(adm)==1)continue;break;}case9:{system("cls");if(adminout()==1)return3;}case0:{system("cls");if(out()==1)continue;break;}default:continue;}}}intuserload(user*use){charname[21];charpass[7]={0};intchose,chose2;inti,j;while(1){system("cls");printf(" 用户名:");scanf("%s",&name);printf(" 密 码:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}while(1){printf("\n\n 用户登陆信息输入完毕,是否确认 ? 1,确认 0,重新输入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){printf(" 你的输入有误,请重新的输入! \n");continue;}if(chose==1){for(i=0;i<200;i++){if(use[i].type==0)if(strcmp(use[i].username,name)==0)if(strcmp(use[i].pass,pass)==0){printf("登陆成功!请继续使用!\n");strcpy(usertemp.username,name);return1;}}printf(" 输入的用户名或者密码有误! 1,重新登陆 2,退出登陆!\n");scanf("%d",&chose2);if(chose2==1){system("cls");break;}else{system("cls");return0;}}if(chose==0)break;}}}这里面包含了管理员的十个功能选项。4,选择销售员和店长,(注明第一次运行时本来没有销售员和店长,需要管理员添加。 )intuserout(){intchose;while(1){system("cls");printf("\n 在线用户: %s\n\n",usertemp.username);printf(" 你确定要注销吗? 1,注销 0,取消\n\n");scanf("%d",&chose);if(chose!=0&&chose!=1){printf("
你的选项出现了错误,请重新的输入!
\n\n\n");system("pasue");continue;}if(chose==1){printf("销售员账户注销完毕!!\n\n\n\n");strcpy(usertemp.username,"unknown");// system("pause");return1;}elsereturn0;}}intsold(user*use,DRESS*dress){ charname[20];intnum;inti;intj;intk;system("cls");printf("\n
在线用户: %s\n\n",usertemp.username);printf(" 请输入要出售的商品的名称: ");scanf("%s",&name);printf("\n 请输入出售的数量: ");scanf("%d",&num);for(k=0;k<200;k++){if(strcmp(use[k].username,usertemp.username)==0)for(i=0;i<500;i++){if(strcmp(dress[i].name,name)==0){if(dress[i].now<num)break;dress[i].now=dress[i].now-num;printf("\n\n\n 商品 %s已经销售出了 %d件\n",name,num);for(j=0;j<100;j++){if(use[k].mdb[j].flag==0){strcpy(use[k].mdb[j].name,name);use[k].mdb[j].flag=1;use[k].mdb[j].total=num;return1;}}}}}printf("商品出售出现错误!!请重新操作!\n\n\n");return0;}voidmounth(user*use){inti;intj;charname[20];strcpy(name,usertemp.username);system("cls");printf("\n在线用户:%s\n\n",usertemp.username);for(i=0;i<100;i++){if(strcmp(use[i].username,name)==0){for(j=0;j<100;j++){量 :
if(use[i].mdb[j].flag==1)printf(" 商 品 名%d\n",use[i].mdb[j].name,use[i].mdb[j].total);
称 :
%s
,
出
售
数}}}}intusermenu(user*use,DRESS*dress){inti;intchose1;while(1){system("cls");printf("\n 在线用户: %s\n\n",usertemp.username);printf(" //=======用户功能菜单=====//\n");printf("////\n");printf("//1,商品浏览//\n");printf("//2,商品查找//\n");printf("//3,出售商品//\n");printf("//4,销售记录//\n");printf("//5,用户注销//\n");printf("////\n");printf("////\n");printf(" //=========================//\n");printf("\n /============================= 请选 择 服 务 的 种 类========================/\n");scanf("%d",&chose1);if(chose1<0||chose1>9){printf("
你的输入有误,请重新的输入!
\n");system("pasue");continue;}switch(chose1){case1:{ system("cls");dressall(dress);break;}case2:{
system("cls");finddress(dress);break;}case3:{
system("cls");sold(use,dress);system("pause");break;}case4:{
system("cls");mounth(use);system("pause");break;}case5:{
system("cls");if(userout()==1)return3;break;}default:continue;}}}intmonpass(user*use){inti;charpass[20]={0};charpass2[20]={0};while(1){printf("请输入新的密码:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}printf("\n\n\n 请再次输入新的密码: ");for(i=0;i<6;i++){pass2[i]=getch();printf("*");}if(strcmp(pass,pass2)!=0){printf("\n\n
两次输入的新的密码不一样,请重新的输入!
\n\n\n");system("pause");}else{printf("\n
密码修改成功!下一次登陆请使用新的密码!
\n\n\n");for(i=0;i<200;i++){if(strcmp(use[i].username,usertemp.username)==0){strcpy(use[i].pass,pass);system("pause");}}return1;}}}voidmonsee(user*use){inti;intj;charname[20];system("cls");printf("\n 在线用户: %s\n\n",usertemp.username);for(i=0;i<100;i++){if(use[i].flag==1&&use[i].type==0){printf("销售员XX: %s\n",use[i].username);for(j=0;j<100;j++){if(use[i].mdb[j].flag==1)printf(" 商 品 名 称 : %s , 出 售 数量 :%d\n",use[i].mdb[j].name,use[i].mdb[j].total);}}}}intmonload(user*use){charname[21];charpass[7]={0};intchose,chose2;inti,j;while(1){system("cls");printf(" 用户名:");scanf("%s",&name);printf(" 密 码:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}while(1){printf("\n\n 用户登陆信息输入完毕,是否确认 ? 1,确认 0,重新输入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){ printf(" 你的输入有误,请重新的输入! \n");continue;}if(chose==1){for(i=0;i<200;i++){if(use[i].type==1)if(strcmp(use[i].username,name)==0)if(strcmp(use[i].pass,pass)==0){printf(" 登陆成功!请继续使用!\n");strcpy(usertemp.username,name);return1;}}printf(" 输入的用户名或者密码有误! 1,重新登陆 2,退出登陆!\n");scanf("%d",&chose2);if(chose2==1){system("cls");break;}else{system("cls");return0;}}if(chose==0)break;}}}intmonout(){intchose;while(1){system("cls");printf("\n 在线用户: %s\n\n",usertemp.username);printf(" 你确定要注销吗? 1,注销 0,取消\n\n");scanf("%d",&chose);if(chose!=0&&chose!=1){printf(" 你的选项出现了错误,请重新的输入! \n\n\n");system("pasue");continue;}if(chose==1){printf("店长账户注销完毕!!\n\n\n\n");strcpy(usertemp.username,"unknown");return1;}elsereturn0;}}intfix(DRESS*dress){户:
charname[20],name2[20];inttotal;intnow;inti;system("cls");printf("\n%s\n\n",usertemp.username);
在线用printf("
请输入需要修改信息的商品的名称:
");scanf("%s",&name);for(i=0;i<500;i++){if(strcmp(dress[i].name,name)==0){printf("
商品信息:
\n
名称:
%s,现存:
%d,
总共:
%d\n",dress[i].name,dress[i].now,dress[i].total);printf("\n\n
请输入修改以后的商品的名称:
");scanf("%s",&name2);printf("\n\n
请输入修改以后的商品的现存:
");scanf("%d",&now);printf("\n\n
请输入修改以后的商品的总共:
");scanf("%d",&total);strcpy(dress[i].name,name2);dress[i].now=now;dress[i].total=total;printf("\n\n");printf("修改以后的商品信息: \n 名称: %s,现存: %d,总共: %d\n",dress[i].name,dress[i].now,dress[i].total);return1;}}printf(" 修改信息失败!请查正以后重新的操作! !\n\n\n");return0;}intmonmenu(user*use,DRESS*dress){inti;intchose1;while(1){system("cls");printf("\n在线用户:%s\n\n",usertemp.username);printf("//=======用户功能菜单=====//\n");printf("////\n");printf("//1,商品浏览//\n");printf("//2,商品查找//\n");printf("//3,销售员业绩//\n");printf("//4,商品信息修改//\n");printf("//5,密码修改//\n");printf("//6,用户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二年级上册心理健康教育教案
- 七彩管弦(三)-.a小调钢琴三重奏 课件 2024-2025学年湘教版初中音乐八年级上册
- 高压氧舱事故应急救援预案
- 2024至2030年中国多功能快速捆绑器行业投资前景及策略咨询研究报告
- 2024至2030年中国制服标志数据监测研究报告
- 2024至2030年中国PP透明盒数据监测研究报告
- 2024年中国非标形工具市场调查研究报告
- 2024年中国酱香型习酒市场调查研究报告
- 2024年中国聚氨酯缔合型流变助剂市场调查研究报告
- 2024年中国玻璃大门拉手市场调查研究报告
- 市场营销英语 全册课件
- 新苏教版(新教材)三年级上册小学科学 第14课 海洋课件
- 幼儿教育政策法规解读-高职-学前教育专业课件
- 伤口拍照要求及换药技术-课件
- 公开课听课记录表格
- Unit 3 Developing ideas Just A Brother课件-高中英语外研版必修第一册
- 标准检验指导书(SIP)-(格式模板)
- 产品更改申请通知单
- 2023-2023年全国初中数学竞赛试题含答案
- 共用水电费分割单模板
- 《采用合理的论证方法》课件-统编版高中语文选择性必修上册
评论
0/150
提交评论