1、 Xiugai();5、查询物品信息函数Chazhao();6、浏览物品信息函数Liulan();7、系统颜色设置函数 yanseshezhi();8、应用程序退出函数 Jieshu();3 运行环境:Win2003, WinXP, Win2000, NT, WinME, Win9X4 开发工具和编程语言:编程语言:C语言开发工具:microsoft visual C+ 6.05 详细设计:1、结构体变量的定义:struct ima3、 文件的初始化:void chushihua() FILE *fp; struct ima i=1,花生牛奶,湖北武汉,1200,2.5; fp=fopen(i
2、ma.datw); if(fp=NULL) printf(ttt系统错误,请重试. exit(0); fwrite(&i,sizeof(struct ima),1,fp); fclose(fp);4、 欢迎菜单(主函数): void main()nn system(color 1at3 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 3nt3 3nt3 欢迎使用 3nt3 超市库存管理系统 3nt3 按任意键继续 3nt3 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 3 3 getch();cls menu(); chushihua();5、 选择菜单 void menu() int choice;n【超市库存管理系统】n-系统菜单显示如下-nt=【 新购物品入库 】nnt=【 物品信息删除 】nnt=【 物品信息修改 】nnt=【 物品信息查询 】nnt=【 物品信息浏览 】nnt=【 系统颜色设置 】nnt=【 应用程序退出 】nnt请输入您要选择的菜单. scanf(%d,&choice); switch(choice) case 1: Tianjia(); break; case 2: Shanchu(); case 3:
4、Xiugai(); case 4: Chazhao(); case 5: Liulan(); case 6: yanseshezhi(); case 7: Jieshu(); default: printf(nttttt输入无效,请您重新输入. getch(); system( menu();6、 新购物品入库函数: int panduanID(int id) /*判断所输编号是否已存在*/ struct ima i;ima.daterttt系统错误,请您重试. fread(& while(!feof(fp) if(i.id=id) fclose(fp); return 1; break; f
5、read(& return 0;void Tianjia() struct ima i;char choice;ab labID:nt请您输入要入库物品的信息.ntttt 物品的编号:i.id); if(panduanID(i.id)=1)tttt此编号已被使用,请您重新输入. goto labID;tttt 物品的名称:%s,i.name);tttt 物品的生产地:,i.produce);tttt 物品的数量:i.number);tttt 物品的单价:%fi.price);tttttt 物品信息已入库成功!nn您想继续吗?(y/n) %c if(choice=Y|choice=y) else
6、7、 物品信息删除函数: void Shanchu() struct ima i1000; struct ima temp; int delID; char choice; int index=0; int j=0;temp,sizeof(struct ima),1,fp); iindex=temp; index+;nt请输入要删除的物品的编号:delID); fopen(f:ima.date for( j=0;jindex;j+) if(ij.id!=delID) fwrite(&ij,sizeof(struct ima),1,fp);ttttt物品信息已清除!8、 物品信息修改函数: vo
7、id Xiugai() int index=0; int ID,j; struct ima i1000;ttt系统错误,请您重试.nt请输入要修改的信息的物品的编号:ID); for(j=0;=index-1;=ID) else printf(tt物品名称修改为: scanf(,ij.name);tt物品生产地修改为:,ij.produce);tt物品数量修改为:ij.number);tt物品单价修改为:ij.price);tttt物品信息已修改.9、 物品信息查询函数: void Chazhao() int findID;struct ima i; ttt系统错误,请你重试. finID:n
8、t请输入要查询的物品的编号.findID); if(i.id=findID)nnt*物品信息*nt物品编号.%30dn,i.id);nt-nt物品名称.%30snnt生产厂家.%30snnt进口数量.%30dn,i.number);nt批发价格.%30.3fn,i.price); if(choice= Chazhao(); else system( menu();ttttt输入的编号不存在,请您重新输入. goto finID;10、 物品信息浏览函数: void Liulan()nnt*物品信息%d*,index);11、 系统颜色设置函数: void yanseshezhi() int a
9、;nntt选择以下方案nnntt1*红底黑字nnntt2*白底黑字nnntt3*黑底红字nnntt4*绿底蓝字nnntt5*黄底紫字nnntt6*系统默认nnnttttt请挑选您喜爱的颜色.a); switch(a) case 1: system(color 40 case 2:color 70 case 3:color 04 case 4:color 21 case 5:color 65 case 6: default:nnttttt输入无效,重新输入.n选择的颜色您还满意吗?(y返回主菜单/n继续选择) 12、 应用程序退出函数: void Jieshu()char choice;nnnn
10、nnnttt您确定要退出系统吗?nnnttt如果您想退出请按,其它键将返回主菜单.nnnnnnnnnntttt谢谢您的使用!nnnnnnnnnnnnnnnn6 调试分析:在此程序的编程前,我上网搜集了一些关于超市管理系统的资料,然后大体决定了编程的大致算法,即利用函数贯穿整个程序,通过SWITCH函数进行各个函数的选择;同时,进过查阅,我添加了系统颜色设置功能,同是应用了清屏函数,课下讲程序大致写好后,我上机进行了调试;但却出现了80几处错误,大都是提示 miss “;” before tybe;经过分析,程序算法并无错误;后来询问老师,才发现原来在我所编的程序中,有需要变量时,都是用的时候才定义,但正确的方法是应该在函数的开头就应该将所要用的变量进行生命,否则就出现了编译错误。7测试结果:1、欢迎界面2、系统选择界面:3、新购物品入库:4、物品信息删除:5、物品信息修改:6、物品信息查询7、物品信息浏览:8、系统颜色设置: