超市管理系统 C语言.docx
《超市管理系统 C语言.docx》由会员分享,可在线阅读,更多相关《超市管理系统 C语言.docx(36页珍藏版)》请在冰豆网上搜索。
超市管理系统C语言
西安邮电大学
高级语言课程设计报告
题目:
超市管理系统
院系名称:
理学院
专业名称:
应用物理学
班级:
1301
学生姓名:
王松
学号(8位):
07132022
指导教师:
王西龙
设计起止时间:
2014年06月19日~2014年06月27日
1:
程序模型
2:
原函数概况
1:
创建函数
voidstart();/*启动界面*/
voidinput();/*商品数据信息输入函数*/
voidchange();/*商品数据信息修改函数*/
voiddele();/*给定指定商品名称,删除商品信息*/
voidoutput();/*商品信息输出*/
voidsearch();/*商品信息查找*/
voidmima();/*密码程序*/
voidcolour();//颜色选择
voidhuanying();
2:
商品信息录入
input()
3:
商品信息得修改
Change()
4:
商品信息得删除
Dele()
5:
商品信息得查询
Seaerch()
6:
系统颜色选择
Colour()
7:
退出系统
3:
详细设计过程
1:
结构体变量得定义
structMarketGoods/*存数商品信息得结构体*/
{
chargoods_id[30];/*商品编号*/
chargoods_name[30];/*商品名称*/
doublegoods_price;/*商品价格*/
doublegoods_discount;/*商品折扣*/
intgoods_amount;/*商品总数目*/
intgoods_remain;/*商品剩余数目*/
}goods[COUNT];
intcount=0;/*全局变量,用于保存实际上有多少个商品*/
2:
欢迎界面
voidhuanying()
{
printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\t\3欢迎使用\3\n");
printf("\t\3\3\n");
printf("\t\3\3\n");
printf("\t\3超市管理系统\3\n");
printf("\t\3\3\n");
printf("\t\3\3\n");
printf("\t\3\4\4\4\4\4\4\3\n");
printf("\t\3\3\n");
printf("\t\3\5\5\5\5\5\5\5\5\5\3\n");
printf("\t\3\3\n");
printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
}
3:
密码登陆
voidmima()
{
//charpass[6]={'1','2','3','4','5','6'};/*假设密码长度就是6*/
charpass[]={"123456"};/*假设密码长度就是6*/
charstr[6],ch;
inti=0;
intflag=0;
printf("请输入密码:
");
fflush(stdin);
for(i=0;i<6;i++)
{
ch=getch();/*读取字符,不显示*/
str[i]=ch;
putchar('*');
}
for(i=0;i<6;i++)
{
if(str[i]!
=pass[i])
{
flag=1;
break;
}
}
if(flag)
{
printf("\n密码错误,登录失败!
请重新登录\n");
mima();
}
elseprintf("\n登录成功\n");
getch();
system("cls");
start();
}
4:
系统选择界面
voidstart()/*启动菜单*/
{
intchi;
printf("超市商品管理系统\n");
printf("********************************************\n");
printf("********************************************\n");
printf("1、商品信息得录入:
\n");
printf("2、商品信息得修改:
\n");
printf("3、删除某个商品信息:
\n");
printf("4、查找商品信息:
\n");
printf("5、颜色选择:
\n");
printf("0、退出程序\n");
printf("********************************************\n");
printf("********************************************\n");
printf("输入您得选择:
");
scanf("%d",&chi);/*根据您得选择执行相应得函数*/
if(chi==1)input();
else
if(chi==2)change();
elseif(chi==3)dele();
elseif(chi==4)search();
elseif(chi==5)colour();
elseif(chi==0)
{
printf("您已经退出超市商品管理系统!
谢谢您得使用,再见\n");
exit(0);
}
else
{
printf("YouEnterTheChoiceIsNotvalid!
\n");
getch();
system("cls");
start();
}
}
voidhuanying()
{
printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\t\3欢迎使用\3\n");
printf("\t\3\3\n");
printf("\t\3\3\n");
printf("\t\3超市管理系统\3\n");
printf("\t\3\3\n");
printf("\t\3\3\n");
printf("\t\3\4\4\4\4\4\4\3\n");
printf("\t\3\3\n");
printf("\t\3\5\5\5\5\5\5\5\5\5\3\n");
printf("\t\3\3\n");
printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
}
5:
商品信息得录入
voidinput()/*数据录入*/
{
FILE*fp;
charflag[20];
fp=fopen("e:
/student、txt","wt");
do
{
printf("请输入您得商品信息:
\n");/*录入商品得信息*/
printf("商品编号:
");
scanf("%s",goods[count]、goods_id);
printf("商品名字:
");
scanf("%s",goods[count]、goods_name);
printf("商品价格:
");
scanf("%lf",&goods[count]、goods_price);
printf("商品折扣:
");
scanf("%lf",&goods[count]、goods_discount);
printf("商品总数目:
");
scanf("%d",&goods[count]、goods_amount);
printf("商品剩余数目:
");
scanf("%d",&goods[count]、goods_remain);
count++;/*存数得商品数加一*/
printf("就是否继续输入数据y就是n否:
");/*就是否还想继续输入数据*/
scanf("%s",flag);
}while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0);
fwrite(&goods,sizeof(structMarketGoods),count,fp);
fclose(fp);
output();/*调用显示商品数据*/
getch();
system("cls");
start();
}
6:
商品信息得修改
voidchange()/*数据修改*/
{
FILE*fp;
inti,m=0;
charch[20],a[20];
fp=fopen("e:
/student、txt","rt");
while(fread(&goods[m],sizeof(structMarketGoods),1,fp)!
=NULL)
{
m++;
}
fclose(fp);
printf("\nyousurewantchangegoodsInfory/n):
");/*根据商品得id来修改数据*/
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("\nenteryouwantchangegoods_id:
");
scanf("%s",a);
for(i=0;i{
if(strcmp(goods[i]、goods_id,a)==0)
{
printf("\nyousurewantchangegoodsname(y/n):
");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("\nname:
");
scanf("%s",goods[i]、goods_name);
}
printf("\nyousurewantchangegoodsprice(y/n):
");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("\nprice");
scanf("%lf",&goods[i]、goods_price);
}
printf("\nyousurewantgoodsdiscount(y/n):
");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("\ndiscount");
scanf("%lf",&goods[i]、goods_discount);
}
printf("\nyousurewantgoodsamount(y/n):
");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("\namount");
scanf("%d",&goods[i]、goods_amount);
}
printf("\nyousurewantgoodsremain(y/n):
");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("\nremain");scanf("%d",&goods[i]、goods_remain);
}
}
}
}
fwrite(&goods,sizeof(structMarketGoods),count,fp);
fclose(fp);
output();
getch();
system("cls");
start();
}
7:
商品信息得删除
voiddele()/*数据删除*/
{
FILE*fp;
inti,m=0,j;
charch[20],c[20];
fp=fopen("e:
/student、txt","rt");
while(fread(&goods[m],sizeof(structMarketGoods),1,fp)!
=NULL)
{
printf("%s",goods[m]、goods_id);
m++;
}
fclose(fp);
printf("\nenteryouwantdeletename:
\n");/*根据商品得名称来删除数据*/
printf("name:
");
scanf("%s",c);
for(i=0;i{
if(strcmp(c,goods[i]、goods_name)==0)
break;/*找到,即跳出循环*/
for(j=i;jgoods[j]=goods[j+1];
}
printf("\t\t\tyouhaddelete%s\n",c);
count--;
fp=fopen("e:
/student、txt","wt");
fwrite(&goods,sizeof(structMarketGoods),count,fp);
fclose(fp);
output();
getch();
system("cls");
start();
}
8:
商品信息查询
voidsearch()/*数据查找*/
{
FILE*fp;
inti,m=0;
chara[20];
fp=fopen("e:
/student、txt","rt");
while(fread(&goods[m],sizeof(structMarketGoods),1,fp)!
=NULL)
{
printf("%s",goods[m]、goods_name);
m++;
}
printf("\nenteryouwantlookname:
");/*根据商品得名称来查找数据*/
scanf("%s",a);
for(i=0;i{
if(strcmp(goods[i]、goods_name,a)==0)
printf("%s%s%lf%lf%d%d\n",goods[i]、goods_id,goods[i]、goods_name,goods[i]、goods_price,goods[i]、goods_discount,goods[i]、goods_amount,goods[i]、goods_remain);
}
getch();
system("cls");
start();
}
9:
系统颜色选择
voidcolour()
{
inta;
printf("\n\n\t\t选择以下方案\n");
printf("\n\n\t\t1**********红底黑字\n");
printf("\n\n\t\t2**********白底黑子");
printf("\n\n\t\t3**********黑底红字");
printf("\n\n\t\t4**********绿底蓝字");
printf("\n\n\t\t5**********黄底蓝字");
printf("\n\n\t\t6**********系统默认");
printf("\n\n\t\t\t\t请挑选您喜欢得颜色<1-6>、、、、");
scanf("%d",&a);
switch(a)
{
case1:
system("color40");break;
case2:
system("color70");break;
case3:
system("color04");break;
case4:
system("color21");break;
case5:
system("color65");break;
case6:
system("colorla");break;
default:
printf("\n\n\t\t\t\t输入无效");
{
getch();
colour();
}
}
start();
}
10:
商品信息输出
voidoutput()/*数据输出*/
{FILE*fp;
inti,m=0;
fp=fopen("e:
/student、txt","rt");
while(fread(&goods[m],sizeof(structMarketGoods),1,fp)!
=NULL)
{
m++;
}
fclose(fp);
printf("编号名称价格折扣总数目剩余数目\n");
for(i=0;i{
printf("%s%s%lf%lf%10d%10d\n",goods[i]、goods_id,
goods[i]、goods_name,
goods[i]、goods_price,goods[i]、goods_discount,
goods[i]、goods_amount,
goods[i]、goods_remain);
}
getch();
system("cls");
start();
}
11:
退出系统
voidstart()/*启动菜单*/
{
intchi;
printf("超市商品管理系统\n");
printf("********************************************\n");
printf("********************************************\n");
printf("1、商品信息得录入:
\n");
printf("2、商品信息得修改:
\n");
printf("3、删除某个商品信息:
\n");
printf("4、查找商品信息:
\n");
printf("5、颜色选择:
\n");
printf("0、退出程序\n");
printf("********************************************\n");
printf("********************************************\n");
printf("输入您得选择:
");
scanf("%d",&chi);/*根据您得选择执行相应得函数*/
if(chi==1)input();
else
if(chi==2)change();
elseif(chi==3)dele();
elseif(chi==4)search();
elseif(chi==5)colour();
elseif(chi==0)
{
printf("您已经退出超市商品管理系统!
谢谢您得使用,再见\n");
exit(0);
4:
调试分析
调试过程中,会有很多得错误。
语句与函数得运用不到位,还存在许多得小错误。
5:
测试结果
通过我想同学求助,向老师咨询,查找书籍,在网络上查找,最终使得程序顺利运行。
1:
欢迎界面
2:
密码输入
3:
系统菜单选择界面
4:
商品信息录入及保存
5:
商品信息得修改
6:
商品信息得删除及剩余物品记录
7:
物品信息得查询
8:
商品信息输出
9:
系统环境颜色得选择
10:
退出系统
课程设计总结
上学期学习了C语言,所以对于C语言有了初步与基础得认识。
这次做程序设计,许多得程序过程都就是通过咨询老师,同学,查询网络,查找书籍做得。
感到自己得C语言知识还就是很欠缺。
程序中许多都就是自己设计得简单得语句,很少有精彩得部分,但就是很知足,毕竟就是自己第一次做,感觉挺好。
但就是总结下来,自己可就是漏洞百出。
通过一周多得实习设计,使我对于C语言有了更深刻,更多得了解,也就是我认识到C语言得难度,但就是,我又感觉到了这门课程得乐趣,瞧着自己得成果一天天出现,那种喜悦就是不可言语得。
过程中,我发现自己得基础知识薄弱,英语很多不认识,知识做得过程中还要上查询英语方面得知识,很就是费事。
还有就就是有些概念很模糊,但就是通过这次实习,我对于C语言有了新得认识。
在这一周时间里,经过不断得与同学与老师得讨论,就是我得C语言水平有了很大得提高。
此次我还感觉到,C语言就是一门实用性很强得课程。
其实真正得程序过程就就是头文件,主函数,模块函数。
这些东西得组合才构成了一个完整得函数体系。
虽然说只有这几项,但就是就就是这简单得几项,在一起通过逻辑,顺序,等关系罗列开来,构成了复杂得函数体。
我就就是在程序作业工程中老就是在各种逻辑顺序中迷糊,所以浪费了很长时间。
这次得实验设计,让我对C语言有了很大得兴趣。
我相信我还会去自学得,因为我知道只就是一门可以武装子得课程。
相信,通过这次得学习,还有以后得学习,会就是我得C语言有很大得提高。
源程序
#include
#include
#include
#include
#defineCOUNT30/*声明商品得种类为30中*/
#defineN30
voidstart();/*启动界面*/
voidinput();/*商品数据信息输入函数*/
voidchange();/*商品数据信息修改函数*/
voiddele();/*给定指定商品名称,删除商品信息*/
voidoutput();/*商