c语言超市管理系统报告书(C语言课程设计)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功