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

下载本文档

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

文档简介

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

2、名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,如此列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号-列出对应商品的信息-要求顾客输入邮寄地址信息-确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。2管理员具备的功能:录入、修改、删除商品。3建立两个文件,分别存放商品信息与订购信息。3 模块划分管理员添删修加除改商商商品品品4 主要函数说明与其 N-S 图word- 3 - / 22图 4.1 通过商品名查询图 4.2 通过商品编号查询图 4.3 输出所有商品信息图 4.4 输入管理员密码- 4 - /

3、 22word图 4.5 购置商品5 程序运行数据与其结果主界面入:°“ I). 已 口 工 心1- . ,1- 5 - / 22哪昌酝图 5.1 主界面word添加商品过程图 5.2 添加商品过程口爹I添加商品结果酝皿圆IllIIl- 6 - / 22-才;勹- nn 1 - ,v t r -pt -n - llP -1I:可图 5.3 添加商品结果word图 5.4 购置商品- 7 - / 22word删除图 5.5 删除商品6 课程设计心得首先得感同学对我的帮助。一开始编的时候 bug 很多,上网找了很多资料,去图书馆也查了不少的书, 终于解决了他们。以前写的代码结构混乱,变量

4、命名,函数命名混乱,没有注释,写出来做程序有时候自己也看不懂。在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认识,必须注意程序前后的联系,要做到高聚,低耦合,要具有清晰的思路,要提前画好完善的流程图程序要具有层次。对整体性的把握至关重要,学习计算机语言最重要的就是上机操作,多实践,才能发现自己的不足。在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总结出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实根底。- 8 - / 22附录:程序源代码#include <stdio.h> #include <stdli

5、b.h> #include <conio.h> #include <string.h>/*商品信息*/ struct goodsint code;/编号word- 9 - / 22char name20;/商品名char pany20;/生产公司名double price;/价格char model20; int save;int sell;/型号/库存数量/订购数量infor100=1,"iPhone7","美国苹果公司",5388,"32GB",10,0,2,"朗文字典",&quo

6、t;朗文",318,"第五版",10,0,3,"手表","劳力士",54588,"蚝式恒动型",10,0,4,"桌子","宜家",88,"2017 夏季家居",10,0,5,"杯子","特百惠",5388,"470ml",10,0;/*订购信息*/ struct orderint code;/编号char name20;/商品名char pany20;/生产公司名double price

7、;/价格char model20;/型号int number;/订购数量char address20;/地址buy5;- 22 - / 22int 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 addaddress(); void add();void del(); void change();vo

8、id outputall(); void writebuyfile();/ 主 函 数 int main()/建立商品信息文件FILE *fp;int i;/订购数量/用于比拟的全局变量/订购后剩余的库存/订购地址/主菜单画面/普通用户画面/输入密码/管理员画面/建立订购文件/通过商品名查询/通过编号查询/购置商品/添加地址/管理员添加商品/管理员删除商品/管理员修改商品/输出所有商品/写入订购信息if(fp=fopen("C:UsersCircleDesktop最高.txt","wb")=NULL)printf("cannot open fi

9、len"); return;for(i=0;i<5;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");printf("tttt*n"); printf("tttt-商品订购系统n");printf("tttt*请选择*n&qu

10、ot;);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("

11、cls"); switch(n)case 1:use();break; /选择普通用户case 2:key();break; /选择管理员case 3:system("cls");printf("nnnnnnnn"); printf("感使用本系统!");exit(0);/输入密码函数void key()char ch1="12345" char ch210;printf("tttt-请输入n");printf("n");printf("tttt 请输入密

12、码:"); scanf("%s",ch2);if(strcmp(ch1,ch2)!=0)printf("密码错误!");system("cls"); menu_main();else admin();/创建购置文件函数void buyfile()FILE *fp; int i;if(fp=fopen("C:UsersCircleDesktop订购.txt","wb")=NULL)printf("cannot open filen"); return;for(i=0;

13、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"); printf("tttt=n");printf("tttt*1.输入商品名查询*n");printf("t

14、ttt*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;/管理员函数vo

15、id admin() int n;printf("tttt*n"); printf("tttt*n"); printf("tttt-管理员系统n");printf("tttt请选择n");printf("tttt=n");printf("tttt1.添加信息n"); printf("tttt2.删除信息n"); printf("tttt3.修改信息n"); printf("tttt4.返回上级菜单n"); scanf

16、("%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 *fp;fp=fopen("C:UsersCircleDesktop最高.txt","r"); printf("n 请输入你

17、要查找的名称:");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",infori.code,,infori.model,infori.price,infori.pany,inf

18、ori.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();else buygoods();/输入编号查询void goodscode()int i,r=0;int a; /输入的编号FILE *fp;fp=fopen("C:UsersCircleDesktop

19、最 高 .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");printf("%4d %-10s %-12s %9.2f %-

20、5s %5d %4dn",infori.code,,infori.mo del,infori.price,infori.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();else buygoods();/输入编号订购void buygo

21、ods()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("这就是你新购置的商品: nn"); printf

22、("%4d %-15s %-12s %9.2ft%-5s %5d %4dnn",infori.code,,infori.model,infori.price,infori.pany,infori.save,infori.sell);r=r+1; Ordernum=i; j=i;break;fclose(fp);Last=infora.save-infora.sell; if(Last!=0)printf("还剩%d 件,请输入您的订购数量:nn",Last); scanf("%d",&buyj.numbe

23、r);if(buyj.number>=0 && buyj.number<=(inforOrdernum.save-inforOrdernum.sell)addaddress();elseprintf("您填写的数量有误,请重新购置nn"); use();/添加地址函数void addaddress()char ch;printf("请输入邮寄地址:nn"); scanf("%s",&address);printf(" 您 的 地 址 是 :%snn",address); prin

24、tf("确认请按任意键,重输请按ESCnn"); ch=getch();printf("n"); if (ch!=27)printf("您已成功订购!使用!nn"); void writebuyfile();use();void add()int i;printf("请输入添加的产品信息:n");printf("编号 名字 生产商 价格型号 库存数量 订购数量n");scanf("%d %s %s %lf %s %d %d",&inforr.code,inforr.n

25、ame,inforr.pany,&inforr.pri ce,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;i<r;i+)if(fwrite (&infori,sizeof(struct goods),1,fp)!=1) printf("fi

26、le 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;if(fp=fopen("C:UsersCircleDesktop最高.txt","wb&quo

27、t;)=NULL)printf("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 pany20,model100;

28、int i,j,code,price,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,,infori.pany,infori.price,infori.model,infori.save,infori.sell);

29、printf("请输入您想修改的商品的一条信息:(1.生产商 2.价格 3.型号 4.库存 5.已经订购数量)n");getchar(); scanf("%c",&ch); switch(ch)case'1':printf(" 请 输 入 商 品 生 产 商 : ");scanf("%s",&pany);strcpy(infori.pany,pany);break;case'2':printf(" 请 输 入 商 品 单 价 : ");scanf(

30、"%d",&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;FILE*fp;if(fp=fopen("C:UsersCircleDesktop最高.txt",&qu

温馨提示

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

评论

0/150

提交评论