服装销售系统C语言课程设计

  • 格式:doc
  • 大小:204.89 KB
  • 文档页数:34

服装管理系统 目 录

1.题目要求-------------------------------------------------------------------4 2.需求分析-------------------------------------------------------------------4 3.总体设计-------------------------------------------------------------------4 4.详细设计-------------------------------------------------------------------8 5.上机操作------------------------------------------------------------------30 6.总结----------------------------------------------------------------------33 7.致谢----------------------------------------------------------------------33 参考文献-------------------------------------------------------------------34

1 服装管理系统 1.题目要求

(1) 系统包含三类用户:管理员、店长、销售员。 (2) 向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。 (4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。

2. 需求分析

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

3.总体设计 1.【整体E-R图3-1】

户用户用添加 删除

店长模块自身商品 信息信息显示所 退出浏览修改 有用户 销售员 模块营业密码商品商品 员业修改 浏览 查找绩报 表 退出

出售

查看月报表 图3-1 【】 程序中典型的流程图2.

(一)添加模块 (1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要 2 服装管理系统 存进原文件,流程图(图3-2)如下。 开始 文件打开否 输出错误信息 输入信息 将信息输出到磁盘 是否继续 printf_back()函数调用 结束 3-2 图 (二)浏览模块浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采)分析:(1用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。 算法和以上的分程序有相同的优点。 。图3-3)流程图如下

( 开输出错误信打开文件否

3 服装管理系统 图3-3 (三)查询模块 (1)分析:基本信息的查询按查询方式:按商品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂(图3-4) 开始 文件打开输出错误信息 查询方式 商品的名称 是否继续结束 3-4 图 (四)删除模块商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内)分析:(1可以改为另一种办法:但有一点烦琐。容除去,然后在重新输入到磁盘,这种算法比较合理,将其覆在新商品信息输入时,设置一个标示符,对有这些标识符的记录在下次输入时跳过,盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处理等。人 性化设计有在删除之前询问是否继续。 )如下:流程图(图3-5 4

服装管理系统 删除操作

输出错误信息 3-5 图 五)修改模块程序须将该文件全部取出来,管理员信息存放在磁盘中,分析:修改与删除程序相似,(1)但有一点烦琐,这种算法比较合理,在内存中把要修改的内容修改,然后在重新输入到磁盘, 2-6)。可以改进(图 开始 文件打开输出错误信息 查找职工信息 是否查找到 修改操作 输入信息 是否继续 结束

3-6 图

5 服装管理系统

4.详细设计 1.欢迎界面void WelcomeMenu() void WelcomeMenu() { printf(---------------服装销售系统-----------\n); 牰湩晴尨系统功能说明:\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); 牰湩晴尨(注:管理员,店长,用户登陆的账号分别是admin,boss,sell初始密码和账号一致)\n); }; :欢迎界面运行如下(图4-1)

图4-1 6 服装管理系统

2.登陆模块 void SystemLogin()函数 void SystemLogin() { //所有用户身份调用的登陆函数 char userName[20],password[20]; int isLogin = 0; SystemUser *tmpUser; 牰湩晴尨请输入你的系统用户帐号:); scanf(%s,userName); printf(\ 请输入你的系统用户密码:); 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) { case ADMIN_USER_TYPE: AdminOperationMenu(); break; case BOSS_USER_TYPE: BossOperationMenu(); break; case SELL_USER_TYPE: SellOperationMenu(); break; default: break; } } else { 牰湩晴尨对不起,你输入的密码错误!\n); SystemLogin(); //用户名正确,密码错误 } }

tmpUser = tmpUser->next; }

if(isLogin != 1) { 遍历了所有用户都没有找到用户// , 牰湩晴尨对不起该用户不存在\n); 7 服装管理系统 SystemLogin(); } }

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

3.管理员功能模块 管理员模块 1自身密码修2查删修用户信息管添3商品信息管添修查删4销售报表显 (1)管理员欢迎界面void AdminOperationMenu()函数

void AdminOperationMenu() { int select; while(1) { 牰湩晴尨亲爱的管理员%s同志,欢迎使用本系统,你拥有下面所有功能:\n,currentUser); printf( (1)自身密码修改\n); printf( (2)用户信息管理:添加,修改,查询,删除\n);

8 服装管理系统 printf( (3)商品信息管理:添加,修改,查询,删除\n); printf( (4)退出系统\n); 牰湩晴尨请输入上面功能对应的序号进行功能选择:); scanf(%d,&select); switch(select) { case 1: ChangePassword(); continue; case 2: UserManage(); continue; case 3: ProductsManage(); Continue; case 4: ExitSystem(); break; default: break;