毕业设计服装销售系统c语言课程设计.docx

上传人:b****8 文档编号:9389769 上传时间:2023-05-18 格式:DOCX 页数:40 大小:482.07KB
下载 相关 举报
毕业设计服装销售系统c语言课程设计.docx_第1页
第1页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第2页
第2页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第3页
第3页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第4页
第4页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第5页
第5页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第6页
第6页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第7页
第7页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第8页
第8页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第9页
第9页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第10页
第10页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第11页
第11页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第12页
第12页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第13页
第13页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第14页
第14页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第15页
第15页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第16页
第16页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第17页
第17页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第18页
第18页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第19页
第19页 / 共40页
毕业设计服装销售系统c语言课程设计.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计服装销售系统c语言课程设计.docx

《毕业设计服装销售系统c语言课程设计.docx》由会员分享,可在线阅读,更多相关《毕业设计服装销售系统c语言课程设计.docx(40页珍藏版)》请在冰点文库上搜索。

毕业设计服装销售系统c语言课程设计.docx

毕业设计服装销售系统c语言课程设计

 

1.题目要求-------------------------------------------------------------------4

2.需求分析-------------------------------------------------------------------4

3.总体设计-------------------------------------------------------------------4

4.详细设计-------------------------------------------------------------------8

5.上机操作------------------------------------------------------------------30

6.总结----------------------------------------------------------------------33

7.致谢----------------------------------------------------------------------33

参考文献-------------------------------------------------------------------34

1.题目要求

(1)系统包含三类用户:

管理员、店长、销售员。

(2)向管理员提供以下功能:

自身密码修改、其他用户添加删除、用户信息修改、统计。

商品信息添加、修改、删除、查找、统计。

(3)向店长提供以下功能:

登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。

(4)向销售员提供以下功能:

商品浏览、查找、出售,查看自己本日报表、本月报表。

2.需求分析

用户与商品信息要采用文件存储,因而要提供文件的输入、输出功能,要实现用户的添加、修改、删除,商品信息的添加、修改、删除、查找等,需要提供相应的信息添加、删除、修改与查找功能;要实现商品浏览功能,需要提供显示操作;另外,还要提供键盘式选择菜单以实现功能选择。

3.总体设计

1.【整体E-R图3-1】

图3-1

2.【程序中典型的流程图】

(一)添加模块

(1)分析:

信息添加模块职工的基本信息包括:

用户、商品基本信息,对它们输入后,要存进原文件,流程图(图3-2)如下。

图3-2

(二)浏览模块

(1)分析:

浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。

在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。

算法和以上的分程序有相同的优点。

流程图如下(图3-3)。

图3-3

(三)查询模块

(1)分析:

基本信息的查询按查询方式:

按商品的名称查询,可供选择的方式比较丰富。

但本程序只使用了一种。

在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。

程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂(图3-4)

图3-4

(四)删除模块

(1)分析:

商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。

可以改为另一种办法:

设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。

在对文件进行删除时,考虑到很多方面,如:

查询不到时系统该如何处理等。

人性化设计有在删除之前询问是否继续。

流程图(图3-5)如下:

图3-5

五)修改模块

(1)分析:

修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进(图2-6)。

图3-6

 

4.详细设计

1.欢迎界面voidWelcomeMenu()

voidWelcomeMenu(){

printf("---------------服装销售系统-----------\n");

printf("系统功能说明:

\n");

printf("管理员功能:

\n");

printf("

(1)自身密码修改\n");

printf("

(2)用户信息管理:

添加,修改,删除,查询\n");

printf("(3)商品信息管理:

添加,修改,查询,删除\n");

printf("(4)退出登陆系统\n");

printf("店长功能:

\n");

printf("

(1)自身密码修改\n");

printf("

(2)商品信息管理:

添加,修改,查询,删除\n");

printf("(3)销售报表显示:

日销售报表,月销售报表,销售员销售报表\n");

printf("(4)退出登陆系统\n");

printf("销售员功能:

\n");

printf("

(1)商品浏览,查询,商品销售\n");

printf("

(2)自己商品销售报表显示:

日销售报表,月销售报表\n");

printf("(3)退出登陆系统\n");

printf("--------------谢谢使用--------------------\n");

printf("(注:

管理员,店长,用户登陆的账号分别是admin,boss,sell初始密码和账号一致)\n");

};

欢迎界面运行如下(图4-1):

图4-1

2.登陆模块voidSystemLogin()函数

voidSystemLogin(){//所有用户身份调用的登陆函数

charuserName[20],password[20];

intisLogin=0;

SystemUser*tmpUser;

printf("请输入你的系统用户帐号:

");

scanf("%s",userName);

printf("\n请输入你的系统用户密码:

");

scanf("%s",password);

tmpUser=pSystemUserHead;

while(NULL!

=tmpUser){

if(0==strcmp(tmpUser->userName,userName)){

if(0==strcmp(tmpUser->password,password)){

isLogin=1;

strcpy(currentUser,tmpUser->userName);

currentUserType=tmpUser->userType;

switch(currentUserType){

caseADMIN_USER_TYPE:

AdminOperationMenu();

break;

caseBOSS_USER_TYPE:

BossOperationMenu();

break;

caseSELL_USER_TYPE:

SellOperationMenu();

break;

default:

break;

}

}else{

printf("对不起,你输入的密码错误!

\n");

SystemLogin();//用户名正确,密码错误

}

}

tmpUser=tmpUser->next;

}

if(isLogin!

=1){

printf("对不起,该用户不存在\n");//遍历了所有用户都没有找到用户

SystemLogin();

}

}

运算显示如下(图4-2):

图4-2

 

3.管理员功能模块

 

(1)管理员欢迎界面voidAdminOperationMenu()函数

voidAdminOperationMenu(){

intselect;

while

(1){

printf("亲爱的管理员%s同志,欢迎使用本系统,你拥有下面所有功能:

\n",currentUser);

printf("

(1)自身密码修改\n");

printf("

(2)用户信息管理:

添加,修改,查询,删除\n");

printf("(3)商品信息管理:

添加,修改,查询,删除\n");

printf("(4)退出系统\n");

printf("请输入上面功能对应的序号进行功能选择:

");

scanf("%d",&select);

switch(select){

case1:

ChangePassword();

continue;

case2:

UserManage();

continue;

case3:

ProductsManage();

Continue;

case4:

ExitSystem();

break;

default:

break;

}

}

};

运算显示如下(图4-3):

图4-3

(2)自身密码修改(调用密码修改函数ChangePassword();)

//密码修改函数

voidChangePassword(){

charnewPassword1[20],newPassword2[20];

SystemUser*tmpUser;

printf("请输入你的新密码:

");

scanf("%s",newPassword1);

printf("请再次输入你的新密码:

");

scanf("%s",newPassword2);

if(0!

=strcmp(newPassword1,newPassword2)){

printf("对不起,你两次输入的密码不一致,修改失败!

\n");

return;

}

tmpUser=pSystemUserHead;

while(NULL!

=tmpUser){

if(0==strcmp(tmpUser->userName,currentUser)){

strcpy(tmpUser->password,newPassword1);

printf("密码修改成功!

\n");

break;

}

tmpUser=tmpUser->next;

}

};

运算显示如下(图4-4):

图4-4

(2)用户信息管理:

添加,修改,删除,查询

//用户信息管理:

添加,修改,删除,查询//

voidUserManage(){//用户信息函数//

intselect;

//管理员显示模块//

while

(1){

printf("亲爱的管理员%s同志,你目前进入的是用户信息管理功能:

\n",currentUser);

printf("

(1)用户信息查看\n");

printf("

(2)用户信息添加\n");

printf("(3)用户信息修改\n");

printf("(4)用户信息删除\n");

printf("(5)返回上级菜单\n");

printf("(6)退出登陆系统\n");

printf("请输入上面功能对应的序号进行功能选择:

");

scanf("%d",&select);

switch(select)

{

case1:

UserInfoView();//调用用户信息查看的函数//

continue;

case2:

UserInfoAdd();//调用用户信息添加函数//

continue;

case3:

UserInfoModify();//调用用户信息修改函数//

continue;

case4:

UserInfoDelete();//调用用户信息删除函数//

continue;

case5:

AdminOperationMenu();//返回上级系统//

break;

case6:

ExitSystem();//退出登陆//

break;

default:

break;

}

}

};

运算显示如下(图4-5):

图4-5

//用户信息查看函数//

voidUserInfoView(){

SystemUser*tmpUser;

tmpUser=pSystemUserHead;

printf("亲爱的管理员%s,你好,你查看的所有用户信息如下:

\n",currentUser);

printf("用户名\t密码\t用户类型(1代表管理员,2代表店长,3代表销售员)\n");

while(NULL!

=tmpUser){

printf("%s\t%s\t%d\n",tmpUser->userName,tmpUser->password,tmpUser->userType);

tmpUser=tmpUser->next;

}

};

运算显示如下(图4-6):

//用户信息添加函数//

voidUserInfoAdd(){

SystemUsertmpUser;

printf("亲爱的管理员%s,请依次输入用户信息:

\n",currentUser);

printf("用户名:

");

scanf("%s",tmpUser.userName);

printf("用户密码:

");

scanf("%s",tmpUser.password);

printf("用户类型(1代表管理员,2代表店长,3代表销售员):

");

scanf("%d",&tmpUser.userType);

tmpUser.next=NULL;

if(FUNCTION_SUCCESS==AddUser(&tmpUser))

printf("用户信息添加成功!

\n");

};

运算显示如下(图4-7):

图4-7

//用户信息修改函数//

voidUserInfoModify(){

charuserName[20];

SystemUser*pUser;

printf("亲爱的管理员%s,请输入要修改的用户帐号:

\n",currentUser);

scanf("%s",userName);

pUser=pSystemUserHead;

while(NULL!

=pUser){

if(0==strcmp(pUser->userName,userName)){

printf("请输入新的帐号:

");

scanf("%s",pUser->userName);

printf("请输入新的密码:

");

scanf("%s",pUser->password);

printf("请输入新的用户类型(1代表管理员,2代表店长,3代表销售员):

");

scanf("%d",&pUser->userType);

printf("用户信息修改成功\n");

return;

}

pUser=pUser->next;

}

printf("对不起,没有你查找的用户信息!

\n");

};

运算显示如下(图4-8):

图4-8

//用户信息删除函数//

voidUserInfoDelete(){

SystemUser*pUserA,*pUserB;

charuserName[20];

printf("亲爱的管理员%s朋友,你好,你现在进入的用户信息删除功能:

\n",currentUser);

printf("请输入你要删除的用户名:

\n");

scanf("%s",userName);

pUserA=pUserB=pSystemUserHead;//pUserB指向要删除的记录,pUserA指向前一条记录

if(NULL==pUserB)return;

while(NULL!

=pUserB){

if(0==strcmp(userName,pUserB->userName)){

if(pUserB==pSystemUserHead&&pUserB->next==NULL){//如果系统只有一条商品信息

free(pSystemUserHead);

pSystemUserHead=NULL;

printf("用户信息删除成功!

\n");

return;

}

pUserA->next=pUserB->next;

if(pSystemUserHead==pUserB)

pSystemUserHead=pUserB->next;

free(pUserB);

printf("用户信息删除成功!

\n");

return;

}

else{

pUserA=pUserB;

pUserB=pUserB->next;

}

}

printf("对不起,不存在该帐号的用户信息!

");

};

 

运算显示如下(图4-9):

图4-9

 

(3)商品信息管理:

添加,修改,查询,删除

//商品管理模块//

voidProductsManage(){

intselect;

while

(1){

printf("亲爱的%s朋友,你好,你现在进入的是商品管理功能,你可以选择以下功能:

\n",currentUser);

printf("

(1)商品信息查看\n");

printf("

(2)商品信息查找\n");

printf("(3)商品信息添加\n");

printf("(4)商品信息修改\n");

printf("(5)商品信息删除\n");

printf("(6)返回上一级菜单\n");

printf("(7)退出登陆系统\n");

printf("请选择应的操作编号:

");

scanf("%d",&select);

switch(select){

case1:

ProductsView();//调用商品查看函数//

continue;

case2:

ProductFind();//调用商品信息查找函数//

continue;

case3:

InputAndAddProduct();//调用商品添加函数//

continue;

case4:

ModifyProduct();//调用商品修改函数//

continue;

case5:

DeleteProduct();//调用删除商品信息函数//

continue;

case6:

switch(currentUserType){//返回上一级//

caseADMIN_USER_TYPE:

AdminOperationMenu();

break;

caseBOSS_USER_TYPE:

BossOperationMenu();

break;

caseSELL_USER_TYPE:

SellOperationMenu();

break;

default:

break;

}

break;

case7:

ExitSystem();

break;

default:

break;

}

}

};

运算显示如下(图4-10):

图4-10

//商品的查看函数//

voidProductsView(){

Products*tmpProduct;

inti;

i=1;

tmpProduct=pProductHead;

if(NULL==tmpProduct)

printf("对不起,目前还没有商品信息");

else{

while(NULL!

=tmpProduct){

printf("第%d件商品信息如下:

\n",i);

printf("商品编号:

%d\n",tmpProduct->productId);

printf("商品名称:

%s\n",tmpProduct->productName);

printf("商品型号:

%s\n",tmpProduct->productType);

printf("商品厂家:

%s\n",tmpProduct->productCompany);

printf("商品价格:

%f\n",tmpProduct->productPrice);

printf("商品数量:

%d\n",tmpProduct->productCount);

printf("商品附加信息:

%s\n",tmpProduct->memo);

tmpProduct=tmpProduct->next;

i++;

}

}

};

运算显示如下(图4-11):

图4-11

//商品查找函数//

voidProductFind(){

Products*tmpProduct;

intfindWay,productId;

charproductName[20];

printf("亲爱的%s朋友,你好,你现在进入的商品查询功能:

\n",currentUser);

printf("请选择查询方式:

1--按商品编号查询2--按商品名称查询\n");

scanf("%d",&findWay);

tmpProduct=pProductHead;

switch(findWay){

case1:

printf("请输入查询的商品编号:

");

scanf("%d",&productId);

while(NULL!

=tmpProduct){

if(productId==tmpProduct->productId){

printf("你查询的商品编号为%d的商品信息如下:

\n",productId);

printf("商品名称:

%s\n",tmpProduct->productName);

printf("商品型号:

%s\n",tmpProduct->productType);

printf("商品厂家:

%s\n",tmpProduct->productCompany);

printf("商品价格:

%f\n",tmpProduct->productPrice);

printf("商品数量:

%d\n",tmpProduct->productCount);

printf("商品附加信息:

%s\n",tmpProduct->memo);

return;

}

tmpProduct=tmpProduct->next;

}

printf("对不起,不存在该商品编号的商品!

\n");

break;

case2:

printf("请输入查询的商品名称:

");

scanf("%s",produ

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2