![c语言商品订购系统设计_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ec8f69cf-49d5-477b-b62f-41fbd5eb2392/ec8f69cf-49d5-477b-b62f-41fbd5eb23921.gif)
![c语言商品订购系统设计_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ec8f69cf-49d5-477b-b62f-41fbd5eb2392/ec8f69cf-49d5-477b-b62f-41fbd5eb23922.gif)
![c语言商品订购系统设计_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ec8f69cf-49d5-477b-b62f-41fbd5eb2392/ec8f69cf-49d5-477b-b62f-41fbd5eb23923.gif)
![c语言商品订购系统设计_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ec8f69cf-49d5-477b-b62f-41fbd5eb2392/ec8f69cf-49d5-477b-b62f-41fbd5eb23924.gif)
![c语言商品订购系统设计_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ec8f69cf-49d5-477b-b62f-41fbd5eb2392/ec8f69cf-49d5-477b-b62f-41fbd5eb23925.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明业:学号:2017年4月24日-2017年5月12日日期:2017年5月12日目:商品订购系统设计名:设计目的提高自己程序调试技巧、软件设计能力和代码规范化等素质;任务概述屏幕上出现选择界面,管理员和顾客进行权限选择进入。1)顾客具备的功能:让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,贝例出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号-列出对应商品的信息-要求顾客输入邮寄地址信息-确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。2)管理员具备的功能:录入、修改、删除商品
2、。3)建立两个文件,分别存放商品信息与订购信息。模块划分能,功能模块图如图3.1 所示 商品订购系统设计普管通理用员1)进一步巩固和复习C程序设计的基础知识;2)培养自己结构化程序、模块化程序设计的方法和能力;3)了解软件的编制过程及各环节的具体内容;4)5)提高自己分析问题、解决问题以及实际运用能力。商品订购系统设计有如下功4 4 主要函数说明及其 N-SN-S 图输入strvoid goodsnanmeio;0 t0 10/ 通过商品名查询strc mp (i nfori. name.str)图真通过商品名查询图 4.1 通过商品名查询输出=+1-报错c3oo27输入a真图 4.2通过商品
3、编号查询use() in fori.codeooabuygoods()真通过商品编号查询真use() buygoods()输出r=r+1c3=27程序退出()1ou&LUInuLU理MOHi(eLP-LLP)duJOlss宜霑售旦赃邂田綽丄0乂。荷匸。理W,豈忑脛憾匿荐&亠一習U一out putallO图 4.5f购买商品0rin fori.code=a5 5 程序运行数真及其结果主界面过程截图如图 5.5 所示r=r+1、Ordernum=l图5. .程序退出商品(过程)j=过程截图如图5.2 所示If Last!罰 5.25.2 添加商品(过程)添加添加购买真商假(结果)过
4、程截图如图输入的数量有效 真假商品过程截图如图)5us所示图 5.45.4 购买商品5.3 所示图 5.35.3 添加商程序退果)删除商品过程截图如图5.5 所示图 5.55.5 删除商品6 6 课程设计心得首先得感谢同学对我的帮助。一幵始编的时候bug很多,上网找了很多资料,去图书馆也查了不少的书,终于解决了他们。以前写的代码结构混乱,变量命名,函数命名混乱,没有注释,写出来做程序有时候自己也看不懂。在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认识,必须注意程序前后的联系,要做到高内聚,低耦合,要具有清晰的思路,要提前画好完善的流程图程序要具有层次。对整体性的把握至关重要,
5、学习计算机语言最重要的就是上机操作,多实践,才能发现自己的不足。在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总结出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实基础。附录:程序源代码#in elude #in elude#in elude #in elude /* 商品信息 */struct goodsint code;/编号char name20;/商品名char company20;/生产公司名double price;/价格char model20;/型号int save;/库存数量int sell;/订购数量infor100=1
6、,iPhone7,美国苹果公司 ,5388,32GB,10,0,2, 朗文字典 , 朗文出版社,318, 第五版 ,10,0,3,手表, 劳力士 ,54588, 蚝式恒动型 ,10,0,4, 桌子, 宜家,88,2017 夏季家居,10,0,5, 杯子, 特百惠 ,5388,470ml,10,0;/* 订购信息 */int code;/编号char name20;/商品名char company20;/生产公司名double price;/价格char model20;/型号int number;/ 订购数量char address20;/地址buy5;int Ordernum;/订购数量in
7、t j,r=5;/用于比较的全局变量int Last;/订购后剩余的库存char address41;/订购地址void menu_main();/主菜单画面void use();/普通用户画面void key();/输入密码void admin();/管理员画面void buyfile();/建立订购文件structordervoid goodsname();/通过商品名查询void goodscode();/通过编号查询void buygoods();/购买商品void addaddress();/添加地址void add();/管理员添加商品void del();/管理员删除商品void
8、 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 close(fp);buyfile();menu_main();/ 主菜单 void
9、menu_main()int n;printf(printf(tttt*n);n);printf( 感谢使用本系统! );exit(0);/ 输入密码函数 void key()char ch1=12345;char ch210;printf(n);scanf(%s,ch2);printf(tttt-商品订购系统 -printf(tttt*请选择*n);printf(tttt*1.普通用户*n)printf(tttt*2.管理员*n);printf(tttt*3.退出系统*n)printf(tttt*请输入你的选择:*printf(tttt*n);printf(n);printf(tttt);s
10、canf(%d,&n);system(cls);switch(n) case1:use();break; / case2:key();break; / case3:system(cls);选择普通用户选择管理员printf(nnnnnnnn);Hprintf(tttt请输入n);printf(tttt请输入密码: );if(strcmp(ch1,ch2)!=0)printf( 密码错误! );system(cls);menu_main();elseadmin();/ 创建购买文件函数 void buyfile()FILE *fp;int i;订购 .txt,wb)=NULL)print
11、f(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-用户系统 - n);printf(tttts,:4A4A请选择n);printf(tttt=printf(tttt*1.输入商品名查询*n);printf(tttt*2.输入编号查询*n);printf(tttt*3.输出所有商品的信息
12、*n)printf(tttt*4.返回上级菜单*n);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(ttttscanf(%d,&n);switch(n)case 1:add();break;case
13、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;printf(tttt管理员系统n);printf(tttt请选择n);n);printf(tttt1.添加信息 n);printf(tttt2.删除信息 n);printf(tttt3.修改信息 n);printf(tttt4.返回上级菜单 n);printf(n);FILE *fp;最高机密 .txt,r);pri
14、ntf(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.model,infori.price,pany,infori.save,infori.sell);r=r+1;fclose(fp);if
15、(r!=0)printf( 请按任意键选购,取消或产品不存在按ESC: n);char c3=getch();if(c3=27) printf(n);system(cls);use();if(c3=27)printf(n);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;i5;i+) f read(&
16、amp;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.model,infori.price,pany,infori.save,infori.sell);r+;fclose(fp);if(r!=0) printf( 请按任意键选购,取消按 ESC: n);char c3=getch();printf(n);system(cls);use();els
17、ebuygoods();/ 输入编号订购 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();else printf( 您填写的数量有误,请重新购买 nn);use();/ 添加地址函数 void ad
18、daddress()char ch;printf( 请输入邮寄地址: nn);scanf(%s,&address);printf( 您的地址是 :%snn,address);ch=getch();printf(n);if (ch!=27)printf( 您已成功订购!谢谢使用!nn);voidwritebuyfile();use();void add()inti;printf( 确认请按任意键,重输请按ESCnn);printf(cannot open filen);printf( 编号 名字 生产商 价格 型号 库存数量 订购数量 n);scanf(%d %s %s %lf %s %
19、d %d,&inforr.code,,pany,&inforr.price,inforr.model,&inforr.save,&inforr.sell);r+;FILE *fp;最高机密 .txt,wb)=NULL)printf(cannot openfilen);return;for(i=0;ir;i+)if(fwrite (&infori,sizeof(structgoods),1,fp)!=1)printf(file writeerrorn);printf( 商品添加成功! n);fclose(fp);admin();voi
20、ddel()system(cls);inti,j;printf( 请输入删除的商品名: n);scanf(%d,&j);for(i=0;ir;i+)if(infori.code=j)infori.code=0;FILE *fp;最高机密 .txt,wb)=NULL)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);printf( 商品删除成功! );fclose(fp);admin();void c
21、hange()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,infori.code,,pany,infori.price,infori.model,infori.save,i
22、nfori.sell);printf( 请输入您想修改的商品的一条信息: (1. 生产商 2.价格 3.型号 4.库存 5.已经订购数量)n);getchar();scanf(%c,&ch);switch(ch)case1:printf( 请输入商品生产商:/输出所有信息void outputall()int i;);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=s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论