版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书学 院、系:专 业:学生姓名:学号:设计题目:商品订购系统设计起迄 日期:2017年4月24日-2017年5月12日指导教师:日期:2017年5月12日精选word1设计目的1) 进一步巩固和复习 C程序设计的基础知识;2)培养自己结构化程序、模块化程序设计的方法和能力;3) 了解软件的编制过程及各环节的具体内容;4)提高自己程序调试技巧、软件设计能力和代码规范化等素质;5) 提高自己分析问题、解决问题以及实际运用能力。2任务概述屏幕上出现选择界面,管理员和顾客进行权限选择进入。1)顾客具备的功能:让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品
2、,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号-列出对应商品的信息-要求顾客输入邮寄地址信息-确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。2)管理员具备的功能:录入、修改、删除商品。3)建立两个文件,分别存放商品信息与订购信息。3模块划分商品订购系统设计有如下功能,功能模块图如图3.1所示商品订购系统设计订 购 商 品精选word图3.1功能模块图4主要函数说明及其N-S图输入afor i=0 to 10输出r=r+1程序退出c3=27B4.2通过商品编号查询假use()buygoods()图4.2通过商品编号
3、查询精选word打开文件输出信息程序错误精选word图4.3输出所有商品信息char ch120= "12345char ch210输入ch2admin()menu_main()图4.4输入管理员密码图4.5购买商品5程序运行数据及其结果主界面过程截图如图5.5所示图5.1主界面购买商品过程截图如图5.4所示添加商品(过程)过程截图如图 5.2所示寿曲大御马12W4E* 加 枇* 铝)£* . 3Mufc * 九7: *+小二4 * *九*+4本* * * Qt* jH: *+*+率”*率/*吐*平1斗*半月* E=*冲*协*噂员系统精选word商品枷成功!半*.¥
4、;*Fir率*中*r*f.半1"目宁平冲*事*斗牛*半t北+»+. aMcjt *+«+* *年 *金管理员系统¥ 荒 白苗一白 二上一 m-=j.T- 切除诙国 春熠3 L 2 口打工.济"值原1清输入添加的产品信息;JSl:生产商也根 罂号库存裁量订购也宣 项5666飞抵至50 a图5.2添加商品(过程)添加商品(结果)过程截图如图5.3所示匚:1U se rsCi rde'Des kto pl B-eeT眸胪钓 IF啰,桌杯却 1 2 -J 4 - - O53S: s. nn宾五版3 IE, 00些言但或型Mb i 旦 QU201
5、7后李冢居:8. 00470ml53EE.00飞行堡壁5666. ID一.朗万百?可 u O -n 1010 公社。5 口, 1. loo"& O 5FtoceP ?sritel 肃tirt ,二5 =:e -nnls *tT. Tet'jm 0 谙按任意犍题续一图5.3添加商品(结果)* C;Us e r sCircl eD es ktop 18. exe就是你订购的商品:3手表 请按任意键选购,1 iPhone?2磐字典5杯手蛀式怛动型 取消椀S332GB蛙式建 2017ft 170ml545鸵舞居,00方力士5388.00318. 00545S8. 0088.
6、0053密。Q10 o_击士惠 国文力家百 宜特果公司 版社101010100100000请新久您想订购商品的编号(请丁福人不存在的编号):就是你新购买的商品二4桌子ZU1T夏季家居38.00100还剩10件,请输入您的订购数量:史北大学达的地址是冲北大学认请按任意键,重输请按ESC图5.4购买商品删除商品过程截图如图5.5所示C:Use rsCir deDe s Ido p 1 日走 xe7典ne字ho文子子1P量杯L 2 4 532GB第五坂2017夏季家居470ml5388. 00318. 0038. 005388. 00恚国平果公司w0国文出版柱W 0宜家 100特百惠 100Proc
7、ess exited after 73, 49 seconds with return value 0请按任意键继绥,. ,图5.5删除商品6课程设计心得首先得感谢同学对我的帮助。一开始编的时候bug很多,上网找了很多资料,去图书馆也查了不少的书,终于解决了他们。以前写的代码结构混乱,变量命名,函数命名混乱,没有注释,写出来做 程序有时候自己也看不懂。在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认 识,必须注意程序前后的联系,要做到高内聚,低耦合,要具有清晰的思路,要提前画好完善的流程 图程序要具有层次。对整体性的把握至关重要,学习计算机语言最重要的就是上机操作,多实践,才
8、能发现自己的不足。在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总 结出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实基础。附录:程序源代码#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>/* 商品信息 */struct goodsint code;/编号char name20;/商品名char company20; /生产公司名double price;/价格char model20;/型号
9、int save;/库存数量int sell;/订购数量infor100=1,"iPhone7"," 美国苹果公司 ",5388,"32GB",10,0,2," 朗文字典 ","朗文出版社 ",318,"第五版",10,0,3," 手表 ","劳力士 ",54588,"蚝式恒动型",10,0,4," 桌子 ","宜家 ",88,"2017夏季家居 ",10,
10、0,5," 杯子","特百惠 ",5388,"470ml",10,0;/* 订购信息 */struct orderint code;/编号char name20;/商品名char company20; /生产公司名double price;/价格char model20;/型号int number;/订购数量char address20;/地址buy5;int j,r=5;/用于比较的全局变量int Last;/订购后剩余的库存char address41;/订购地址void menu_main();/主菜单画面void use();
11、/普通用户画面void key();/ 输入密码void admin();/管理员画面void buyfile();/建立订购文件void goodsname();/通过商品名查询void goodscode();/通过编号查询void buygoods();/购买商品void addaddress();/添加地址void add();/ 管理员添加商品void del();/管理员删除商品void change();/管理员修改商品void outputall();/输出所有商品void writebuyfile();/ 写入订购信息/ 主函数int main()int Ordernum;/
12、 订购数量/ 建立商品信息文件FILE *fp;int i;最高机密 .txt","wb")=NULL)printf("cannot open filen");return;for(i=0;i<5;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1)printf("file write errorn");精选 wordfclose(fp);buyfile();menu_main();/ 主菜单void menu_main()int n;n");pri
13、ntf("printf("tttt*n");printf("tttt 商品订购系统n");printf("tttt*请选择*n");printf("tttt*1.普通用户*n");printf("tttt*2.管理员*n");printf("tttt*3.退出系统*n");printf("tttt*请输入你的选择: *n");printf("tttt*n");printf("n");printf("
14、;tttt 1614010315 赵元萱 n");printf("tttt");scanf("%d",&n);system("cls");switch(n)case 1:use();break; / 选择普通用户case 2:key();break; /选择管理员case 3:system("cls");printf("nnnnnnnn");printf(" 感谢使用本系统! ");exit(0);/ 输入密码函数void key()char ch1=&qu
15、ot;12345"char ch210;printf("tttt 请输入 n");printf("n");printf("tttt 请输入密码: ");scanf("%s",ch2);if(strcmp(ch1,ch2)!=0)printf(" 密码错误! ");system("cls");menu_main();elseadmin();/ 创建购买文件函数void buyfile()FILE *fp;int i;订购 .txt","wb&quo
16、t;)=NULL)printf("cannot open filen");return;for(i=0;i<5;i+)if(fwrite (&buyi,sizeof(struct order),1,fp)!=1)printf("file write errorn");fclose(fp); / 用户函数void use()int n;printf("tttt*n");printf("tttt用户系统n");printf("tttt请选择n");An");精选word1 .
17、输入商品名查询2 .输入编号查询3 .输出所有商品的信息4 .返回上级菜单,*scanf("%d",&n);system("cls");switch(n)case 1 :goodsname();break;case 2:goodscode();break;case 3:outputall();break;case 4:menu_main();break;)/管理员函数void admin()int n;,*,*n");管理员系统n");请选择An");printf("tttt1.添加信息 n");
18、printf("tttt2.删除信息 n");printf("tttt3.修改信息 n");printf("tttt4.返回上级菜单 rT);scanf("%d",&n);switch(n)case 1:add();break;case 2:del();break;case 3:change();break;case 4:system("cls");menu_main();break;精选 word/ 输入商品名查询void goodsname()int i,k=0;/k 是比较的结果i 控制循环
19、char str24,c3;FILE *fp;最高机密 .txt","r");printf("n 请输入你要查找的名称:");scanf("%s",&str);printf("n 您所查找的 %sn",str);for(i=0;i<r;i+)fread(&infori,sizeof(struct goods),1,fp);k=strcmp(,str);if (k=0)printf("%4d %-10s %-12s %9.2f %-5s %5d %4dn
20、",infori.code,,infori.model,infori.price,info pany,infori.save,infori.sell);r=r+1;fclose(fp);if(r!=0)printf(" 请按任意键选购,取消或产品不存在按ESC: n");char c3=getch();if(c3=27)printf("n");printf("n");system("cls");use();elsebuygoods();/ 输入编号查询void goods
21、code()int i,r=0;int a; / 输入的编号FILE *fp;最高机密 .txt","r");printf(" 请输入要查找的商品编号(请勿输入不存在的编号 ): nn");scanf("%d",&a);printf(" 您查找的是%dnn",a);for(i=0;i<5;i+)fread(&infori,sizeof(struct goods),1,fp);if(infori.code=a)printf(" 这就是你订购的商品 : nn");pr
22、intf("%4d %-10s %-12s %9.2f %-5s %5d %4dn",infori.code,,infori.model,infori.price,pany,infori.save,infori.sell);r+;fclose(fp);if(r!=0)printf(" 请按任意键选购,取消按ESC: n");char c3=getch();if(c3=27)printf("n");printf("n");system("cls");use
23、();elsebuygoods();/ 输入编号订购void buygoods()int i,r=0;int a;char ch;FILE*fp;fp=fopen(" 最高机密 .txt","rb");outputall();printf("n 请输入您想订购商品的编号(请勿输入不存在的编号):nn");scanf("%d",&a);for(i=0;i<r;i+)fread(&infori,sizeof(struct goods),1,fp);if(infori.code=a)printf(&
24、quot; 这就是你新购买的商品 : nn");printf("%4d %-15s %-12s %9.2ft%-5s %5d %4dnn",infori.code,,infori.model,infori.price,pany,infori.save,inf ori.sell);r=r+1;Ordernum=i;j=i;break;fclose(fp);Last=infora.save-infora.sell;if(Last!=0):nn",Last);printf(" 还剩 %d 件,请输入您的订购数
25、量精选 wordscanf("%d",&buyj.number);if(buyj.number>=0 && buyj.number<=(inforOrdernum.save-inforOrdernum.sell) addaddress();elseprintf(" 您填写的数量有误,请重新购买 nn");use();/ 添加地址函数void addaddress()char ch;printf(" 请输入邮寄地址: nn");scanf("%s",&address);pr
26、intf(" 您的地址是:%snn",address);printf(" 确认请按任意键,重输请按ESCnn");ch=getch();printf("n");if (ch!=27)printf(" 您已成功订购!谢谢使用! nn");void writebuyfile();use();void add()int i;printf(" 请输入添加的产品信息: n");printf(" 编号 名字 生产商 价格 型号 库存数量 订购数量 n");scanf("%d %
27、s %s %lf %s %d %d",&inforr.code,,pany,&inforr.price,inforr.model ,&inforr.save,&inforr.sell);r+;FILE *fp;精选 word最高机密 .txt","wb")=NULL)printf("cannot open filen");return;for(i=0;i<r;i+)if(fwrite (&infori,sizeof(struct goods),1,
28、fp)!=1)printf("file write errorn");printf(" 商品添加成功! n");fclose(fp);admin();void del()system("cls");int i,j;printf(" 请输入删除的商品名: n");scanf("%d",&j);for(i=0;i<r;i+)if(infori.code=j)infori.code=0;FILE *fp;最高机密 .txt","wb")=NULL)print
29、f("cannot open filen");return;for(i=0;i<r;i+)if(infori.code!=0)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1) printf("file write errorn");printf(" 商品删除成功! ");fclose(fp);admin();void change()system("cls");char ch;char company20,model100;int i,j,code,p
30、rice,save,sell;printf(" 请输入要修改的产品编号: n");scanf("%d",&j);for(i=0;i<r;i+)if(infori.code=j)printf(" 商品编号 :%dn 商品名称 :%sn 生产商 :%sn 商品单价 :%dn 商品型号 :%sn 库存数量 :%dn 已经订购数量:%dn",infori.code,,pany,infori.price,infori.model,infori.save,infori.sell);print
31、f(" 请输入您想修改的商品的一条信息: (1.生产商2.价格3.型号4.库存5.已经订购数量)n");getchar();scanf("%c",&ch);switch(ch)case'1':printf("请输入商品生产商:");scanf("%s",&company);strcpy(pany,company);break;case'2':printf("请输入商品单价:"力scanf("%d",&
32、price);infori.price=price;break;case'3':printf("请输入商品型号:");getchar();scanf("%s",&model);strcpy(infori.model,model);break;case'4':printf("请输入商品库存:");getchar();scanf("%d",&save);infori.save=save;break;case'5':printf("请输入商品已经订购数量:"力scanf("%d",&sell);infori.sell=sell;break;精选 wordFILE*fp;最高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班组安全生产标准化培训
- 安全监察部驻控制部安全监察专责安全责任制培训
- 财务代记账协议书
- 货款付款担保协议书
- 货车卸货协议书
- 购买宠物购买协议书
- 这亲属帮教协议书
- 2025年锅炉房管理人员职责与安全管理实务培训
- 2025年班长安全生产岗位责任制培训
- 胫后血管损伤护理查房
- 泰山教育联盟2026届高三年级4月考试模拟 政治试题(含答案)
- 2026年成都市新都区街道办人员招聘笔试模拟试题及答案解析
- 2026届广东省惠州市高三下学期模拟考试历史试题(含答案)
- 2026年贪污贿赂司法解释(二)学习与解读课件
- 2026年上半年广东广州开发区黄埔区招聘事业单位18人备考题库含答案详解(典型题)
- 山西临汾市第一中学校2025-2026学年高一下学期第一次月考语文试题(含答案)(含解析)
- 第六章短期经营决策2
- 迈瑞天地人血培养基础介绍
- 2022年江苏省苏豪控股集团有限公司招聘笔试题库及答案解析
- 支架预压观测记录表
- 市政工程监理资料管理标准(试行)
评论
0/150
提交评论