-1-课程设计说明书学院、系:专业:学生姓名:学号:设计题目:商品订购系统设计起迄日期:2017年4月24日-2017年5月12日指导教师:日期:2017年5月12日-2-1设计目的1)进一步巩固和复习C程序设计的基础知识;2)培养自己结构化程序、模块化程序设计的方法和能力;3)了解软件的编制过程及各环节的具体内容;4)提高自己程序调试技巧、软件设计能力和代码规范化等素质;5)提高自己分析问题、解决问题以及实际运用能力。2任务概述屏幕上出现选择界面,管理员和顾客进行权限选择进入。1)顾客具备的功能:让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号-列出对应商品的信息-要求顾客输入邮寄地址信息-确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。2)管理员具备的功能:录入、修改、删除商品。3)建立两个文件,分别存放商品信息与订购信息。3模块划分商品订购系统设计有如下功能,功能模块图如图3.1所示商品订购系统设计普通用户管理员添加商品删除商品修改商品商品名查询编号查询输出所有信息订购商品图图3.1功能模块图-3-4主要函数说明及其N-S图voidgoodsname();//通过商品名查询图4.1通过商品名查询图4.1通过商品名查询图4.2通过商品编号查询图4.2通过商品编号查询输入strfori=0to10strcmp(infor[i].name.str)真假输出r=r+1报错c3==27真假use()buygoods()输入afori=0to10infor[i].code==a真假输出r=r+1程序退出c3==27真假use()buygoods()-4-图4.3输出所有商品信息图4.4输入管理员密码打开文件infor[i].code!=0真假输出信息程序错误charch1[20]=”12345charch2[10]输入ch2strcmp(ch1,ch2)!=0真假menu_main()admin()-5-图4.5购买商品5程序运行数据及其结果主界面过程截图如图5.5所示图5.1主界面outputall()fori=0torinfor[i].code==a真假r=r+1Ordernum=I程序退出j=iif[Last!=0]真假输入的数量有效真假程序退出addaddress()use()-6-添加商品(过程)过程截图如图5.2所示图5.2添加商品(过程)添加商品(结果)过程截图如图5.3所示图5.3添加商品(结果)-7-购买商品过程截图如图5.4所示图5.4购买商品-8-删除商品过程截图如图5.5所示图5.5删除商品6课程设计心得首先得感谢同学对我的帮助。一开始编的时候bug很多,上网找了很多资料,去图书馆也查了不少的书,终于解决了他们。以前写的代码结构混乱,变量命名,函数命名混乱,没有注释,写出来做程序有时候自己也看不懂。在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认识,必须注意程序前后的联系,要做到高内聚,低耦合,要具有清晰的思路,要提前画好完善的流程图程序要具有层次。对整体性的把握至关重要,学习计算机语言最重要的就是上机操作,多实践,才能发现自己的不足。在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总结出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实基础。-9-附录:程序源代码#includestdio.h#includestdlib.h#includeconio.h#includestring.h/*商品信息*/structgoods{intcode;//编号charname[20];//商品名charcompany[20];//生产公司名doubleprice;//价格charmodel[20];//型号intsave;//库存数量intsell;//订购数量}infor[100]={{1,iPhone7,美国苹果公司,5388,32GB,10,0},{2,朗文字典,朗文出版社,318,第五版,10,0},{3,手表,劳力士,54588,蚝式恒动型,10,0},{4,桌子,宜家,88,2017夏季家居,10,0},{5,杯子,特百惠,5388,470ml,10,0}};/*订购信息*/structorder{intcode;//编号charname[20];//商品名charcompany[20];//生产公司名doubleprice;//价格charmodel[20];//型号intnumber;//订购数量charaddress[20];//地址-10-}buy[5];intOrdernum;//订购数量intj,r=5;//用于比较的全局变量intLast;//订购后剩余的库存charaddress[41];//订购地址voidmenu_main();//主菜单画面voiduse();//普通用户画面voidkey();//输入密码voidadmin();//管理员画面voidbuyfile();//建立订购文件voidgoodsname();//通过商品名查询voidgoodscode();//通过编号查询voidbuygoods();//购买商品voidaddaddress();//添加地址voidadd();//管理员添加商品voiddel();//管理员删除商品voidchange();//管理员修改商品voidoutputall();//输出所有商品voidwritebuyfile();//写入订购信息//主函数intmain(){//建立商品信息文件FILE*fp;inti;if((fp=fopen(C:\\Users\\Circle\\Desktop\\最高机密.txt,wb))==NULL){printf(cannotopenfile\n);return;}for(i=0;i5;i++)-11-if(fwrite(&infor[i],sizeof(structgoods),1,fp)!=1)printf(filewriteerror\n);fclose(fp);buyfile();menu_main();}//主菜单voidmenu_main(){intn;printf(\n);printf(\t\t\t\t***************************************************\n);printf(\t\t\t\t------------------商品订购系统---------------------\n);printf(\t\t\t\t*请选择*\n);printf(\t\t\t\t*1.普通用户*\n);printf(\t\t\t\t*2.管理员*\n);printf(\t\t\t\t*3.退出系统*\n);printf(\t\t\t\t*请输入你的选择:*\n);printf(\t\t\t\t***************************************************\n);printf(\n);printf(\t\t\t\t1614010315赵元萱\n);printf(\t\t\t\t);scanf(%d,&n);system(cls);switch(n){case1:use();break;//选择普通用户case2:key();break;//选择管理员case3:system(cls);printf(\n\n\n\n\n\n\n\n);printf(感谢使用本系统!);exit(0);-12-}}//输入密码函数voidkey(){charch1[]=12345;charch2[10];printf(\t\t\t\t---------------------请输入-------------------------\n);printf(\n);printf(\t\t\t\t请输入密码:);scanf(%s,ch2);if(strcmp(ch1,ch2)!=0){printf(密码错误!);system(cls);menu_main();}else{admin();}}//创建购买文件函数voidbuyfile(){FILE*fp;inti;if((fp=fopen(C:\\Users\\Circle\\Desktop\\订购.txt,wb))==NULL){printf(cannotopenfile\n);return;}for(i=0;i5;i++)if(fwrite(&buy[i],sizeof(structorder),1,fp)!=1)printf(filewriteerror\n);-13-fclose(fp);}//用户函数voiduse(){intn;printf(\t\t\t\t****************************************************\n);printf(\t\t\t\t---------------------用户系统-----------------------\n);printf(\t\t\t\t请选择\n);printf(\t\t\t\t====================================================\n);printf(\t\t\t\t*1.输入商品名查询*\n);printf(\t\t\t\t*2.输入编号查询*\n);printf(\t\t\t\t*3.输出所有商品的信息*\n);printf(\t\t\t\t*4.返回上级菜单*\n);printf(\t\t\t\t****************************************************\n);scanf(%d,&n);system(cls);switch(n){case1:goodsname();break;case2:goodscode();break;case3:outputall();break;case4:menu_main();break;}}//管理员函数voidadmin(){intn;printf(\t\t\t\t****************************************************\n);printf(\t\t\t\t****************************************************\n);printf(\t\t\t\t--------------------管理员系统----------------------\n);printf(\t\t\t\t请选择\n);-14-printf(\t\t\t\t====================================================\n);printf(\t\t\t\t1.添加信息\n);printf(\t\t\t\t2.删除信息\n);printf(\t\t\t\t3.修改信息\n);printf(\t\t\t\t4.返回上级菜单\n);scanf(%d,&n);switch(n){case1:add();break;case2:del();break;case3:change();break;case4:system(cls);menu_main();break;}}//输入商品名查询voidgoodsname(){inti,k=0;//k是比较的结果i控制循环charstr[24],c3;FILE*fp;fp=fopen(C:\\Users\\Circle\\Desktop\\最高机密.txt,r);printf(\n请输入你要查找的名称:);scanf(%s,&str);printf(\n您所查找