服装销售管理系统—C语言课程设计.docx

上传人:罗晋 文档编号:6126749 上传时间:2020-09-11 格式:DOCX 页数:43 大小:670.30KB
返回 下载 相关 举报
服装销售管理系统—C语言课程设计.docx_第1页
第1页 / 共43页
服装销售管理系统—C语言课程设计.docx_第2页
第2页 / 共43页
服装销售管理系统—C语言课程设计.docx_第3页
第3页 / 共43页
服装销售管理系统—C语言课程设计.docx_第4页
第4页 / 共43页
服装销售管理系统—C语言课程设计.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《服装销售管理系统—C语言课程设计.docx》由会员分享,可在线阅读,更多相关《服装销售管理系统—C语言课程设计.docx(43页珍藏版)》请在三一文库上搜索。

1、服装销售管理系统 C 语言课程设计C语言课程设计实验报告C 语言课程设计实验报告一、 目的(本次课程设计所涉及并要求掌握的知识点。)用户与商品信息要采用文件存储, 因而要提供文件的输入输出操作;实现用户的添加、修改、删除;商品信息的添加、修改、删除、查找等功能;实现商品浏览功能的实现, 需要实现显示操作;另外还要提供键盘式选择菜单以实现功能选择。二、使用环境(本次上机实践所使用的平台和相关软件。)Microsoft Visual C+三、内容与设计思想( 1 设计思路 2 主要数据结构 3 主要代码结构 4 主要代码段分析 。 )1、设计思路服 装 销管理店销售商用商用商用商商商商2、主要数据

2、结构/*系统用户结构 */第 2页 共 39页C语言课程设计实验报告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;/

3、商品型号char productCompany20;/商品厂家float productPrice;/商品价格int productCount;/商品数量char memo50;/商品附加信息struct Products *next;/指向下一个商品的指针 Products;/* 销售记录信息结构 */typedef struct SellInfoRecord int saleId;/销售编号 , 主键char userName20;/销售商品的用户名int productId;/销售的商品编号int sellCount;/销售数量int year;/销售商品年份int month;/销售商

4、品月份int day;/销售商品日期char memo50;/销售的附加信息struct SellInfoRecord *next;/下一条销售记录 SellInfoRecord;3、主要代码结构(一)添加打开文件,从键盘输入要添加的信息,若添加的信息与文件里的信息重复,则调用系统暂停函数,返回界面;若添加的信息在文件里没有找到,则将添加的信息输入到文件,调用系统暂停函数,返回界面。第 3页 共 39页C语言课程设计实验报告(二)查询打开文件,从键盘输入要查询的信息,若在文件里找到要查询的信息,则在界面输入信息,并调用系统暂停函数,返回界面;若没有找到查询的信息,调用系统暂停函数,返回界面。(

5、三)删除打开文件,从键盘输入要删除的信息,若在文件里找到要删除的信息存在,则把文件里要删除的那条信息删除掉,并调用系统暂停函数,返回界面;若没有找到删除的信息,调用系统暂停函数,返回界面。第 4页 共 39页C语言课程设计实验报告(四)修改打开文件,从键盘输入要修改的信息,若在文件里找到要修改的信息存在,则按照提示信息依次输入要修改的信息,写入文件,并调用系统暂停函数,返回界面;若没有找到修改的信息,调用系统暂停函数,返回界面。4、主要代码段分析/*对系统进行初始化 , 建立用户记录和商品记录*/第 5页 共 39页C语言课程设计实验报告void InitSystem() FILE *fp;S

6、ystemUser adminUser,bossUser,sellUser; /管理员 , 店长 , 销售员三个角色信息Products products2;/初始化两件服装商品信息SellInfoRecord sellInfo2;/初始化两条销售记录/ 初始化管理员用户名、密码与类型strcpy(adminUser.userName,admin);strcpy(adminUser.password,admin);adminUser.userType = ADMIN_USER_TYPE;adminUser.next = NULL;/ 打开管理员用户信息文件 Admin.txt ,写入信息,并关

7、闭文件 fp = fopen(Admin.txt, w);fprintf(fp, %st%s, adminUser.userName, adminUser.password); fclose(fp);AddUser(&adminUser);AddUser(&bossUser);AddUser(&sellUser);/ 添加第一条商品信息strcpy(products0.productName, 精品男装 ); strcpy(products0.productType,m001);strcpy(products0.productCompany,精品服装制造厂 );products0.produc

8、tPrice = 23.5;products0.productCount = 100;strcpy(products0.memo, 精品男装,您的第一选择 ); products0.next = NULL;/ 添加第二条商品信息strcpy(products1.productName, 时尚女装 ); strcpy(products1.productType,w002);strcpy(products1.productCompany, 时尚服装制造厂 ); products1.productPrice = 25.5;products1.productCount = 150;strcpy(pro

9、ducts1.memo, 时尚女装,您的第一选择 ); products1.next = NULL;AddProduct(&products0);AddProduct(&products1);/ 添加第一条销售报表记录 sellInfo0.day = 16;strcpy(sellInfo0.memo, 测试数据 1); sellInfo0.month = 7;sellInfo0.next = NULL; sellInfo0.productId = 1; sellInfo0.sellCount = 8; strcpy(sellInfo0.userName,sell);sellInfo0.year

10、 = 2008;/ 添加第二条销售报表记录sellInfo1.day = 17;strcpy(sellInfo1.memo,测试数据 2);sellInfo1.month = 7;sellInfo1.next = NULL;sellInfo1.productId = 2;sellInfo1.sellCount = 5;strcpy(sellInfo1.userName,sell);sellInfo1.year = 2008;第 6页 共 39页C语言课程设计实验报告AddSellInfo(&sellInfo0);AddSellInfo(&sellInfo1);/ 添加商品信息void Inpu

11、tAndAddProduct() Products product;printf(亲 爱 的 %s 朋 友 ,你 好 , 请 依 次 输 入 新 商 品 的 信息 :n,currentUser);/ 输入商品名称、型号、制作商、价格、数量、附加信息,并把从键盘输入的值赋值给结构体量的商品名称型号、制作商、价格、数量、附加信息printf(商品名称 :);scanf(%s,product.productName);printf(商品型号 :);scanf(%s,product.productType);printf(商品制造商 :);scanf(%s,product.productCompany

12、);printf(商品价格 :);scanf(%f,&product.productPrice);printf(商品数量 :);scanf(%d,&product.productCount);printf(商品附加信息 :);scanf(%s,product.memo);product.next = NULL;/ 若成功信息添加到结构体变量 product 里则提示添加成功 if(FUNCTION_SUCCESS = AddProduct(&product)printf(商品信息添加成功 !n);system(pause);/ 修改商品信息void ModifyProduct() int pr

13、oductId;/待修改的商品编号Products *tmpProduct;printf( 亲 爱 的 %s 朋 友 , 你 好 , 你 现 在 进 入 的 商 品 信 息 修 改 功能 :n,currentUser);printf(请输入要修改的商品编号:);scanf(%d,&productId); /将从键盘接收到的商品编号赋值给变量productIdtmpProduct = pProductHead;if(NULL = tmpProduct) return ;while(NULL != tmpProduct) if(productId = tmpProduct-productId)/

14、若从键盘输入的商品编号与文件中的一致,则修改商品信息printf(商品编号 %d的商品信息如下 :n,productId);printf(商品名称 : %sn,tmpProduct-productName);printf(商品型号 : %sn,tmpProduct-productType);printf(商品厂家 : %sn,tmpProduct-productCompany);printf(商品价格 : %fn,tmpProduct-productPrice);printf(商品数量 : %dn,tmpProduct-productCount);printf(商品附加信息 : %sn,tmp

15、Product-memo);printf(下面请对照修改该商品的相应信息:n);printf(新的商品名称 : );scanf(%s,tmpProduct-productName);printf(新的商品型号 : );scanf(%s,tmpProduct-productType);第 7页 共 39页C语言课程设计实验报告printf(新的商品厂家 : );scanf(%s,tmpProduct-productCompany);printf(新的商品价格 : );scanf(%f,&tmpProduct-productPrice);printf(新的商品数量 : );scanf(%d,&tm

16、pProduct-productCount);printf(新的商品附加信息 : );scanf(%s,tmpProduct-memo);printf(商品信息修改成功 !n);system(pause);break;tmpProduct = tmpProduct-next; ;/ 商品删除void DeleteProduct() int productId = 0;Products *tmpProductA,*tmpProductB;printf(亲 爱 的 %s 朋 友 , 你 好 , 你 现 在 进 入 的 商 品 删 除 功能 :n,currentUser);printf(请输入你要删

17、除的商品编号:);scanf(%d,&productId);tmpProductA = tmpProductB = pProductHead;/tmpProductB指向要删除的记录, tmpProductA 指向前一条记录if(NULL = tmpProductB) return ;while(NULL != tmpProductB)if(tmpProductB-productId = productId) if(tmpProductB=pProductHead& tmpProductB-next=NULL)/如果系统只有一条商品信息free(pProductHead);pProductHe

18、ad = NULL;printf(商品信息删除成功 !n);system(pause);return ;tmpProductA-next = tmpProductB-next;if(pProductHead = tmpProductB)pProductHead = tmpProductB-next;free(tmpProductB);printf(商品信息删除成功! n);system(pause);return ;else tmpProductA = tmpProductB;tmpProductB = tmpProductB-next;printf(对不起,不存在该商品编号的信息!);/ 商

19、品查询void ProductFind() Products *tmpProduct;int findWay,productId;char productName20;printf(亲 爱 的 %s 朋 友 , 你 好 , 你 现 在 进 入 的 商 品 查 询 功能 :n,currentUser);printf( 请选择查询方式 : 1- 按商品编号查询 2- 按商品名称查询 :); scanf(%d,&findWay);tmpProduct = pProductHead;第 8页 共 39页C语言课程设计实验报告switch(findWay) case 1:printf(请输入查询的商品编

20、号 :);scanf(%d,&productId); / 输入要查询的商品编号 while(NULL != tmpProduct) if(productId = tmpProduct-productId) / 若输入查询的商品编号与文件中的一致,则输出商品信息printf(你查询的商品编号为 %d的商品信息如下 :n,productId);printf(商品名称 : %sn,tmpProduct-productName);printf(商品型号 : %sn,tmpProduct-productType);printf(商品厂家 : %sn,tmpProduct-productCompany);

21、printf(商品价格 : %fn,tmpProduct-productPrice);printf(商品数量 : %dn,tmpProduct-productCount);printf(商品附加信息 : %sn,tmpProduct-memo);system(pause);return ;tmpProduct = tmpProduct-next;printf(对不起 , 不存在该商品编号的商品!n);system(pause);case 2:printf(请输入查询的商品名称 :);scanf(%s,productName); /输入要查询的商品名称while(NULL != tmpProdu

22、ct) if(0= strcmp(tmpProduct-productName,productName)/ 若输入查询的商品名称与文件中的一致,则输出商品信息printf(你要查询的商品名称为%s的商品信息如下 :n,productName);printf(商品名称 : %sn,tmpProduct-productName);printf(商品型号 : %sn,tmpProduct-productType);printf(商品厂家 : %sn,tmpProduct-productCompany);printf(商品价格 : %fn,tmpProduct-productPrice);printf

23、(商品数量 : %dn,tmpProduct-productCount);printf(商品附加信息 : %sn,tmpProduct-memo);system(pause);return ;tmpProduct = tmpProduct-next;printf(对不起 , 不存在该商品编号的商品!n);system(pause);default:break;四、调试过程(1 测试数据设计2测试结果分析)初始化用户名与密码管理员: admin admin店长: boss boss销售员: sell sell(一)主界面第 9页 共 39页C语言课程设计实验报告(二)以管理员方式登陆系统,输入正

24、确的用户账号admin 和密码 admin若登陆名或密码错误,则提示用户不存在登陆成功,进入管理员界面第 10页共 39页C语言课程设计实验报告选择“(1)自身密码修改”,修改管理员密码选择“(2)用户信息管理”,进行用户的增、删、改、查功能选择“用户信息查看” ,查看当前用户信息选择“用户信息添加” ,添加用户信息选择“用户信息删除” ,删除用户返回管理员界面,选择“ ( 3)商品信息管理”,进行商品的增、删、改、查功能。第 11页共 39页C语言课程设计实验报告选择“用户信息查看” ,查看当前商品信息。选择“商品信息查找” ,根据商品编号及商品名称进行查找。首先,选择“按商品编号查询”,若

25、查询的编号存在,则显示查询的信息若查询的商品编号不存在,则提示信息“对不起,不存在该商品编号的商品”选择“按商品名称查询” ,输入正确的商品名称,显示查询信息第 12页共 39页C语言课程设计实验报告若查询的商品名称不存在,则提示信息“对不起,不存在该商品编号的商品”选择“商品信息添加” ,添加商品信息选择“商品信息修改” ,修改商品信息第 13页共 39页C语言课程设计实验报告选择“商品信息删除” ,删除商品返回管理员界面,选择“商品报表显示”,进行销售报表功能选择“所有商品销售情况” ,显示商品信息第 14页共 39页C语言课程设计实验报告选择“商品日销售报表” ,查看符合条件的销售商品若

26、查询的信息不符合条件,则显示没有符合条件的记录选择“商品月销售报表” ,查看符合条件的销售商品选择“销售员销售报表” ,查看符合条件的销售商品第 15页共 39页C语言课程设计实验报告(三)以店长方式登录系统选择“自身密码修改” ,修改店长密码店长其他功能(商品信息管理,销售报表显示)与管理员类似。(四)以销售员登陆系统第 16页共 39页C语言课程设计实验报告选择“商品销售”功能,进行产品销售若销售产品大于库存,则提示销售失败。销售员商品浏览、查询、及报表查看功能与管理员功能类似五、总结1 设计中遇到的问题及解决过程2 设计中产生的错误及原因分析3 设计体会和收获。六、附录1、原代码#inc

27、lude /标准输入输出函数#include /Windows头文件#include /日期和时间头文件第 17页共 39页C语言课程设计实验报告#define ADMIN_USER_TYPE 1#define BOSS_USER_TYPE 2#define SELL_USER_TYPE 3#define FUNCTION_FAILED -1#define FUNCTION_SUCCESS 0 /如果函数成功执行,将返回 0 /* 系统用户结构 */typedef struct SystemUser char userName20;/用户名 , 主键char password20;/用户密码i

28、nt 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 Produ

29、cts *next;/指向下一个商品的指针 Products;/*销售记录信息结构*/typedef struct SellInfoRecord int saleId;/销售编号 , 主键char userName20;/销售商品的用户名int productId;/销售的商品编号int sellCount;/销售数量int year;/销售商品年份int month;/销售商品月份int day;/销售商品日期char memo50;/销售的附加信息struct SellInfoRecord *next;/下一条销售记录 SellInfoRecord;static char currentU

30、ser20; /系统全局变量 , 保存当前登陆用户名 ;static int currentUserType; /系统全局变量 , 保存当前登陆用户的用户类型static SystemUser *pSystemUserHead = NULL; /保存系统用户信息记录的头指针static Products *pProductHead = NULL; /保存系统商品信息记录的头指针static SellInfoRecord *pSellInfoHead = NULL;/保存系统销售记录的头指针void InitSystem();/对系统用户信息和商品信息进行初始化int AddUser(Syste

31、mUser *);/向用户信息链表中加入用户信息int AddProduct(Products *pPro); /向商品信息链表中加入商品信息int AddSellInfo(SellInfoRecord *);void UserExit();void WelcomeMenu();/系统欢迎菜单void SystemLogin();/系统登陆void AdminOperationMenu();/系统管理员操作菜单void BossOperationMenu();/店长操作菜单void SellOperationMenu();/销售员操作菜单第 18页共 39页C语言课程设计实验报告void Ch

32、angePassword();/修改密码void UserManage();/用户信息管理void UserInfoView();/用户信息查看void UserInfoAdd();/用户信息添加void UserInfoModify();/用户信息修改void UserInfoDelete();/用户信息删除void ProductsManage();/产品信息管理void ProductsView();/商品查看void ProductFind();void InputAndAddProduct();/输入商品信息并添加void ModifyProduct();/修改商品信息void De

33、leteProduct();/删除商品信息void ProductsSell();/商品销售void ReportPrint();/报表显示void ShowAllSellReport();/显示所有商品销售情况void ShowDaySellReport();/显示某日的销售情况void ShowMonthSellReport();/显示某月的销售情况void ShowEmployeeSellReport();/显示某个销售员的销售情况void ExitSystem();/退出登陆系统float getPriceById(int );/通过商品编号查询商品价格int getProductNa

34、meById(int,char *);/通过商品编号查询商品名称int getCountById(int);/通过商品编号查询商品库存数量void ReduceProductCount(int,int);/通过商品编号减少商品数量/* 对系统进行初始化 , 建立用户记录和商品记录 */void InitSystem() FILE *fp;SystemUser adminUser,bossUser,sellUser; /管理员 , 店长 , 销售员三个角色信息Products products2;/初始化两件服装商品信息SellInfoRecord sellInfo2;/初始化两条销售记录/ 管理员strcpy(adminUser.userName,admin);strcpy(adminUser.password,admin);adminUser.userType = ADMIN_

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1