服装销售管理系统-C语言课程设计报告书_第1页
服装销售管理系统-C语言课程设计报告书_第2页
服装销售管理系统-C语言课程设计报告书_第3页
服装销售管理系统-C语言课程设计报告书_第4页
服装销售管理系统-C语言课程设计报告书_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..C语言课程设计实验报告目的〔本次课程设计所涉及并要求掌握的知识点。用户与商品信息要采用文件存储,因而要提供文件的输入输出操作;实现用户的添加、修改、删除;商品信息的添加、修改、删除、查找等功能;实现商品浏览功能的实现,需要实现显示操作;另外还要提供键盘式选择菜单以实现功能选择。二、使用环境〔本次上机实践所使用的平台和相关软件。MicrosoftVisualC++三、内容与设计思想〔1.设计思路2.主要数据结构3.主要代码结构4.主要代码段分析。1、设计思路服装销售系统服装销售系统管理员模块店长模块销售员模块商品模块用户添加用户删除用户修改商品添加商品删除商品修改商品查找商品浏览商品出售2、主要数据结构/**系统用户结构**/typedefstructSystemUser{charuserName[20];//用户名,主键charpassword[20];//用户密码intuserType;//用户类型<1:管理员;2:店长;3:销售员>structSystemUser*next;//指向下一个用户的指针}SystemUser;/**服装商品信息**/typedefstructProducts{intproductId;//商品编号,主键charproductName[20];//商品名称charproductType[20];//商品型号charproductCompany[20];//商品厂家floatproductPrice;//商品价格intproductCount;//商品数量charmemo[50];//商品附加信息structProducts*next;//指向下一个商品的指针}Products;/**销售记录信息结构**/typedefstructSellInfoRecord{intsaleId;//销售编号,主键charuserName[20];//销售商品的用户名intproductId;//销售的商品编号intsellCount;//销售数量intyear;//销售商品年份intmonth;//销售商品月份intday;//销售商品日期charmemo[50];//销售的附加信息structSellInfoRecord*next;//下一条销售记录}SellInfoRecord;3、主要代码结构〔一添加打开文件,从键盘输入要添加的信息,若添加的信息与文件里的信息重复,则调用系统暂停函数,返回界面;若添加的信息在文件里没有找到,则将添加的信息输入到文件,调用系统暂停函数,返回界面。查询打开文件,从键盘输入要查询的信息,若在文件里找到要查询的信息,则在界面输入信息,并调用系统暂停函数,返回界面;若没有找到查询的信息,调用系统暂停函数,返回界面。删除打开文件,从键盘输入要删除的信息,若在文件里找到要删除的信息存在,则把文件里要删除的那条信息删除掉,并调用系统暂停函数,返回界面;若没有找到删除的信息,调用系统暂停函数,返回界面。修改打开文件,从键盘输入要修改的信息,若在文件里找到要修改的信息存在,则按照提示信息依次输入要修改的信息,写入文件,并调用系统暂停函数,返回界面;若没有找到修改的信息,调用系统暂停函数,返回界面。主要代码段分析/**对系统进行初始化,建立用户记录和商品记录**/voidInitSystem<>{ FILE*fp;SystemUseradminUser,bossUser,sellUser;//管理员,店长,销售员三个角色信息Productsproducts[2];//初始化两件服装商品信息SellInfoRecordsellInfo[2];//初始化两条销售记录 //初始化管理员用户名、密码与类型strcpy<adminUser.userName,"admin">;strcpy<adminUser.password,"admin">;adminUser.userType=ADMIN_USER_TYPE;adminUser.next=NULL;//打开管理员用户信息文件Admin.txt,写入信息,并关闭文件 fp=fopen<"Admin.txt","w">; fprintf<fp,"%s\t%s",adminUser.userName,adminUser.password>; fclose<fp>;AddUser<&adminUser>;AddUser<&bossUser>;AddUser<&sellUser>;//添加第一条商品信息strcpy<products[0].productName,"精品男装">;strcpy<products[0].productType,"m001">;strcpy<products[0].productCompany,"精品服装制造厂">;products[0].productPrice=23.5;products[0].productCount=100;strcpy<products[0].memo,"精品男装,您的第一选择">;products[0].next=NULL;//添加第二条商品信息strcpy<products[1].productName,"时尚女装">;strcpy<products[1].productType,"w002">;strcpy<products[1].productCompany,"时尚服装制造厂">;products[1].productPrice=25.5;products[1].productCount=150;strcpy<products[1].memo,"时尚女装,您的第一选择">;products[1].next=NULL;AddProduct<&products[0]>;AddProduct<&products[1]>;//添加第一条销售报表记录sellInfo[0].day=16;strcpy<sellInfo[0].memo,"测试数据1">;sellInfo[0].month=7;sellInfo[0].next=NULL;sellInfo[0].productId=1;sellInfo[0].sellCount=8;strcpy<sellInfo[0].userName,"sell">;sellInfo[0].year=2008;//添加第二条销售报表记录sellInfo[1].day=17;strcpy<sellInfo[1].memo,"测试数据2">;sellInfo[1].month=7;sellInfo[1].next=NULL;sellInfo[1].productId=2;sellInfo[1].sellCount=5;strcpy<sellInfo[1].userName,"sell">;sellInfo[1].year=2008;AddSellInfo<&sellInfo[0]>;AddSellInfo<&sellInfo[1]>;};//添加商品信息voidInputAndAddProduct<>{Productsproduct;printf<"亲爱的%s朋友,你好,请依次输入新商品的信息:\n",currentUser>;//输入商品名称、型号、制作商、价格、数量、附加信息,并把从键盘输入的值赋值给结构体变量的商品名称型号、制作商、价格、数量、附加信息printf<"商品名称:">;scanf<"%s",ductName>;printf<"商品型号:">;scanf<"%s",ductType>;printf<"商品制造商:">;scanf<"%s",ductCompany>;printf<"商品价格:">;scanf<"%f",&ductPrice>;printf<"商品数量:">;scanf<"%d",&ductCount>;printf<"商品附加信息:">;scanf<"%s",product.memo>;product.next=NULL;//若成功信息添加到结构体变量product里则提示添加成功if<FUNCTION_SUCCESS==AddProduct<&product>>printf<"商品信息添加成功!\n">; system<"pause">;};//修改商品信息voidModifyProduct<>{intproductId;//待修改的商品编号Products*tmpProduct; printf<"亲爱的%s朋友,你好,你现在进入的商品信息修改功能:\n",currentUser>;printf<"请输入要修改的商品编号:">;scanf<"%d",&productId>;//将从键盘接收到的商品编号赋值给变量productIdtmpProduct=pProductHead;if<NULL==tmpProduct>return;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>;printf<"下面请对照修改该商品的相应信息:\n">;printf<"新的商品名称:">;scanf<"%s",tmpProduct->productName>;printf<"新的商品型号:">;scanf<"%s",tmpProduct->productType>;printf<"新的商品厂家:">;scanf<"%s",tmpProduct->productCompany>;printf<"新的商品价格:">;scanf<"%f",&tmpProduct->productPrice>;printf<"新的商品数量:">;scanf<"%d",&tmpProduct->productCount>;printf<"新的商品附加信息:">;scanf<"%s",tmpProduct->memo>;printf<"商品信息修改成功!\n">; system<"pause">;break;}tmpProduct=tmpProduct->next;}};//商品删除voidDeleteProduct<>{intproductId=0;Products*tmpProductA,*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<tmpProductB==pProductHead&&tmpProductB->next==NULL>{//如果系统只有一条商品信息free<pProductHead>;pProductHead=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<"对不起,不存在该商品编号的信息!">;};//商品查询voidProductFind<>{Products*tmpProduct;intfindWay,productId;charproductName[20]; printf<"亲爱的%s朋友,你好,你现在进入的商品查询功能:\n",currentUser>;printf<"请选择查询方式:1--按商品编号查询2--按商品名称查询:">;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>; system<"pause">;return;}tmpProduct=tmpProduct->next;}printf<"对不起,不存在该商品编号的商品!\n">; system<"pause">;case2:printf<"请输入查询的商品名称:">;scanf<"%s",productName>;//输入要查询的商品名称while<NULL!=tmpProduct>{if<0==strcmp<tmpProduct->productName,productName>>{//若输入查询的商品名称与文件中的一致,则输出商品信息printf<"你要查询的商品名称为%s的商品信息如下:\n",productName>;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>; system<"pause">;return;}tmpProduct=tmpProduct->next;}printf<"对不起,不存在该商品编号的商品!\n">; system<"pause">;default:break;}}四、调试过程〔1.测试数据设计2.测试结果分析初始化用户名与密码管理员:adminadmin店长:bossboss销售员:sellsell〔一主界面〔二以管理员方式登陆系统,输入正确的用户账号admin和密码admin若登陆名或密码错误,则提示用户不存在登陆成功,进入管理员界面选择"〔1自身密码修改",修改管理员密码选择"〔2用户信息管理",进行用户的增、删、改、查功能选择"用户信息查看",查看当前用户信息选择"用户信息添加",添加用户信息选择"用户信息删除",删除用户返回管理员界面,选择"〔3商品信息管理",进行商品的增、删、改、查功能。选择"用户信息查看",查看当前商品信息。选择"商品信息查找",根据商品编号及商品名称进行查找。首先,选择"按商品编号查询",若查询的编号存在,则显示查询的信息若查询的商品编号不存在,则提示信息"对不起,不存在该商品编号的商品"选择"按商品名称查询",输入正确的商品名称,显示查询信息若查询的商品名称不存在,则提示信息"对不起,不存在该商品编号的商品"选择"商品信息添加",添加商品信息选择"商品信息修改",修改商品信息选择"商品信息删除",删除商品返回管理员界面,选择"商品报表显示",进行销售报表功能选择"所有商品销售情况",显示商品信息选择"商品日销售报表",查看符合条件的销售商品若查询的信息不符合条件,则显示没有符合条件的记录选择"商品月销售报表",查看符合条件的销售商品选择"销售员销售报表",查看符合条件的销售商品〔三以店长方式登录系统选择"自身密码修改",修改店长密码店长其他功能〔商品信息管理,销售报表显示与管理员类似。〔四以销售员登陆系统选择"商品销售"功能,进行产品销售若销售产品大于库存,则提示销售失败。销售员商品浏览、查询、及报表查看功能与管理员功能类似五、总结1.设计中遇到的问题及解决过程2.设计中产生的错误及原因分析3.设计体会和收获。六、附录1、原代码#include<stdio.h>//标准输入输出函数#include<windows.h>//Windows头文件#include<time.h>//日期和时间头文件#defineADMIN_USER_TYPE1#defineBOSS_USER_TYPE2#defineSELL_USER_TYPE3#defineFUNCTION_FAILED-1#defineFUNCTION_SUCCESS0//如果函数成功执行,将返回0/**系统用户结构**/typedefstructSystemUser{charuserName[20];//用户名,主键charpassword[20];//用户密码intuserType;//用户类型<1:管理员;2:店长;3:销售员>structSystemUser*next;//指向下一个用户的指针}SystemUser;/**服装商品信息**/typedefstructProducts{intproductId;//商品编号,主键charproductName[20];//商品名称charproductType[20];//商品型号charproductCompany[20];//商品厂家floatproductPrice;//商品价格intproductCount;//商品数量charmemo[50];//商品附加信息structProducts*next;//指向下一个商品的指针}Products;/**销售记录信息结构**/typedefstructSellInfoRecord{intsaleId;//销售编号,主键charuserName[20];//销售商品的用户名intproductId;//销售的商品编号intsellCount;//销售数量intyear;//销售商品年份intmonth;//销售商品月份intday;//销售商品日期charmemo[50];//销售的附加信息structSellInfoRecord*next;//下一条销售记录}SellInfoRecord;staticcharcurrentUser[20];//系统全局变量,保存当前登陆用户名;staticintcurrentUserType;//系统全局变量,保存当前登陆用户的用户类型staticSystemUser*pSystemUserHead=NULL;//保存系统用户信息记录的头指针staticProducts*pProductHead=NULL;//保存系统商品信息记录的头指针staticSellInfoRecord*pSellInfoHead=NULL;//保存系统销售记录的头指针voidInitSystem<>;//对系统用户信息和商品信息进行初始化intAddUser<SystemUser*>;//向用户信息链表中加入用户信息intAddProduct<Products*pPro>;//向商品信息链表中加入商品信息intAddSellInfo<SellInfoRecord*>;voidUserExit<>;voidWelcomeMenu<>;//系统欢迎菜单voidSystemLogin<>;//系统登陆voidAdminOperationMenu<>;//系统管理员操作菜单voidBossOperationMenu<>;//店长操作菜单voidSellOperationMenu<>;//销售员操作菜单voidChangePassword<>;//修改密码voidUserManage<>;//用户信息管理voidUserInfoView<>;//用户信息查看voidUserInfoAdd<>;//用户信息添加voidUserInfoModify<>;//用户信息修改voidUserInfoDelete<>;//用户信息删除voidProductsManage<>;//产品信息管理voidProductsView<>;//商品查看voidProductFind<>;voidInputAndAddProduct<>;//输入商品信息并添加voidModifyProduct<>;//修改商品信息voidDeleteProduct<>;//删除商品信息voidProductsSell<>;//商品销售voidReportPrint<>;//报表显示voidShowAllSellReport<>;//显示所有商品销售情况voidShowDaySellReport<>;//显示某日的销售情况voidShowMonthSellReport<>;//显示某月的销售情况voidShowEmployeeSellReport<>;//显示某个销售员的销售情况voidExitSystem<>;//退出登陆系统floatgetPriceById<int>;//通过商品编号查询商品价格intgetProductNameById<int,char*>;//通过商品编号查询商品名称intgetCountById<int>;//通过商品编号查询商品库存数量voidReduceProductCount<int,int>;//通过商品编号减少商品数量/**对系统进行初始化,建立用户记录和商品记录**/voidInitSystem<>{ FILE*fp;SystemUseradminUser,bossUser,sellUser;//管理员,店长,销售员三个角色信息Productsproducts[2];//初始化两件服装商品信息SellInfoRecordsellInfo[2];//初始化两条销售记录 //管理员strcpy<adminUser.userName,"admin">;strcpy<adminUser.password,"admin">;adminUser.userType=ADMIN_USER_TYPE;adminUser.next=NULL; fp=fopen<"Admin.txt","w">; fprintf<fp,"%s\t%s",adminUser.userName,adminUser.password>; fclose<fp>; //店长strcpy<bossUser.userName,"boss">;strcpy<bossUser.password,"boss">;bossUser.userType=BOSS_USER_TYPE;bossUser.next=NULL; fp=fopen<"Shopkeeper.txt","w">; fprintf<fp,"%s\t%s",bossUser.userName,bossUser.password>; fclose<fp>; //销售员strcpy<sellUser.userName,"sell">;strcpy<sellUser.password,"sell">;sellUser.userType=SELL_USER_TYPE;sellUser.next=NULL; fp=fopen<"Seller.txt","w">; fprintf<fp,"%s\t%s",sellUser.userName,sellUser.password>; fclose<fp>;AddUser<&adminUser>;AddUser<&bossUser>;AddUser<&sellUser>;//products[0].productId=1;strcpy<products[0].productName,"精品男装">;strcpy<products[0].productType,"m001">;strcpy<products[0].productCompany,"精品服装制造厂">;products[0].productPrice=23.5;products[0].productCount=100;strcpy<products[0].memo,"精品男装,您的第一选择">;products[0].next=NULL;//products[1].productId=2;strcpy<products[1].productName,"时尚女装">;strcpy<products[1].productType,"w002">;strcpy<products[1].productCompany,"时尚服装制造厂">;products[1].productPrice=25.5;products[1].productCount=150;strcpy<products[1].memo,"时尚女装,您的第一选择">;products[1].next=NULL;AddProduct<&products[0]>;AddProduct<&products[1]>;sellInfo[0].day=16;strcpy<sellInfo[0].memo,"测试数据1">;sellInfo[0].month=7;sellInfo[0].next=NULL;sellInfo[0].productId=1;sellInfo[0].sellCount=8;strcpy<sellInfo[0].userName,"sell">;sellInfo[0].year=2008;sellInfo[1].day=17;strcpy<sellInfo[1].memo,"测试数据2">;sellInfo[1].month=7;sellInfo[1].next=NULL;sellInfo[1].productId=2;sellInfo[1].sellCount=5;strcpy<sellInfo[1].userName,"sell">;sellInfo[1].year=2008;AddSellInfo<&sellInfo[0]>;AddSellInfo<&sellInfo[1]>;};/**函数功能:向系统用户信息链表中加入用户信息**/intAddUser<SystemUser*pUser>{SystemUser*pSystemUser,*tempSystemUser;tempSystemUser=pSystemUserHead;while<NULL!=tempSystemUser>{if<0==strcmp<tempSystemUser->userName,pUser->userName>>{printf<"对不起,你要添加的用户已经存在">;returnFUNCTION_FAILED;}tempSystemUser=tempSystemUser->next;}pSystemUser=<SystemUser*>malloc<sizeof<SystemUser>>;//在堆空间中分配用户信息的内存if<NULL==pSystemUser>{printf<"分配用户信息内存时发生错误">;returnFUNCTION_FAILED;}strcpy<pSystemUser->userName,pUser->userName>;//拷贝用户信息到堆空间中strcpy<pSystemUser->password,pUser->password>;pSystemUser->userType=pUser->userType;pSystemUser->next=pUser->next;tempSystemUser=pSystemUserHead;if<NULL==tempSystemUser>{pSystemUserHead=pSystemUser;}else{while<NULL!=tempSystemUser->next>//遍历到用户信息的最后一条记录tempSystemUser=tempSystemUser->next;tempSystemUser->next=pSystemUser;//将用户信息加入到链表的最后}returnFUNCTION_SUCCESS;};/**函数功能:向商品信息链表中加入商品信息**/intAddProduct<Products*pPro>{intnewProductId=1;//新加入商品的商品编号从1开始Products*tempProduct,*pProduct;tempProduct=pProductHead;//生成编号,最后一件商品编号+1while<NULL!=tempProduct>{newProductId=tempProduct->productId+1;tempProduct=tempProduct->next;}pProduct=<Products*>malloc<sizeof<Products>>;if<NULL==pProduct>{printf<"对不器,添加商品信息时,堆内存分配失败!">;returnFUNCTION_FAILED;}pProduct->productId=newProductId;//拷贝商品信息strcpy<pProduct->productName,pPro->productName>;strcpy<pProduct->productType,pPro->productType>;strcpy<pProduct->productCompany,pPro->productCompany>;pProduct->productPrice=pPro->productPrice;pProduct->productCount=pPro->productCount;strcpy<pProduct->memo,pPro->memo>;pProduct->next=pPro->next;tempProduct=pProductHead;//将商品信息加入到商品信息链表最后if<NULL==tempProduct>{pProductHead=pProduct;}else{while<NULL!=tempProduct->next>tempProduct=tempProduct->next;tempProduct->next=pProduct;}returnFUNCTION_SUCCESS;};/**函数功能:向系统销售信息链表中加入销售信息**/intAddSellInfo<SellInfoRecord*pSellInfo>{intnewSellInfoId=1;//新加入销售记录的编号从1开始SellInfoRecord*tmpSellInfo,*pSellInfoRecord;tmpSellInfo=pSellInfoHead;//生成编号,最后一个销售编号+1while<NULL!=tmpSellInfo>{newSellInfoId=tmpSellInfo->saleId+1;tmpSellInfo=tmpSellInfo->next;}pSellInfoRecord=<SellInfoRecord*>malloc<sizeof<SellInfoRecord>>;if<NULL==pSellInfoRecord>{printf<"对不起,添加销售记录信息时,堆内存分配失败!">;returnFUNCTION_FAILED;}pSellInfoRecord->saleId=newSellInfoId;pSellInfoRecord->day=pSellInfo->day;strcpy<pSellInfoRecord->memo,pSellInfo->memo>;pSellInfoRecord->month=pSellInfo->month;pSellInfoRecord->next=pSellInfo->next;pSellInfoRecord->productId=pSellInfo->productId;pSellInfoRecord->sellCount=pSellInfo->sellCount;strcpy<pSellInfoRecord->userName,pSellInfo->userName>;pSellInfoRecord->year=pSellInfo->year; tmpSellInfo=pSellInfoHead;//将销售信息加入到销售记录信息链表最后if<NULL==tmpSellInfo>{pSellInfoHead=pSellInfoRecord;}else{while<NULL!=tmpSellInfo->next>tmpSellInfo=tmpSellInfo->next;tmpSellInfo->next=pSellInfoRecord;}returnFUNCTION_SUCCESS;};/*系统登陆函数*/voidSystemLogin<>{charuserName[20],password[20];intisLogin=0;SystemUser*tmpUser;printf<"请输入你的系统用户帐号:">;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>{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<>;}}//欢迎界面voidWelcomeMenu<>{printf<"********************欢迎光临服装销售管理系统********************\n">;printf<"系统功能说明:\n">;printf<"管理员功能:\n">;printf<"<1>自身密码修改\n">;printf<"<2>用户信息管理:添加,修改,删除,查询\n">;printf<"<3>商品信息管理:添加,修改,查询,删除\n">;printf<"<4>销售报表显示:日销售报表,月销售报表,销售员销售报表\n">;printf<"<5>返回主界面\n">; printf<"<6>退出系统\n">;printf<"店长功能:\n">;printf<"<1>自身密码修改\n">;printf<"<2>商品信息管理:添加,修改,查询,删除\n">; printf<"<3>销售报表显示:日销售报表,月销售报表,销售员销售报\n">;printf<"<4>返回主界面\n">; printf<"<5>退出系统\n">;printf<"销售员功能:\n">;printf<"<1>商品浏览,查询,商品销售\n">;printf<"<2>自己商品销售报表显示:日销售报表,月销售报表\n">;printf<"<3>返回主界面\n">; printf<"<4>退出系统\n">;printf<"*************************欢迎使用本系统**************************\n">;};//管理员界面voidAdminOperationMenu<>{intselect;while<1>{ system<"cls">;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:ChangePassword<>;continue;case2:UserManage<>;continue;case3:ProductsManage<>;continue;case4:ReportPrint<>;continue; case5:UserExit<>;break; case6:ExitSystem<>;break;default:break;} if<select==5>break;}};//店长界面voidBossOperationMenu<>{intselect;while<1>{ system<"cls">;printf<"亲爱的店长%s同志,欢迎使用本系统,你拥有下面所有功能:\n",currentUser>;printf<"<1>自身密码修改\n">;printf<"<2>商品信息管理:添加,修改,查询,删除\n">;printf<"<3>销售报表显示:日报表,月报表,商品销售量报表,销售员业绩报表\n">;printf<"<4>返回主界面\n">; printf<"<5>退出系统\n">;printf<"请输入上面功能对应的序号进行功能选择:">;scanf<"%d",&select>;switch<select>{case1:ChangePassword<>;continue;case2:ProductsManage<>;continue;case3:ReportPrint<>;continue;case4:UserExit<>;break; case5:ExitSystem<>;break;default:break;} if<select==4>break;}};//销售员界面voidSellOperationMenu<>{intselect;while<1>{ system<"cls">;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:ProductsView<>;continue;case2:ProductFind<>;continue;case3:ProductsSell<>;continue;case4:ReportPrint<>;continue;case5:UserExit<>;break; case6:ExitSystem<>;break;default:break;} if<select==5>break;}};//更改密码voidChangePassword<>{charnewPassword1[20],newPassword2[20];SystemUser*tmpUser; printf<"*********************************************************\n">;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">; system<"pause">;break;}tmpUser=tmpUser->next;}};//用户信息管理功能voidUserManage<>{intselect;while<1>{ system<"cls">;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;}}};//商品信息查看voidProductsView<>{Products*tmpProduct;inti;i=1;tmpProduct=pProductHead;if<NULL==tmpProduct>printf<"对不起,目前还没有商品信息">;else{while<NULL!=tmpProduct>{ printf<"*********************************************************\n">;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++;} system<"pause">;}};//产品销售功能voidProductsSell<>{SellInfoRecordsellInfo; printf<"*********************************************************\n">;printf<"亲爱的销售员朋友%s,你好,你现在进入的是产品的销售功能:\n",currentUser>;printf<"请依次输入以下销售信息:\n">;printf<"销售的产品编号:">;scanf<"%d",&sellIductId>;printf<"销售的产品数量:">;scanf<"%d",&sellInfo.sellCount>;if<sellInfo.sellCount>getCountById<sellIductId>>{printf<"对不起,你输入的销售数量大于库存,销售失败!\n">;system<"pause">; return; }strcpy<sellInfo.userName,currentUser>;printf<"销售商品所在年份:">;scanf<"%d",&sellInfo.year>;printf<"销售商所在月份:">;scanf<"%d",&sellInfo.month>;printf<"销售商品所在号数:">;scanf<"%d",&sellInfo.day>;printf<"销售商品的附加信息:">;scanf<"%s",sellInfo.memo>;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论