C语言课程设计文档格式.docx
《C语言课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
printf(tttt1.商品信息输入nn);
printf(tttt2.清除库存nn);
printf(tttt3.商品查询nn);
printf(tttt4.库存一览nn);
printf(tttt5.返回上一层nn);
voidmenu2()显示查询菜单
printf(tttt1.价格查询nn);
printf(tttt2.货名及型号查询nn);
printf(tttt3.品牌查询nn);
printf(tttt4.保修期查询nn);
voidmima1()
FILEfp;
chars1[10],s2[10];
if((fp=fopen(F家电自助服务系统密码.txt,r+))==NULL)
printf(获取密码失败。
n);
else
{
fgets(s1,10,fp);
do
printf(请输入密码n);
gets(s2);
}while(strcmp(s1,s2)!
=0);
printf(密码正确!
);
}
fclose(fp);
main()主函数,调用main1
{voidmain1();
main1();
voidmain1()main1函数
{voidgljcxrk();
声明管理及查询函数
voidDDJTD();
声明订单及退订函数
charchoose;
mainmenu();
scanf(%c,&
choose);
switch(choose)功能函数选择
{case'
1'
gljcxrk();
break;
case'
2'
DDJTD();
3'
system(cls);
printf(nnnnnnnnntttByebye...);
printf(nnnnnnnnnttt欢迎使用本软件!
!
getch();
exit(0);
system(color3F);
}
voidgljcxrk()管理及查询函数
{voidspjinku();
voidshanchu();
voidspchaxun();
voidxianshikucun();
函数声明
menu1();
调用菜单函数
for(;
;
)
spjinku();
shanchu();
spchaxun();
4'
xianshikucun();
5'
}
inttjzs()统计文本个数函数
{FILEfp;
inttJG=0,txcl=0,n;
chartHMJXH[20]={'
0'
},tpinpai[20]={'
},tbaoxouqi[20]={'
fp=fopen(F家电自助服务系统商品.txt,r);
打开文件
for(n=0;
!
feof(fp);
n++)逐个读文件
fscanf(fp,%d%s%s%s%d,&
tJG,tHMJXH,tpinpai,tbaoxouqi,&
txcl);
n--;
关闭文件
return(n);
返回个数
inttjdzzs()统计文本个数函数
intzhenghao=0,n;
charmingzi[20]={'
},SHriqi[20]={'
},zHMJXH[20]={'
fp=fopen(F家电自助服务系统顾客.txt,r);
fscanf(fp,%d%s%s%s,&
zhenghao,&
mingzi,&
SHriqi,&
zHMJXH);
voidspjinku()商品进库函数
{
mima1();
intJG=0,xcl=0,n=0;
charHMJXH[20]={'
},pinpai[20]={'
},baoxouqi[20]={'
charhitkey;
system(cls);
if((fp=fopen(F家电自助服务系统商品.txt,r))==NULL)打开商品文件,不存在此文件则新建
{fp=fopen(F家电自助服务系统商品.txt,w);
fp=fopen(F家电自助服务系统商品.txt,a);
printf(nnnnnnttt请按以下格式输入商品信息:
tttttt价格货名及型号品牌保修期进库量n请输入:
按格式输入商品信息
hitkey!
=27;
)循环输入
{if(n!
=0)
printf(请输入);
scanf(%d%s%s%s%d,&
JG,HMJXH,pinpai,baoxouqi,&
xcl);
fprintf(fp,%d%s%s%s%dn,JG,HMJXH,pinpai,baoxouqi,xcl);
printf(继续输入请按回车,结束输入请按escn);
n++;
hitkey=getch();
=13&
&
printf(nnnnnnttt保存成功,按任意键返回上一层!
getch();
gljcxrk();
返回上一层
voidshanchu()删除商品信息函数
structshangpinhead=NULL;
structshangpinp,p1,p2;
inttJG=0,txcl=0,n=0,j,i;
},ttHMJXH[20]={'
if((fp=fopen(F家电自助服务系统商品.txt,r))==NULL)打开文件
{system(cls);
printf(nnnnnnnnnttt记录文件不存在!
按任意键返回...);
printf(nnnnnnnntt请输入你要删除的货名及型号);
输入删除商品货名型号
scanf(%s,&
ttHMJXH);
printf(tt确认删除请回车,取消请按escn);
if(hitkey==27)
for(j=0;
)读文件夹信息,统计个数
{j++;
fscanf(fp,%d%s%s%s%d,&
for(i=1;
ij;
i++)
{fscanf(fp,%d%s%s%s%d,&
if(strcmp(ttHMJXH,tHMJXH))比较名字,将不同名字的信息复制到链表
{n++;
if(n==1)建立链表
{p1=p2=(structshangpin)malloc(LEN);
head=p1;
{p2-next=p1;
p2=p1;
p1=(structshangpin)malloc(LEN);
新建链表
p1-JG=tJG;
复制价格
strcpy(p1-HMJXH,tHMJXH);
复制货名及型号
strcpy(p1-pinpai,tpinpai);
复制品牌
strcpy(p1-baoxouqi,tbaoxouqi);
复制保修期
p1-xcl=txcl;
复制个数
if(n==0)
{head=NULL;
p2-next=p1;
p1-next=NULL;
fp=fopen(F家电自助服务系统商品.txt,w);
清空文件
追加文件
p=head;
p!
=NULL;
)把链表内容覆盖到文件
fprintf(fp,%d%s%s%s%dn,p-JG,p-HMJXH,p-pinpai,p-baoxouqi,p-xcl);
p=p-next;
printf(nnnnnnnntt删除成功ntt按任意键返回上一层n);
voidspchaxun()查询函数
intttJG=0,tJG=0,txcl=0,n=0,k=0,i,l;
},ttpinpai[20]={'
},ttbaoxouqi[20]={'
l=tjzs();
获得文件个数
menu2();
调用菜单函数
scanf(%c,&
选择查询方式
if(choose=='
return;
elseif(choose=='
)价格查询
printf(请输入价格);
scanf(%d,&
ttJG);
)货名及型号查询
printf(请输入货名及型号);
scanf(%s,ttHMJXH);
)品牌查询
printf(请输入品牌);
scanf(%s,ttpinpai);
)保修期查询
printf(请输入保修期);
scanf(%s,ttbaoxouqi);
for(i=0;
il;
读文件信息
if(ttJG==tJG!
strcmp(ttHMJXH,tHMJXH)!
strcmp(ttpinpai,tpinpai)!
strcmp(ttbaoxouqi,tbaoxouqi))输出查询信息
if(k==0)
printf(tttt查询结果nn);
printf(t价格货名及型号品牌保修期现存量n);
printf(t%-4d%-8s%-8s%-8s%-4dn,tJG,tHMJXH,tpinpai,tbaoxouqi,txcl);
k++;
if(k==0)文件夹为空则输出无记录
printf(nnnnnnntttt无符合记录!
返回
voidxianshikucun()现实库存信息
intJG=0,xcl=0,n=0,i=0,j=0;
if((fp=fopen(F家电自助服务系统商品.txt,r))==NULL)打开文件夹
n=tjzs();
printf(nnnnnnnnnttt无任何记录!
in;
i++)输出信息
printf(t%-4d%-8s%-8s%-8s%-4dn,JG,HMJXH,pinpai,baoxouqi,xcl);
printf(tttt按任意键返回n);
voidmenu3()显示订单系统主菜单
printf(tttt1.订单登记nn);
printf(tttt2.退订登记nn);
printf(tttt3.订单情况查看nn);
printf(tttt4.返回上一层nn);
voidDDJTD()订单系统函数
{voiddingdan();
声明订单登记函数
voidtuiding();
声明退订登记函数
voiddingdanCX();
声明订单查询函数
menu3();
选择功能
switch(choose)调用函数
dingdan();
tuiding();
dingdanCX();
voiddingdan()订单函数
FILEfp,fp3;
inttJG=0,txcl=0,i,loop,zhenghao=0,n=0,k=0,t=0,flag=0;
},mingzi[20]={'
charhitkey=0;
if((fp=fopen(F家电自助服务系统商品.txt,r))==NULL)打开商品文件
printf(nnnnnnnnntt本店无库存!
按任意键退出!
exit(0);
{
printf(nnnnnnttt请输入订单货名型号:
ttttttn请输入:
输入书货名及型号
scanf(%s,zHMJXH);
k=tjzs();
统计商品文件个数
ik;
i++)读入商品信息,存储到链表
if(n==1)
复制现存量
head=NULL;
)读链表
if(!
(strcmp(p-HMJXH,zHMJXH)))名字相同
{flag=1;
标记取1
loop=p-xcl;
现存量减1
(p-xcl)--;
if(flag&
(loop0))存在订单货物且现存量大于0
fprintf(fp,%d%s%s%s%dn,p-JG,p-HMJXH,p-pinpai,p-baox