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

下载本文档

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

文档简介

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 功能模块图订购商品 图编号查询商品名查询输出所有信息修改商品删除商品添加商品管理员普通用户- 21 -4 主要函数说明及其N-S图 输入str for i=0 to 10

3、strcmp(.str) 真 假 输出r=r+1 报错 c3=27真 假 use() buygoods()void goodsname();/通过商品名查询 图4.1 通过商品名查询 图4.1 通过商品名查询 输入a for i=0 to 10 infori.code=a 真 假 输出r=r+1 程序退出 c3=27 真 假 use() buygoods() 图4.2 通过商品编号查询 图4.2 通过商品编号查询 打开文件 infori.code!=0真 假输出信息 程序错误 图4.3 输出所有商品信息 char ch120=”12345 char ch210 输入ch2

4、 strcmp(ch1,ch2)!=0真 假menu_main() admin() 图4.4 输入管理员密码 outputall() for i=0 to r infori.code=a真 假r=r+1Ordernum=I 程序退出j=i if Last!=0真 假输入的数量有效真 假 程序退出addaddress() use()图4.5购买商品5 程序运行数据及其结果 主界面过程截图如图5.5所示 图5.1 主界面添加商品(过程)过程截图如图5.2所示 图5.2 添加商品(过程)添加商品(结果)过程截图如图5.3所示 图5.3 添加商品(结果)购买商品过程截图如图5.4所示 图5.4 购买商

5、品 删除商品过程截图如图5.5所示 图 5.5 删除商品6 课程设计心得首先得感谢同学对我的帮助。一开始编的时候bug很多,上网找了很多资料,去图书馆也查了不少的书,终于解决了他们。以前写的代码结构混乱,变量命名,函数命名混乱,没有注释,写出来做程序有时候自己也看不懂。在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认识,必须注意程序前后的联系,要做到高内聚,低耦合,要具有清晰的思路,要提前画好完善的流程图程序要具有层次。对整体性的把握至关重要,学习计算机语言最重要的就是上机操作,多实践,才能发现自己的不足。在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总结

6、出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实基础。附录:程序源代码#include #include #include #include /*商品信息*/ struct goodsint code;/编号 char name20;/商品名 char company20;/生产公司名 double price;/价格 char model20;/型号 int save;/库存数量 int sell;/订购数量 infor100=1,iPhone7,美国苹果公司,5388,32GB,10,0,2,朗文字典,朗文出版社,318,第五版,10,0,3,手表,劳力士

7、,54588,蚝式恒动型,10,0,4,桌子,宜家,88,2017夏季家居,10,0,5,杯子,特百惠,5388,470ml,10,0; /*订购信息*/ struct order int code;/编号 char name20;/商品名 char company20;/生产公司名 double price;/价格 char model20;/型号 int number; /订购数量 char address20;/地址 buy5;int Ordernum; /订购数量 int j,r=5;/用于比较的全局变量 int Last; /订购后剩余的库存 char address41; /订购地

8、址 void menu_main();/主菜单画面 void use(); /普通用户画面 void key();/输入密码 void admin();/管理员画面 void buyfile();/建立订购文件 void goodsname();/通过商品名查询 void goodscode();/通过编号查询 void buygoods();/购买商品 void addaddress();/添加地址 void add();/管理员添加商品 void del();/管理员删除商品 void change();/管理员修改商品 void outputall();/输出所有商品 void writ

9、ebuyfile();/写入订购信息 /主函数 int main()/建立商品信息文件 FILE *fp;int i;if(fp=fopen(C:UsersCircleDesktop最高机密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;i5;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1)printf(file write errorn);fclose(fp);buyfile();menu_main();/主菜单void menu_main()int n;printf( n)

10、;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(tttt 1614010315 赵元萱n);printf(tttt);scanf(%d,&n);system(cls);switch(n)case 1:use();break;/选择普通用户 case 2:key();br

11、eak; /选择管理员 case 3:system(cls);printf(nnnnnnnn);printf(感谢使用本系统!); exit(0); /输入密码函数 void key()char ch1=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;if(fp=f

12、open(C:UsersCircleDesktop订购.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;i5;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);printf(tttt=n);printf(tttt* 1.输入商品名查询 *n);printf(ttt

13、t* 2.输入编号查询 *n);printf(tttt* 3.输出所有商品的信息 *n);printf(tttt* 4.返回上级菜单 *n);printf(tttt*n);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;printf(tttt*n);printf(tttt*n);printf(tttt-管理员系统-n);prin

14、tf(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,c3;FILE

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

16、y,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 goodscode()int i,r=0; int a; /输入的编号 FILE *fp;fp=fopen(C:UsersCircleDesktop最高机密.txt,r);printf(请输入要查找的商品编号(请勿输入不存在的编号): nn);

17、scanf(%d,&a);printf(您查找的是%dnn,a);for(i=0;i5;i+)fread(&infori,sizeof(struct goods),1,fp);if(infori.code=a)printf(这就是你订购的商品: nn);printf(%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(请按任意键选购,取消按

18、ESC:n);char c3=getch();if(c3=27)printf(n); printf(n);system(cls);use();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=0 & buyj.number=(inforOrdernum.save-inforOrdernum.sell) addaddres

19、s();elseprintf(您填写的数量有误,请重新购买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(编号 名字 生产商 价格

20、 型号 库存数量 订购数量n);scanf(%d %s %s %lf %s %d %d,&inforr.code,,pany,&inforr.price,inforr.model,&inforr.save,&inforr.sell); r+;FILE *fp;if(fp=fopen(C:UsersCircleDesktop最高机密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1)pri

21、ntf(file write errorn);printf(商品添加成功!n); fclose(fp);admin();void del()system(cls);int i,j;printf(请输入删除的商品名:n);scanf(%d,&j);for(i=0;ir;i+)if(infori.code=j)infori.code=0;FILE *fp;if(fp=fopen(C:UsersCircleDesktop最高机密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+) if(infori.code!=0) if(fwr

22、ite (&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,price,save,sell;printf(请输入要修改的产品编号:n);scanf(%d,&j);for(i=0;ir;i+)if(infori.code=j)printf(商品编号:%dn商品名称:%sn生产商:%sn商品单价:%dn商品

23、型号:%sn库存数量:%dn已经订购数量:%dn,infori.code,,pany,infori.price,infori.model,infori.save,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(请输入商品

24、单价:);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;if(fp=fopen(C:UsersCircleDesktop最高机密.txt,wb)=NULL)printf(cannot open filen);return;for(i=0;ir;i+) if(infori.code

温馨提示

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

评论

0/150

提交评论