1、服装销售管理系统C语言课程设计服装销售管理系统C语言课程设计C语言课程设计实验报告 C语言课程设计实验报告 一、 目的,本次课程设计所涉及并要求掌握的知识点。, 用户与商品信息要采用文件存储,因而要提供文件的输入输出操作;实现用户的添加、修改、删除;商品信息的添加、修改、删除、查找等功能;实现商品浏览功能的实现,需要实现显示操作;另外还要提供键盘式选择菜单以实现功能选择。 二、使用环境 ,本次上机实践所使用的平台和相关软件。 , Microsoft Visual C+ 三、内容与设计思想 ,1 (设计思路 2 (主要数据结构 3 (主要代码结构 4 (主要代码段分析 。 , 1、设计思路 服装
2、销售系统 管理员模块 店长模块 销售员模块 商品模块 用户添加 商品添加 用户删除 商品删除 用户修改 商品修改 商品查找 商品浏览 商品出售 2、主要数据结构 /* 系统用户结构 */ typedef struct SystemUser char userName20; /用户名,主键 char password20; /用户密码 int userType; /用户类型(1:管理员,2:店长,3:销售员) struct SystemUser *next; /指向下一个用户的指针 SystemUser; /* 服装商品信息 */ typedef struct Products int prod
3、uctId; /商品编号,主键 char productName20; /商品名称 char productType20; /商品型号 char productCompany20; /商品厂家 第 1 页 共 37 页 C语言课程设计实验报告 float productPrice; /商品价格 int productCount; /商品数量 char memo50; /商品附加信息 struct Products *next; /指向下一个商品的指针 Products; /* 销售记录信息结构 */ typedef struct SellInfoRecord int saleId; /销售编号
4、,主键 char userName20; /销售商品的用户名 int productId; /销售的商品编号 int sellCount; /销售数量 int year; /销售商品年份 int month; /销售商品月份 int day; /销售商品日期 char memo50; /销售的附加信息 struct SellInfoRecord *next; /下一条销售记录 SellInfoRecord; 3、主要代码结构 ,一,添加 打开文件从键盘输入要添加的信息若添加的信息与文件里的信息重复则调用系统暂停函数返回界面,若添加的信息在文件里没有找到则将添加的信息输入到文件 调用系统暂停函数
5、返回界面。 ,二,查询 打开文件从键盘输入要查询的信息若在文件里找到要查询的信息则在界面输入信息并调用系统暂停函数返回界面,若没有找到查询的信息调用系统暂停函数返回界面。 第 2 页 共 37 页 C语言课程设计实验报告 ,三,删除打开文件从键盘输入要删除的信息若在文件里找到要删除的信息存在则把文件里要删除的那条信息删除掉并调用系统暂停函数返回界面,若没有找到删除的信息调用系统暂停函数返回界面。 ,四,修改 打开文件从键盘输入要修改的信息若在文件里找到要修改的信息存在则按照提示信息依次输入要修改的信息写入文件并调用系统暂停函数返回界面,若没有找到修改的信息调用系统暂停函数返回界面。 第 3 页
6、 共 37 页 C语言课程设计实验报告 4、主要代码段分析 /* 对系统进行初始化,建立用户记录和商品记录 */ void InitSystem() FILE *fp; SystemUser adminUser,bossUser,sellUser; /管理员,店长,销售员三个角色信息 Products products2; /初始化两件服装商品信息 SellInfoRecord sellInfo2; /初始化两条销售记录 /初始化管理员用户名、密码与类型 strcpy(adminUser.userName,admin); strcpy(adminUser.password,admin); ad
7、minUser.userType = ADMIN_USER_TYPE; adminUser.next = NULL; /打开管理员用户信息文件Admin.txt写入信息并关闭文件 fp = fopen(Admin.txt, w); fprintf(fp, %st%s, adminUser.userName, adminUser.password); fclose(fp); AddUser(&adminUser); AddUser(&bossUser); AddUser(&sellUser); /添加第一条商品信息 strcpy(products0.productName,精品男装); strc
8、py(products0.productType,m001); strcpy(products0.productCompany,精品服装制造厂); products0.productPrice = 23.5; products0.productCount = 100; strcpy(products0.memo,精品男装您的第一选择); products0.next = NULL; /添加第二条商品信息 第 4 页 共 37 页 C语言课程设计实验报告 strcpy(products1.productName,时尚女装); strcpy(products1.productType,w002);
9、 strcpy(products1.productCompany,时尚服装制造厂); products1.productPrice = 25.5; products1.productCount = 150; strcpy(products1.memo,时尚女装您的第一选择); products1.next = NULL; AddProduct(&products0); AddProduct(&products1); /添加第一条销售报表记录 sellInfo0.day = 16; strcpy(sellInfo0.memo,测试数据1); sellInfo0.month = 7; sellIn
10、fo0.next = NULL; sellInfo0.productId = 1; sellInfo0.sellCount = 8; strcpy(sellInfo0.userName,sell); sellInfo0.year = 2008; /添加第二条销售报表记录 sellInfo1.day = 17; strcpy(sellInfo1.memo,测试数据2); sellInfo1.month = 7; sellInfo1.next = NULL; sellInfo1.productId = 2; sellInfo1.sellCount = 5; strcpy(sellInfo1.use
11、rName,sell); sellInfo1.year = 2008; AddSellInfo(&sellInfo0); AddSellInfo(&sellInfo1); ; /添加商品信息 void InputAndAddProduct() Products product; printf(亲爱的%s朋友,你好,请依次输入新商品的信息:n,currentUser); /输入商品名称、型号、制作商、价格、数量、附加信息并把从键盘输入的值赋值给结构体变量的商品名称型号、制作商、价格、数量、附加信息 printf(商品名称:); scanf(%s,product.productName); pri
12、ntf(商品型号:); scanf(%s,product.productType); printf(商品制造商:); scanf(%s,product.productCompany); printf(商品价格:); scanf(%f,&product.productPrice); printf(商品数量:); scanf(%d,&product.productCount); printf(商品附加信息:); scanf(%s,product.memo); product.next = NULL; /若成功信息添加到结构体变量product里则提示添加成功 if(FUNCTION_SUCCESS
13、 = AddProduct(&product) printf(商品信息添加成功!n); 第 5 页 共 37 页 C语言课程设计实验报告 system(pause); ; /修改商品信息 void ModifyProduct() int productId; /待修改的商品编号 Products *tmpProduct; printf(亲爱的%s朋友,你好,你现在进入的商品信息修改功能:n,currentUser); printf(请输入要修改的商品编号:); scanf(%d,&productId); /将从键盘接收到的商品编号赋值给变量productId tmpProduct = pPro
14、ductHead; if(NULL = tmpProduct) return ; while(NULL != tmpProduct) if(productId = tmpProduct-productId) 若从键盘输入的商品编号与文件中的一致则修改商品信息 /n,productId); printf(商品编号%d的商品信息如下:printf( 商品名称: %sn,tmpProduct-productName); printf( 商品型号: %sn,tmpProduct-productType); printf( 商品厂家: %sn,tmpProduct-productCompany); pr
15、intf( 商品价格: %fn,tmpProduct-productPrice); printf( 商品数量: %dn,tmpProduct-productCount); printf( 商品附加信息: %sn,tmpProduct-memo); printf(下面请对照修改该商品的相应信息:n); printf(新的商品名称: ); scanf(%s,tmpProduct-productName); printf(新的商品型号: ); scanf(%s,tmpProduct-productType); printf(新的商品厂家: ); scanf(%s,tmpProduct-product
16、Company); printf(新的商品价格: ); scanf(%f,&tmpProduct-productPrice); printf(新的商品数量: ); scanf(%d,&tmpProduct-productCount); printf(新的商品附加信息: ); scanf(%s,tmpProduct-memo); printf(商品信息修改成功!n); system(pause); break; tmpProduct = tmpProduct-next; ; /商品删除 void DeleteProduct() int productId = 0; Products *tmpPr
17、oductA,*tmpProductB; printf(亲爱的%s朋友,你好,你现在进入的商品删除功能:n,currentUser); printf(请输入你要删除的商品编号:); scanf(%d,&productId); tmpProductA = tmpProductB = pProductHead; /tmpProductB指向要删除的记录tmpProductA指向前一条记录 if(NULL = tmpProductB) return ; while(NULL != tmpProductB) if(tmpProductB-productId = productId) if(tmpPro
18、ductB = pProductHead & tmpProductB-next = 第 6 页 共 37 页 C语言课程设计实验报告 NULL) /如果系统只有一条商品信息 free(pProductHead); pProductHead = NULL; n); printf(商品信息删除成功!system(pause); return ; tmpProductA-next = tmpProductB-next; if(pProductHead = tmpProductB) pProductHead = tmpProductB-next; free(tmpProductB); printf(商
19、品信息删除成功:n); system(pause); return ; else tmpProductA = tmpProductB; tmpProductB = tmpProductB-next; printf(对不起不存在该商品编号的信息!); /商品查询 void ProductFind() Products *tmpProduct; int findWay,productId; char productName20; printf(亲爱的%s朋友,你好,你现在进入的商品查询功能:n,currentUser); printf(请选择查询方式: 1-按商品编号查询 2-按商品名称查询:);
20、 scanf(%d,&findWay); tmpProduct = pProductHead; switch(findWay) case 1: printf(请输入查询的商品编号:); scanf(%d,&productId); /输入要查询的商品编号 while(NULL != tmpProduct) if(productId = tmpProduct-productId) /若输入查询的商品编号与文件中的一致则输出商品信息 printf(你查询的商品编号为%d的商品信息如下:n,productId); printf( 商品名称: %sn,tmpProduct-productName); p
21、rintf( 商品型号: %sn,tmpProduct-productType); printf( 商品厂家: %sn,tmpProduct-productCompany); printf( 商品价格: %fn,tmpProduct-productPrice); printf( 商品数量: %dn,tmpProduct-productCount); printf( 商品附加信息: %sn,tmpProduct-memo); system(pause); return ; tmpProduct = tmpProduct-next; printf(对不起,不存在该商品编号的商品!n); syste
22、m(pause); case 2: printf(请输入查询的商品名称:); scanf(%s,productName); /输入要查询的商品名称 while(NULL != tmpProduct) if(0 = strcmp(tmpProduct-productName,productName) /若输入查询的商品名称与文件中的一致则输出商品信息 printf(你要查询的商品名称为%s的商品信息如下:n,productName); 第 7 页 共 37 页 C语言课程设计实验报告 printf( 商品名称: %sn,tmpProduct-productName); printf( 商品型号:
23、 %sn,tmpProduct-productType); printf( 商品厂家: %sn,tmpProduct-productCompany); n,tmpProduct-productPrice); printf( 商品价格: %fprintf( 商品数量: %dn,tmpProduct-productCount); printf( 商品附加信息: %sn,tmpProduct-memo); system(pause); return ; tmpProduct = tmpProduct-next; printf(对不起,不存在该商品编号的商品!n); system(pause); de
24、fault: break; 四、调试过程 ,1 (测试数据设计 2 (测试结果分析 , 初始化用户名与密码 管理员:admin admin 店 长:boss boss 销售员:sell sell ,一,主界面 ,二,以管理员方式登陆系统输入正确的用户账号admin和密码admin 若登陆名或密码错误则提示用户不存在 第 8 页 共 37 页 C语言课程设计实验报告 登陆成功进入管理员界面 选择“,1,自身密码修改”修改管理员密码 选择“,2,用户信息管理”进行用户的增、删、改、查功能 选择“用户信息查看”查看当前用户信息 选择“用户信息添加”添加用户信息 第 9 页 共 37 页 C语言课程设
25、计实验报告 选择“用户信息删除”删除用户 返回管理员界面选择“,3,商品信息管理”进行商品的增、删、改、查功能。 选择“用户信息查看”查看当前商品信息。 选择“商品信息查找”根据商品编号及商品名称进行查找。首先选择“按商品编号查询”若查询的编号存在则显示查询的信息 第 10 页 共 37 页 C语言课程设计实验报告 若查询的商品编号不存在则提示信息“对不起不存在该商品编号的商品” 选择“按商品名称查询”输入正确的商品名称显示查询信息 若查询的商品名称不存在则提示信息“对不起不存在该商品编号的商品” 选择“商品信息添加”添加商品信息 选择“商品信息修改”修改商品信息 第 11 页 共 37 页
26、C语言课程设计实验报告 选择“商品信息删除”删除商品 返回管理员界面选择“商品报表显示”进行销售报表功能 选择“所有商品销售情况”显示商品信息 第 12 页 共 37 页 C语言课程设计实验报告 选择“商品日销售报表”查看符合条件的销售商品 若查询的信息不符合条件则显示没有符合条件的记录 选择“商品月销售报表”查看符合条件的销售商品 选择“销售员销售报表”查看符合条件的销售商品 第 13 页 共 37 页 C语言课程设计实验报告 ,三,以店长方式登录系统 选择“自身密码修改”修改店长密码 店长其他功能,商品信息管理销售报表显示,与管理员类似。 ,四,以销售员登陆系统 第 14 页 共 37 页
27、 C语言课程设计实验报告 选择“商品销售”功能进行产品销售 若销售产品大于库存则提示销售失败。 销售员商品浏览、查询、及报表查看功能与管理员功能类似 五、总结 1 (设计中遇到的问题及解决过程 2 (设计中产生的错误及原因分析 3 (设计体会和收获。 六、附录 1、原代码 #include /标准输入输出函数 #include /Windows头文件 #include /日期和时间头文件 第 15 页 共 37 页 C语言课程设计实验报告 #define ADMIN_USER_TYPE 1 #define BOSS_USER_TYPE 2 #define SELL_USER_TYPE 3 #d
28、efine FUNCTION_FAILED -1#define FUNCTION_SUCCESS 0 /如果函数成功执行将返回0 /* 系统用户结构 */ typedef struct SystemUser char userName20; /用户名,主键 char password20; /用户密码 int userType; /用户类型(1:管理员,2:店长,3:销售员) struct SystemUser *next; /指向下一个用户的指针 SystemUser; /* 服装商品信息 */ typedef struct Products int productId; /商品编号,主键 char productName20; /商品名称 char productType20; /商品型号 char productCompany20; /商品厂家 float productPrice; /商品价格 int productCount; /商品数量 char memo50; /商品附加信息 struct Products *next; /指向下一个商品的指针 Products; /* 销售记录信息结构 */ typedef struct SellI
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1