c语言商品订购系统设计_第1页
c语言商品订购系统设计_第2页
c语言商品订购系统设计_第3页
c语言商品订购系统设计_第4页
c语言商品订购系统设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明书学院、系:专业:学学生姓名:号 :设计题目:商品订购系统设计起迄日期:2017年4月24日-2017年5月12日指导教师:日期:2017年5月12日1设计目的1) 进一步巩固和复习 C程序设计的基础知识;2) 培养自己结构化程序、模块化程序设计的方法和能力;3) 了解软件的编制过程及各环节的具体内容;4) 提高自己程序调试技巧、软件设计能力和代码规范化等素质;5) 提高自己分析问题、解决问题以及实际运用能力。2任务概述屏幕上出现选择界面,管理员和顾客进行权限选择进入。1) 顾客具备的功能:让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商

2、品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给岀选购流程:所选商品编号-列岀对应商品的信息-要求顾客输入邮寄地址信息 -确认订购,是否继续选购 其它商品,列岀所有选订商品,再次确认订购。2) 管理员具备的功能:录入、修改、删除商品。3) 建立两个文件,分别存放商品信息与订购信息。3模块划分商品订购系统设计有如下功能,功能模块图如图3.1所示商品订购系统设计订 购 商 品图3.1功能模块图4主要函数说明及其N-S图输入strfor i=0 to 10void goods nam&pmPQ nforna通过商品名查询真I假输出.仁r通过商品名查询报错c3=27真 图4

3、.1通过商品名查询假use()buygoods()输入afor i=0 to 10图4.2通过商品编号查询a真假输岀r=r图4.2通过商品编序退询c3=27真假use()buygoods()打开文件假真输出信息in fori.code!=0图4.3输出所有商品信息程序错误图4.4char ch120= ”2345 char ch210输入管理员密码strcmp(ch1,ch2)!=0真假men u_mai n()adm in()outputall() for i=0 to r 图4.5nf购买商d品=a 真5程序运行数据及其结果Order num=l程序退岀主界面过程截图如图5.5所示if L

4、ast!=0图5.1主界面添加真输入的数量有效商品 (过程)过程截图如衆addaddress() use()5.2所程序退出图5.2添加商品(过程)添加商品(结果)过程截图如图5.3所示图5.3添加商品(结果)购买商品过程截图如图5.4所示图5.4购买商品删除商品过程截图如图5.5所示图5.5删除商品6课程设计心得首先得感谢同学对我的帮助。一开始编的时候bug很多,上网找了很多资料,去图书馆也查了不少的书,终于解决了他们。以前写的代码结构混乱,变量命名,函数命名混乱,没有注释,写岀来做程序有时 候自己也看不懂。在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认识,必须注意 程序前

5、后的联系,要做到高内聚,低耦合,要具有清晰的思路,要提前画好完善的流程图程序要具有层 次。对整体性的把握至关重要,学习计算机语言最重要的就是上机操作,多实践,才能发现自己的不 足。在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总结出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实基础。附录:程序源代码#in elude #i nclude #in clude #in clude /*商品信息*/struct goodsint code;/ 编号char n ame20;/商品名double price;/价格char model20;/型号

6、int save;/库存数量int sell;/订购数量infor100=1,iPhone7,美国苹果公司 ,5388,32GB,10,0,2,朗文字典, 朗文出版社,318, 第五版 ,10,0,3,手表, 劳力士 ,54588, 蚝式恒动型,10,0,4,桌子 , 宜家char company20;/ 生产公司名,88,2017 夏季家居 ,10,0,5, 杯子, 特百惠 ,5388,470ml,10,0;/* 订购信息 */struct orderint code;/编号char name20;/商品名char company20;/生产公司名double price;/价格char m

7、odel20;/型号int number;/ 订购数量char address20;/地址buy5;int Ordernum;/订购数量int j,r=5;/用于比较的全局变量int Last;/订购后剩余的库存char address41;/订购地址void menu_main();/主菜单画面void use();/普通用户画面void key();/输入密码void admin();/管理员画面void buyfile();/建立订购文件void goodsname();/通过商品名查询void goodscode();/通过编号查询void buygoods();/购买商品void a

8、ddaddress();/添加地址/ 管理员删除商品/ 管理员修改商品/ 输出所有商品/ 写入订购信息void del();void change();void outputall();void writebuyfile();/ 主函数int main()/ 建立商品信息文件FILE *fp;int i;最高机密 .txt,wb)=NULL)printf(cannot open filen);return;for(i=0;i5;i+)i f(fwrite (&infori,sizeof(struct goods),1,fp)!=1) printf(file write errorn);f cl

9、ose(fp);buyfile();menu_main();/ 主菜单void menu_main()n);int n;printf(printf(tttt*n);printf(tttt商品订购系统 n);printf(tttt*printf(tttt* 1.请选择*n);普通用户*n);printf(tttt*2.管理员*n);printf(tttt*3.退出系统*n);printf(tttt*请输入你的选择:*n);printf(tttt*n);printf(n);printf(tttt);scanf(%d,&n);system(cls);switch(n)case 1:use();bre

10、ak; /选择普通用户case 2:key();break; /选择管理员case 3:system(cls);printf(nnnnnnnn);printf( 感谢使用本系统! ); exit(0);/ 输入密码函数void key()char ch1=12345;char ch210;n);printf(tttt 请输入printf(n);printf(tttt 请输入密码: ); scanf(%s,ch2);if(strcmp(ch1,ch2)!=0)printf( 密码错误! ); system(cls);menu_main();elseadmin();/ 创建购买文件函数void b

11、uyfile()FILE *fp;int i;订购 .txt,wb)=NULL)printf(cannot open filen);return;for(i=0;i5;i+)i f(fwrite (&buyi,sizeof(struct order),1,fp)!=1)printf(file write errorn);f close(fp);/ 用户函数void use()int n;printf(tttt*n);printf(tttt用户系统 printf(tttts. .:Mx/n x x x x请选择printf(tttt=printf(tttt*1.输入商品名查询printf(ttt

12、t*2.输入编号查询printf(tttt*3.输出所有商品的信息printf(tttt*4.返回上级菜单printf(tttt*n);scanf(%d,&n);system(cls);switch(n)n);n);=n);*n);*n);*n);*n);case 1:goodsname();break;case 2:goodscode();break;case 3:outputall();break;case 4:menu_main();break;/ 管理员函数void admin()int n;printf(tttt*n);printf(tttt*n);printf(tttt管理员系统

13、n);printf(tttt请选择 n);printf(tttt=n);printf(tttt1.添加信息n);printf(tttt2.删除信息n);printf(tttt3.修改信息n);printf(tttt4.返回上级菜单 n);scanf(%d,&n);switch(n)case 1:add();break;case 2:del();break;case 3:change();break;case 4:system(cls);menu_main();break;/ 输入商品名查询void goodsname() int i,k=0;/k 是比较的结果 i 控制循环char str24

14、,c3;FILE *fp;最高机密 .txt,r);printf(n 请输入你要查找的名称 :);scanf(%s,&str);printf(n 您所查找的 %sn,str);for(i=0;ir;i+)f read(&infori,sizeof(struct goods),1,fp); k=strcmp(,str);if (k=0)printf(%4d %-10s %-12s %9.2f %-5s %5d %4dn,infori.code,,infori.mo del,infori.price,pany,infori.save,

15、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();else buygoods();/ 输入编号查询void goodscode()int i,r=0;int a; /输入的编号FILE *fp;最高机密 .txt,r);printf( 请输入要查找的商品编号 (请勿输入不存在的编号 ): nn);scanf(%d,&a);printf( 您查找的是 %dnn,a);for(i=0

16、;i5;i+)f read(&infori,sizeof(struct goods),1,fp);i f(infori.code=a)printf( 这就是你订购的商品 : nn);printf(%4d %-10s %-12s %9.2f %-5s %5d %4dn,infori.code,,infori.mo del,infori.price,pany,infori.save,infori.sell);r+;fclose(fp);if(r!=0)printf( 请按任意键选购,取消按 ESC: n);char c3=getch();if(c3=27)

17、printf(n);printf(n);system(cls);use();elsebuygoods();/ 输入编号订购void buygoods()int i,r=0;int a;char ch;FILE*fp;f p=fopen( 最高机密 .txt,rb);outputall();printf(n 请输入您想订购商品的编号 ( 请勿输入不存在的编号 ):nn); scanf(%d,&a);f or(i=0;i=0 &buyj.number=(inforOrdernum.save-inforOrdernum.sell)addaddress();elseprintf( 您填写的数量有误,请

18、重新购买 nn);use();/ 添加地址函数void addaddress()char ch;printf( 请输入邮寄地址: nn);scanf(%s,&address);printf( 您的地址是 :%snn,address);printf( 确认请按任意键,重输请按 ESCnn);ch=getch();printf(n);if (ch!=27)printf( 您已成功订购!谢谢使用! nn);void writebuyfile();use();void add()int i;printf( 请输入添加的产品信息: n);printf( 编号 名字 生产商 价格 型号 库存数量 订购数量

19、 n);scanf(%d %s %s %lf %s %d %d,&inforr.code,,pany,&inforr.price,inforr.model,&inforr.save,&inforr.sell);r+;FILE *fp;最高机密 .txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1) printf(file write errorn);printf( 商品添加成功! n);f

20、close(fp);admin();void del()system(cls);int i,j;printf( 请输入删除的商品名: n);scanf(%d,&j);for(i=0;ir;i+)i f(infori.code=j) infori.code=0;FILE *fp;最高机密 .txt,wb)=NULL) printf(cannot open filen);return;for(i=0;ir;i+)i f(infori.code!=0)i f(fwrite (&infori,sizeof(struct goods),1,fp)!=1)printf(file write errorn)

21、;printf( 商品删除成功! );fclose(fp);admin();void change()system(cls);char ch;char company20,model100;int i,j,code,price,save,sell;printf( 请输入要修改的产品编号: n);scanf(%d,&j);for(i=0;ir;i+)i f(infori.code=j)printf( 商品编号 :%dn 商品名称 :%sn 生产商 :%sn 商品单价 :%dn 商品型号 :%sn 库存数 量 :%dn 已经订购数量 :%dn,i nfori.code,,in

22、pany,infori.price,infori.model,infori.s ave,infori.sell);printf( 请输入您想修改的商品的一条信息: (1. 生产商 2.价格 3.型号 4.库存 5.已经订购数 量)n ”);getchar();scanf(%c,&ch); switch(ch)case1:printf(请输入商品生产商:);scanf(%s,&company);strcpy(pany,company);break;case2:printf(请输入商品单价:);scanf(%d,&price);infori.price=price;break;case3:printf( 请输入商品型号:);getchar();scanf(%s,&model);strcpy(infori.model,model);break;case4:printf( 请输入商品库存:);getchar();scanf(%d,&save);infori.save=save;break;case5:printf( 请输入商品已经订购数量:);scanf(%d,&sell);infori.sell=sell;break;FILE*fp;最高机密 .txt,wb)=NULL)printf(c

温馨提示

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

评论

0/150

提交评论