高级语言课程设计报告服装销售管理系统描述Word文档下载推荐.docx
《高级语言课程设计报告服装销售管理系统描述Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《高级语言课程设计报告服装销售管理系统描述Word文档下载推荐.docx(43页珍藏版)》请在冰豆网上搜索。
信息添加模块职工的基本信息包括:
用户、商品基本信息,对它们输入后,要存进原文件,流程图如下。
(二)浏览模块
浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。
在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。
算法和以上的分程序有相同的优点。
[流程
(三)查询模块
基本信息的查询按查询方式:
按商品的名称查询,可供选择的方式比较丰富。
但本程序只使用了一种。
在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。
程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂,没有用switch语句直观明了,这个地方可以改成更好的。
(四)删除模块
商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。
可以改为另一种办法:
设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。
在对文件进行删除时,考虑到很多方面,如:
查询不到时系统该如何处理等。
人性化设计有在删除之前询问是否继续。
[流程图]
五)修改模块
修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进。
四、程序源代码
#include<
stdio.h>
malloc.h>
string.h>
stdlib.h>
conio.h>
typedefstructadmin{
charname[20];
charpass[20];
}ADMIN;
typedefstruct{
charname[30];
intnow;
inttotal;
intflag;
}DRESS;
inttype;
charusername[20];
DRESSmdb[100];
}USER;
USERusertemp;
intusernum=0;
intadddress(DRESS*dress)
{
inti;
system("
cls"
);
printf("
/======================服装销售系统系统商品添加=======================/\n"
请输入商品的名称:
"
scanf("
%s"
&
name);
\n请输入入库的商品的数量:
);
%d"
total);
\n\n\n商品信息输入完毕!
\n\n\n"
for(i=0;
i<
500;
i++)
{
if(dress[i].flag==0)
strcpy(dress[i].name,name);
dress[i].total=total;
dress[i].now=total;
dress[i].flag=1;
pause"
return1;
}
return0;
}
intdeldress(DRESS*dress)
//inttotal;
/======================服装销售系统系统商品删除=======================/\n"
请输入需要删除的商品的名称:
250;
if(strcmp(dress[i].name,name)==0)
\n\n\n商品删除完毕!
dress[i].flag=0;
\n\n\n商品删除出现错误,请查正商品名称!
intfinddress(DRESS*dress)
//inttotal;
system("
/======================服装销售系统系统商品查找======================/\n"
请输入需要查找的商品的名称:
if(dress[i].flag==1)
\n\n\n商品查找完毕:
\n商品名称:
%s,现存量:
%d,总库存:
%d\n"
name,dress[i].now,dress[i].total);
\n\n\n商品查找出现错误,请查正商品名称!
voiddressall(DRESS*dress)
/======================服装销售系统系统查看商品=======================/\n"
商品的名称为:
%s,商品的总量为:
%d,商品的现存量%d\n"
dress[i].name,dress[i].total,dress[i].now);
}
voidadminIntiate(ADMIN*adm)
strcpy(adm->
name,"
admin"
pass,"
123456"
voiduserIntiate(USER*use)
intj;
for(j=0;
j<
200;
j++)
inti;
use[j].flag=0;
use[j].type=-1;
for(i=0;
100;
{
use[j].mdb[i].flag=0;
}
voiddressIntiate(DRESS*dress){
for(inti=0;
i<
i++)
dress[i].flag=0;
intregnew(USER*use)
charname[21];
charpass[7]={0};
intchose;
while
(1)
printf("
/======================服装销售系统系统用户注册=======================/\n"
printf("
用户名:
密码:
6;
pass[i]=getch();
*"
\n\n请输入用户的类型:
0,销售员1,店长"
scanf("
type);
\n\n用户注册信息入完毕,是否确认?
1,确认0,重新输入\n"
chose);
if(chose!
=1&
&
chose!
=0)
你的输入有误,请重新的输入!
\n"
continue;
if(chose==1)
usernum+1;
if(use[i].flag==0)
注册成功!
请继续使用!
\n"
strcpy(use[i].username,name);
strcpy(use[i].pass,pass);
usernum++;
use[i].flag=1;
use[i].type=type;
elsebreak;
}
intmodifyuser(USER*use)
charname[20];
charpass[7];
inttype;
\t\t*******************************修改用户*********************************\n\n"
请输入需要修改信息的用户名:
name);
use[i].flag==1;
if(strcmp(use[i].username,name)==0)
{
printf("
请输入修改后的密码:
scanf("
pass);
请输入修改后的类型:
strcpy(use[i].username,name);
strcpy(use[i].pass,pass);
use[i].type=type;
return1;
}
Usermodifyerror,pleasecheckusernameis!
return0;
intdeluser(USER*use)
/======================服装销售系统用户删除============================/\n"
请输入你想要删除的用户的用户名:
if(strcmp(use[i].username,name)==0)
\n\n\n用户%s删除成功!
\n\n\n\n"
strcpy(use[i].username,"
unknown"
use[i].flag=-1;
用户%s不存在!
请查正在次操作!
intuseall(USER*use)
/======================服装销售系统用户查看=========================/\n"
销售人员:
if(use[i].type==0)
{
if(use[i].flag==1)
用户姓名:
%s用户密码:
%s\n"
use[i].username,use[i].pass);
店长:
if(use[i].type==1)
intadminload(ADMIN*adm)
intchose,chose2;
/======================服装销售系统管理员登陆========================/\n"
管理员账号:
\n\n用户登陆信息输入完毕,是否确认?
if(strcmp(adm->
name,name)==0)
pass,pass)==0)
登陆成功!
strcpy(usertemp.username,name);
输入的用户名或者密码有误!
1,重新登陆2,退出登陆!
chose2);
if(chose2==1)
break;
else
if(chose==0)break;
intadminpass(ADMIN*adm)
charpass[20]={0};
charpass2[20]={0};
/======================服装销售系统管理员密码修改===================/\n"
请输入新的管理员密码:
\n\n\n请再次输入新的管理员密码:
pass2[i]=getch();
if(strcmp(pass,pass2)!
\n\n两次输入的新的密码不一样,请重新的输入!
else
\n密码修改成功!
下一次管理员登陆请使用新的密码!
pass,pass);
intadminout()
/======================服装销售系统管理员注销=====================/\n"
你确定要注销吗?
1,注销0,取消\n\n"
=0&
=1)
你的选项出现了错误,请重新的输入!
管理员账户注销完毕!
!
\n\n\n\n"
elsereturn0;
intout()
/==========================服装管理系统首界面======================/\n"
真的要退出系统吗?
退出后信息会全部的丢失!
1,退出0,取消"
if(chose==1)exit(0);
elsereturn1;
intadminmenu(ADMIN*adm,USER*use,DRESS*dress)
intchose1;
/======================服装销售系统管理员菜单========================/\n"
\n在线用户:
%s\n\n"
usertemp.username);
//=======用户功能菜单=====//\n"
////\n"
//1,添加用户//\n"
//2,删除用户//\n"
//3,统计用户//\n"
//4,添加商品//\n"
//5,删除商品//\n"
//6,查找商品//\n"
//7,商品统计//\n"
//8,修改密码//\n"
//9,修改用户//\n"
//10,注销账户//\n"
//0,退出系统//\n"
//=========================//\n"
\n/=============================请选择服务的种类========================/\n"
chose1);
if(chose1<
0||chose1>
10)
switch(chose1)
case1:
system("
regnew(use);
break;
case2:
deluser(use);
case3:
useall(use);
case4:
adddress(dress);
case5:
deldress(dress);
case6:
finddress(dress);
case7:
dressall(dress);
case8:
if(adminpass(adm)==1)continue;
case9:
modifyuser(use);
case10:
if(adminout()==1)return3;