c语言商品订购系统设计之欧阳科创编Word文档下载推荐.docx
《c语言商品订购系统设计之欧阳科创编Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言商品订购系统设计之欧阳科创编Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
图4.2通过商品编号查询
图4.3输出所有商品信息
图4.4输入管理员密码
图4.5购买商品
5程序运行数据及其结果
主界面过程截图如图5.5所示
图5.1主界面
添加商品(过程)过程截图如图5.2所示
图5.2添加商品(过程)
添加商品(结果)过程截图如图5.3所示
图5.3添加商品(结果)
购买商品过程截图如图5.4所示
图5.4购买商品
删除商品过程截图如图5.5所示
图5.5删除商品
6课程设计心得
首先得感谢同学对我的帮助。
一开始编的时候bug很多,上网找了很多资料,去图书馆也查了不少的书,终于解决了他们。
以前写的代码结构混乱,变量命名,函数命名混乱,没有注释,写出来做程序有时候自己也看不懂。
在完完整整得做完一个程序后我对结构化程序的整体性有了一个明确的认识,必须注意程序前后的联系,要做到高内聚,低耦合,要具有清晰的思路,要提前画好完善的流程图程序要具有层次。
对整体性的把握至关重要,学习计算机语言最重要的就是上机操作,多实践,才能发现自己的不足。
在以后的学习中,我要做到举一反三,多思考,勤动脑,通过这次的实训,我总结出在以后学习中还必须多多上机编写程序,从实践中多积累经验,为以后进一步学习打下坚实基础。
附录:
程序源代码
#include<
stdio.h>
stdlib.h>
conio.h>
string.h>
/*商品信息*/
structgoods{
intcode;
//编号
charname[20];
//商品名
charcompany[20];
//生产公司名
doubleprice;
//价格
charmodel[20];
//型号
intsave;
//库存数量
intsell;
//订购数量
}infor[100]={{1,"
iPhone7"
"
美国苹果公司"
5388,"
32GB"
10,0},{2,"
朗文字典"
朗文出版社"
318,"
第五版"
10,0},{3,"
手表"
劳力士"
54588,"
蚝式恒动型"
10,0},{4,"
桌子"
宜家"
88,"
2017夏季家居"
10,0},{5,"
杯子"
特百惠"
470ml"
10,0}};
/*订购信息*/
structorder{
intnumber;
//订购数量
charaddress[20];
//地址
}buy[5];
intOrdernum;
intj,r=5;
//用于比较的全局变量
intLast;
//订购后剩余的库存
charaddress[41];
//订购地址
voidmenu_main();
//主菜单画面
voiduse();
//普通用户画面
voidkey();
//输入密码
voidadmin();
//管理员画面
voidbuyfile();
//建立订购文件
voidgoodscode();
//通过编号查询
voidbuygoods();
//购买商品
voidaddaddress();
//添加地址
voidadd();
//管理员添加商品
voiddel();
//管理员删除商品
voidchange();
//管理员修改商品
voidoutputall();
//输出所有商品
voidwritebuyfile();
//写入订购信息
//主函数
intmain(){
//建立商品信息文件
FILE*fp;
inti;
if((fp=fopen("
C:
\\Users\\Circle\\Desktop\\最高机密.txt"
wb"
))==NULL)
{printf("
cannotopenfile\n"
);
return;
}
for(i=0;
i<
5;
i++)
if(fwrite(&
infor[i],sizeof(structgoods),1,fp)!
=1)
printf("
filewriteerror\n"
fclose(fp);
buyfile();
menu_main();
//主菜单
voidmenu_main(){
intn;
\n"
\t\t\t\t***************************************************\n"
\t\t\t\t------------------商品订购系统---------------------\n"
\t\t\t\t*请选择*\n"
\t\t\t\t*1.普通用户*\n"
\t\t\t\t*2.管理员*\n"
\t\t\t\t*3.退出系统*\n"
\t\t\t\t*请输入你的选择:
*\n"
\n"
\t\t\t\t1614010315赵元萱\n"
\t\t\t\t"
scanf("
%d"
&
n);
system("
cls"
switch(n){
case1:
use();
break;
//选择普通用户
case2:
key();
//选择管理员
case3:
\n\n\n\n\n\n\n\n"
感谢使用本系统!
"
exit(0);
//输入密码函数
voidkey(){
charch1[]="
12345"
;
charch2[10];
\t\t\t\t---------------------请输入-------------------------\n"
\t\t\t\t请输入密码:
%s"
ch2);
if(strcmp(ch1,ch2)!
=0){
密码错误!
}else{
admin();
//创建购买文件函数
voidbuyfile(){
\\Users\\Circle\\Desktop\\订购.txt"
buy[i],sizeof(structorder),1,fp)!
//用户函数
voiduse(){
\t\t\t\t****************************************************\n"
\t\t\t\t---------------------用户系统-----------------------\n"
\t\t\t\t请选择\n"
\t\t\t\t====================================================\n"
\t\t\t\t*1.输入商品名查询*\n"
\t\t\t\t*2.输入编号查询*\n"
\t\t\t\t*3.输出所有商品的信息*\n"
\t\t\t\t*4.返回上级菜单*\n"
goodsname();
goodscode();
outputall();
case4:
//管理员函数
voidadmin(){
\t\t\t\t--------------------管理员系统----------------------\n"
\t\t\t\t1.添加信息\n"
\t\t\t\t2.删除信息\n"
\t\t\t\t3.修改信息\n"
\t\t\t\t4.返回上级菜单\n"
add();
del();
change();
//输入商品名查询
voidgoodsname(){
inti,k=0;
//k是比较的结果i控制循环
charstr[24],c3;
fp=fopen("
r"
\n请输入你要查找的名称:
str);
\n您所查找的%s\n"
str);
r;
{
fread(&
infor[i],sizeof(structgoods),1,fp);
k=strcmp(infor[i].name,str);
if(k==0)
{
%4d%-10s%-12s%9.2f%-5s%5d%4d\n"
infor[i].code,infor[i].name,infor[i].model,infor[i].price,infor[i].company,infor[i].save,infor[i].sell);
r=r+1;
if(r!
请按任意键选购,取消或产品不存在按ESC:
charc3=getch();
if(c3==27){
else
buygoods();
}
//输入编号查询
voidgoodscode(){
inti,r=0;
inta;
//输入的编号
请输入要查找的商品编号(请勿输入不存在的编号):
\n\n"
a);
您查找的是%d\n\n"
a);
i++){
if(infor[i].code==a){
这就是你订购的商品:
r++;
请按任意键选购,取消按ESC:
//输入编号订购
voidbuygoods(){
charch;
FILE*fp;
最高机密.txt"
rb"
\n请输入您想订购商品的编号(请勿输入不存在的编号):
\n\n"
这就是你新购买的商品:
%4d%-15s%-12s%9.2f\t%-5s%5d%4d\n\n"
Ordernum=i;
j=i;
Last=infor[a].save-infor[a].sell;
if(Last!
还剩%d件,请输入您的订购数量:
Last);
buy[j].number);
if(buy[j].number>
=0&
&
buy[j].number<
=(infor[Ordernum].save-infor[Ordernum].sell)){
addaddress();
else{
您填写的数量有误,请重新购买\n\n"
//添加地址函数
voidaddaddress(){
请输入邮寄地址:
address);
您的地址是:
%s\n\n"
address);
确认请按任意键,重输请按ESC\n\n"
ch=getch();
if(ch!
=27)
您已成功订购!
谢谢使用!
voidadd(){
请输入添加的产品信息:
编号名字生产商价格型号库存数量订购数量\n"
%d%s%s%lf%s%d%d"
infor[r].code,infor[r].name,infor[r].company,&
infor[r].price,infor[r].model,&
infor[r].save,&
infor[r].sell);
商品添加成功!
voiddel(){
inti,j;
请输入删除的商品名:
j);
if(infor[i].code==j){
infor[i].code=0;
i++){
if(infor[i].code!
=0){
商品删除成功!
voidchange(){
charcompany[20],model[100];
inti,j,code,price,save,sell;
请输入要修改的产品编号:
商品编号:
%d\n商品名称:
%s\n生产商:
%s\n商品单价:
%d\n商品型号:
%s\n库存数量:
%d\n已经订购数量:
%d\n"
infor[i].code,infor[i].name,infor[i].company,infor[i].price,infor[i].model,infor[i].save,infor[i].sell);
请输入您想修改的商品的一条信息:
(1.生产商2.价格3.型号4.库存5.已经订购数量)\n"
getchar();
%c"
ch);
switch(ch){
case'
1'
:
请输入商品生产商:
company);
strcpy(infor[i].company,company);
2'
请输入商品单价:
price);
infor[i].price=price;
3'
请输入商品型号:
model);
strcpy(infor[i].model,model);
4'
请输入商品库存:
save);
infor[i].save=save;
5'
请输入商品已经订购数量:
sell);
infor[i].sell=sell;
商品修改成功!
//输出所有信息
voidoutputall()
inti;
FILE*fp;
fp=fopen("
//Users//Circle//Desktop//最高机密.txt"
r+"
for(i=0;
i++)
{if(infor[i].code!
=0)
printf("
%4d%-15s%-12s%9.2f\t%-5s%5d%4d\n"
infor[