《2020(店铺管理)语言超市管理系统报告书(C语言课程设计)》由会员分享,可在线阅读,更多相关《2020(店铺管理)语言超市管理系统报告书(C语言课程设计)(42页珍藏版)》请在金锄头文库上搜索。
1、课程设计课程设计名称: 高级语言程序设计 专业班级: 计算机科学与技术0802班 学生姓名: 李旭 学号: 200848140202 指导教师: 范艳峰 课程设计时间: 2009年7月2号 计算机科学与技术 专业课程设计任务书学生姓名李旭专业班级计科0802学号200848140202题目超市管理系统课题性质其它课题来源自拟课题指导教师范艳峰同组姓名无主要内容用C程序设计中的链表作数据结构,结合C语言基本知识。编写一个超市管理系统。以把所学数据结构知识应用到实际软件开发中去。本系统应完成一下几方面的功能:1)新购物品入库Tianjia();2)物品信息删除Shanchu();3)物品信息修改X
2、iugai();4物品信息查询Chazhao();5)物品信息浏览Liulan();5)系统颜色设置yanseshezhi();6)应用程序退出Jieshu();任务要求1) 每条信息至包含:编号(id)物品名称(name)物品产地(produce)物品数量(number)物品单价(prize)2) 作为一个完整的系统,应具有友好的界面和较强的容错能3) 上机能正常运行,并写出课程设计报告参考文献C程序设计(第三版)审查意见指导教师签字:教研室主任签字:年月日1需求分析:随着现代生活质量的提高,超市这种便利的服务开始走进我们的生活,同时随着超市涌入我们的生活,如何更便利的对超市进行系统和有序的
3、操作,成为了我们需要考虑的问题,本程序运用C语言程序设计了一个超市管理系统。关系系统的的功能主要有新购物品入库、物品信息删除、物品信息修改、物品信息查询、物品信息浏览功能,在相应的硬盘上面进行存盘以防止部分数据的丢失。为了更加人性化使用此管理系统,还在MENU选项总添加了系统颜色设置功能,使用户可以根据自己的喜好修改操作界面。2概要设计(1)数据结构依据给定的物品信息和数据形式,数组必须用结构体实现。结构类型的层次结构:structimaintid;charname20;charproduce30;intnumber;floatprice;(2)模块划分依据程序的结构反和功能,遵照“自顶而下”
4、的原则,描述该程序的层次结构图一显示了该程序的层次结构,共5层:如下图:图一图一的层次结构(3)原函数清单:1、 创建函数voidchushihua()2、 增加物品函数Tianjia();3、删除物品信息函数Shanchu();4、修改物品信息函数Xiugai();5、查询物品信息函数Chazhao();6、浏览物品信息函数Liulan();7、系统颜色设置函数yanseshezhi();8、应用程序退出函数Jieshu();3运行环境:Win2003,WinXP,Win2000,NT,WinME,Win9X4开发工具和编程语言:编程语言:C语言开发工具:microsoftvisualC+6
5、.05详细设计:1、结构体变量的定义:structimaintid;charname20;charproduce30;intnumber;floatprice;3、 文件的初始化:voidchushihua()FILE*fp;structimai=1,花生牛奶,湖北武汉,1200,2.5;fp=fopen(ima.dat,w);if(fp=NULL)printf(ttt系统错误,请重试.);exit(0);fwrite(&i,sizeof(structima),1,fp);fclose(fp);4、 欢迎菜单(主函数):voidmain()printf(nn);system(color1a);
6、printf(t333333333333333333333333333333333n);printf(t33n);printf(t33n);printf(t3欢迎使用3n);printf(t33n);printf(t33n);printf(t3超市库存管理系统3n);printf(t3按任意键继续3n);printf(t33n);printf(t33n);printf(t33n);printf(t33n);printf(t33n);printf(t33n);printf(t333333333333333333333333333333333);getch();system(cls);menu()
7、;chushihua();menu();5、 选择菜单voidmenu()intchoice;printf(n【超市库存管理系统】n);printf(-系统菜单显示如下-);printf(nt=【新购物品入库】n);printf(nt=【物品信息删除】n);printf(nt=【物品信息修改】n);printf(nt=【物品信息查询】n);printf(nt=【物品信息浏览】n);printf(nt=【系统颜色设置】n);printf(nt=【应用程序退出】n);printf(nt请输入您要选择的菜单.);scanf(%d,&choice);switch(choice)case1:Tianji
8、a();break;case2:Shanchu();break;case3:Xiugai();break;case4:Chazhao();break;case5:Liulan();break;case6:yanseshezhi();break;case7:Jieshu();break;default:printf(nttttt输入无效,请您重新输入.);getch();system(cls);menu();6、 新购物品入库函数:intpanduanID(intid)/*判断所输编号是否已存在*/FILE*fp;structimai;fp=fopen(ima.date,r);if(fp=NUL
9、L)printf(ttt系统错误,请您重试.);exit(0);fread(&i,sizeof(structima),1,fp);while(!feof(fp)if(i.id=id)fclose(fp);return1;break;fread(&i,sizeof(structima),1,fp);fclose(fp);return0;voidTianjia()structimai;charchoice;FILE*fp;fp=fopen(ima.date,ab);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);labID:printf(nt请您输入要入库物品的信
10、息.n);printf(tttt物品的编号:);scanf(%d,&i.id);if(panduanID(i.id)=1)printf(tttt此编号已被使用,请您重新输入.);gotolabID;printf(tttt物品的名称:);scanf(%s,i.name);printf(tttt物品的生产地:);scanf(%s,i.produce);printf(tttt物品的数量:);scanf(%d,&i.number);printf(tttt物品的单价:);scanf(%f,&i.price);fwrite(&i,sizeof(structima),1,fp);fclose(fp);pri
11、ntf(tttttt物品信息已入库成功!n);printf(n您想继续吗?(y/n);scanf(%c,&choice);if(choice=Y|choice=y)Tianjia();elsesystem(cls);menu();7、 物品信息删除函数:voidShanchu()structimai1000;structimatemp;intdelID;charchoice;intindex=0;intj=0;FILE*fp;fp=fopen(ima.date,r);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);fread(&temp,sizeof(structima),1,fp);while(!feof(fp)iindex=temp;index+;fread(&temp,sizeof(structima),1,fp);fclose(fp);printf(nt请输入要删除的物品的编号:);scanf(%d,&delID);fopen(f:ima.date,w);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);for(j=0;jindex;j+)if(ij.id!=delID)fwrite(&ij,sizeof(structima),1,fp);fclose(fp);printf(ttttt物品