c语言商品订购系统设计.docx
《c语言商品订购系统设计.docx》由会员分享,可在线阅读,更多相关《c语言商品订购系统设计.docx(12页珍藏版)》请在冰豆网上搜索。
c语言商品订购系统设计
课程设计说明书
学院、系:
专业:
学生姓名:
学号:
设计题目:
商品订购系统设计
起迄日期:
2017年4月24日-2017年5月12日
指导教师:
日期:
2017年5月12日
1设计目的
1)进一步巩固和复习C程序设计的基础知识;
2)培养自己结构化程序、模块化程序设计的方法和能力;
3)了解软件的编制过程及各环节的具体内容;
4)提高自己程序调试技巧、软件设计能力和代码规范化等素质;
5)提高自己分析问题、解决问题以及实际运用能力。
2任务概述
屏幕上出现选择界面,管理员和顾客进行权限选择进入。
1)顾客具备的功能:
让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:
所选商品编号-列出对应商品的信息-要求顾客输入邮寄地址信息-确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。
2)管理员具备的功能:
录入、修改、删除商品。
3)建立两个文件,分别存放商品信息与订购信息。
商品订购系统设计
3模块划分
4主要函数说明及其N-S图
voidgoodsname();xt","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();
}
通用户*\n");
printf("\t\t\t\t*2.管理员*\n");
printf("\t\t\t\t*3.退出系统*\n");
printf("\t\t\t\t*请输入你的选择:
*\n");
printf("\t\t\t\t***************************************************\n");
printf("\n");
printf("\t\t\t\t");
scanf("%d",&n);
system("cls");
switch(n){
case1:
use();break;xt","wb"))==NULL)
{printf("cannotopenfile\n");
return;
}
for(i=0;i<5;i++)
if(fwrite(&buy[i],sizeof(structorder),1,fp)!
=1)
printf("filewriteerror\n");
fclose(fp);
}
入商品名查询*\n");
printf("\t\t\t\t*2.输入编号查询*\n");
printf("\t\t\t\t*3.输出所有商品的信息*\n");
printf("\t\t\t\t*4.返回上级菜单*\n");
printf("\t\t\t\t****************************************************\n");
scanf("%d",&n);
system("cls");
switch(n){
case1:
goodsname();break;
case2:
goodscode();break;
case3:
outputall();break;
case4:
menu_main();break;
}
}
加信息\n");
printf("\t\t\t\t2.删除信息\n");
printf("\t\t\t\t3.修改信息\n");
printf("\t\t\t\t4.返回上级菜单\n");
scanf("%d",&n);
switch(n){
case1:
add();break;
case2:
del();break;
case3:
change();break;
case4:
system("cls");menu_main();break;
}
}
xt","r");
printf("\n请输入你要查找的名称:
");
scanf("%s",&str);
printf("\n您所查找的%s\n",str);
for(i=0;i{
fread(&infor[i],sizeof(structgoods),1,fp);
k=strcmp(infor[i].name,str);
if(k==0)
{
r=r+1;
}
}
fclose(fp);
if(r!
=0){
printf("请按任意键选购,取消或产品不存在按ESC:
\n");
charc3=getch();
if(c3==27){
printf("\n");
printf("\n");
system("cls");
use();
}
else
buygoods();
}
}
xt","r");
printf("请输入要查找的商品编号(请勿输入不存在的编号):
\n\n");
scanf("%d",&a);
printf("您查找的是%d\n\n",a);
for(i=0;i<5;i++){
fread(&infor[i],sizeof(structgoods),1,fp);
if(infor[i].code==a){
printf("这就是你订购的商品:
\n\n");
r++;
}
}
fclose(fp);
if(r!
=0){
printf("请按任意键选购,取消按ESC:
\n");
charc3=getch();
if(c3==27){
printf("\n");
printf("\n");
system("cls");
use();
}
else
buygoods();
}
}
xt","rb");
outputall();
printf("\n请输入您想订购商品的编号(请勿输入不存在的编号):
\n\n");
scanf("%d",&a);
for(i=0;ifread(&infor[i],sizeof(structgoods),1,fp);
if(infor[i].code==a){
printf("这就是你新购买的商品:
\n\n");
r=r+1;
Ordernum=i;
j=i;
break;
}
}
fclose(fp);
Last=infor[a].save-infor[a].sell;
if(Last!
=0){
printf("还剩%d件,请输入您的订购数量:
\n\n",Last);
scanf("%d",&buy[j].number);
if(buy[j].number>=0&&buy[j].number<=(infor[Ordernum].save-infor[Ordernum].sell)){
addaddress();
}
else{
printf("您填写的数量有误,请重新购买\n\n");
use();
}
}
}
xt","wb"))==NULL)
{printf("cannotopenfile\n");
return;
}
for(i=0;iif(fwrite(&infor[i],sizeof(structgoods),1,fp)!
=1)
printf("filewriteerror\n");
}
printf("商品添加成功!
\n");
fclose(fp);
admin();
}
voiddel(){
system("cls");
inti,j;
printf("请输入删除的商品名:
\n");
scanf("%d",&j);
for(i=0;iif(infor[i].code==j){
infor[i].code=0;
}
}
FILE*fp;
if((fp=fopen("C:
\\Users\\Circle\\Desktop\\最高机密.txt","wb"))==NULL)
{printf("cannotopenfile\n");
return;
}
for(i=0;iif(infor[i].code!
=0){
if(fwrite(&infor[i],sizeof(structgoods),1,fp)!
=1)
printf("filewriteerror\n");
}
}
printf("商品删除成功!
");
fclose(fp);
admin();
}
voidchange(){
system("cls");
charch;
charcompany[20],model[100];
inti,j,code,price,save,sell;
printf("请输入要修改的产品编号:
\n");
scanf("%d",&j);
for(i=0;iif(infor[i].code==j){
printf("商品编号:
%d\n商品名称:
%s\n生产商:
%s\n商品单价:
%d\n商品型号:
%s\n库存数量:
%d\n已经订购数量:
%d\n",
printf("请输入您想修改的商品的一条信息:
(1.生产商2.价格3.型号4.库存5.已经订购数量)\n");
getchar();
scanf("%c",&ch);
switch(ch){
case'2':
printf("请输入商品单价:
");scanf("%d",&price);infor[i].price=price;break;
case'3':
printf("请输入商品型号:
");getchar();scanf("%s",&model);strcpy(infor[i].model,model);break;
case'4':
printf("请输入商品库存:
");getchar();scanf("%d",&save);infor[i].save=save;break;
case'5':
printf("请输入商品已经订购数量:
");scanf("%d",&sell);infor[i].sell=sell;break;
}
}
}
FILE*fp;
if((fp=fopen("C:
\\Users\\Circle\\Desktop\\最高机密.txt","wb"))==NULL)
{
printf("cannotopenfile\n");
return;
}
for(i=0;iif(infor[i].code!
=0){
if(fwrite(&infor[i],sizeof(structgoods),1,fp)!
=1)
printf("filewriteerror\n");
}
printf("商品修改成功!
\n");
admin();
}
}
ode!
=0)
{
fread(&infor[i],sizeof(structgoods),1,fp);
}
}
fclose(fp);
}
umber=infor[j].sell;
strcpy(buy[Ordernum].name,infor[j].name);
strcpy(buy[Ordernum].model,infor[j].model);
buy[Ordernum].price=infor[j].price;
FILE*fp;
{printf("不能打开文件!
\n");
return;
}
if(fwrite(&buy[Ordernum],sizeof(structorder),1,fp)!
=1)
printf("filewriteerror!
");
fclose(fp);
Ordernum++;
}