超市商品信息管理系统的设计与实现的设计方案_第1页
超市商品信息管理系统的设计与实现的设计方案_第2页
超市商品信息管理系统的设计与实现的设计方案_第3页
超市商品信息管理系统的设计与实现的设计方案_第4页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、超市商品信息管理系统的设计与实现的设计方案1. 题目超市商品信息管理系统的设计与实现2. 功能(1) 每一条记录包括一种商品的编号,商品名,生产地,数量,进货价格和卖出价格。(2) 添加功能:每回都是录入一条商品信息,但是会有提示问您是否继续接着进行商品信息的录入,如果是,您可以继续添加,不是,则返回主菜单。每回添加的信息会自动以二进制格式写入文件中。(3) 删除功能:每回您可以删除一条您所指定编号的信息。(4) 修改功能:会逐条提示您所要修改的商品信息,修改后的信息会自动以二进制格式写入文件中。(5) 查询功能:输入您所要查询的商品编号,会显示出您所要查询的商品信息。(6) 浏览功能:会显示

2、出商品的信息。(7) 退出功能:每回回到菜单界面,您可以根据菜单提示退出系统。(9) 输入任意键,可以进入系统菜单。3. 要求(1) 利用指针来实现学生成绩的数据结构设计;(2) 系统具有添加,删除,修改,查询,浏览,退出等基本功能;(3) 系统的各个调用函数用函数的形式来实现;(4) 可以将商品信息保存在文件中。(5) 可以将商品信息从文件中读取出来。4.1 主函数 void main()任意键进入4.2 系统菜单函数void menu()其中有一个 switch 循环,利用这个循环实现各个函数的调用, 当您输入的数字不在菜单范围内时,会要求您重新输入,清屏之后重新返回菜单界面,继续操作。效

3、果如下:4.3 判断函数int Panduan(int id)这是一个有返回值的函数,它不是被菜单函数引用,而是被添加函数引用,主要是判断您新添加的信息是否和之前的信息重复,如果重复,会返回值1,如果不重复则是返回0。4.4 添加函数 void Tianjia()首先以追加数据的形式打开文件,接着利用判断函数判断所添加的信息是否和先前的信息重复,如果重复,则会提示您重新输入,如果不重复,则会逐条显示提示,根据提示,开始添加信息。完毕之后,提示您是否继续,如果输入“Y”或“ y”,表示继续,函数则会引用自身,又开始新的添加,如果输入“ N”或“ n”,表示不继续,则会清屏,重新回到菜单界面。效果

4、如下:4.5 删除函数void Delete()首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请您重试”, 当有可以执行的操作,函数开始把文件中的数据存放到一个结构体数组中,接着提示您要删除的商品编号,利用循环, 将不要删除的信息重新写入文件,将删除的信息不重新写入,就是相当于删除了。完毕之后,提示您是否继续,如果输入“Y”或“ y”,表示继续,函数则会引用自身,又开始新的删除,如果输入“ N”或“ n”,表示不继续,则会清屏,重新回到菜单界面。下过如下:4.6 修改函数 void Xiugai()首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统

5、错误,请您重试”, 当有可以执行的操作,函数开始把文件中的数据存放到一个结构体数组中,关闭文件。 在以只读的方式打开,接着提示您要修改的商品编号,利用循环,将不要修改的信息重新写入文件, 而要修改的信息则在提示下修改完后重新写入文件。修改完毕之后, 提示您是否继续,如果输入“ Y”或“ y”,表示继续,函数则会引用自身,又开始新的删除,如果输入“ N”或“ n”,表示不继续,则会清屏,重新回到菜单界面。4.7 查询函数 void Chaxun()首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请您重试”,当有信息时,则提示您要查询的商品编号,判断是否有这个商品,如果有

6、,则会显示出该商品信息,完毕之后,提示您是否继续,如果输入“Y”或“ y”,表示继续,函数则会引用自身,又开始新的查询,如果输入“ N”或“ n”,表示不继续,则会清屏,重新回到菜单界面。如果没有,则会提示“输入的编号不存在,请您重新输入”。4.8 浏览函数 void Liulan()首先以只读的形式打开文件,当文件中没有可以执行的信息时,会显示“系统错误,请您重试”,当有信息时,则会逐条显示出所有商品的信息,完毕之后,提示您是否继续,如果输入“ Y”或“ y”,表示继续,函数则会引用自身,又开始新的浏览,如果输入“ N” 或“ n”,表示不继续,则会清屏,重新回到菜单界面。效果如下:N-S

7、流程图如下:fp=fopen(goods.txt,r)fp=NULL是否系统错误,!feof(fp)请您重试index+输出信息是否继续是否清屏引用 Liulan()引用 menu()4.9 退出函数void Tuichu选择退出后首先会清屏,接着显示提示“您确定要退出系统吗?如果您想退出请按y,其它键将返回主菜单”,如果选择“ Y”或“ y”,则会退出系统,如果按其他任一键,则重新回到菜单界面。5 总结:学习 C 语言一学期了, 只是第一次做这么大的编程. 刚刚接到这个任务时, 感觉无从下手,感觉自己无法完成。 但是还是抱着试试看的心态去完成了,由于上学期链表掌握的并不是很好, 所以在这次的

8、程序设计中并没有使用链表,这也可以算是此程序的一个缺点,抑或是自己的一种遗憾。 在做这个程序的过程中, 总是遇到一些自己无法解决的问题,有时候自己根本就不知道错在哪里,这也弄得自己心浮气躁的,过了一段时间,静下心来, 仔细检查错误, 认真打开以前的 C 语言书本, 对照书上的例题,一个个的排除错误,实在有不会就请教班上 C 语言学的好的同学, 他们度比较热心的帮我解决了问题,终于所编起来的C 程序可以完整的运行了, 虽然其中的过程有些枯燥, 但是做好了之后就会有一种成就感,可能这是自己第一次完成的编程大题目,这就像爬山一样,过程是艰辛的,但是当你登上山顶之后,就会有种畅快淋漓的感觉, 我想这就

9、是做编程的乐趣吧,这是我第一个做的编程,我将会留下很深的印象,我相信以后我可以做出更好的编程!程序如下 :#include#include#include#includestruct goodsint id;char name20;char produce20;int number;float bid;float price;void menu();void add();void Delete();void Xiugai();void Chaxun();void Liulan();void Tuichu();void main();void menu();void add();void Del

10、ete();void Xiugai();void Chaxun();void Liulan();void Tuichu();void main();void menu()int choice;printf(n*超市商品信息管理系统 *n);printf(-系统菜 单 显示如下-);printf(nt1.新商品登记n);printf(nt2.商品信息删除n);printf(nt3.商品信息修改n);printf(nt4.商品信息查询n);printf(nt5.商品信息浏览n);printf(nt6.退出管理系统n);printf(nt请输入您要选择的菜单:);scanf(%d,&choice);

11、switch(choice)case 1:add();break;case 2:Delete();break;case 3:Xiugai();break;case 4:Chaxun();break;case 5:Liulan();break;case 6:Tuichu();break;default:printf(nttttt输入无效,请您重新输入.!);getch();getch();menu();int Panduan(int id)FILE *fp;struct goods i;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请您重试.);

12、exit(0);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp)if(i.id=id)fclose(fp);return 1;break;fread(&i,sizeof(struct goods),1,fp);fclose(fp);return 0;void add() struct goods i; char choice;FILE *fp;fp=fopen(goods.txt,ab);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);labID:printf(nt请您输入要入库商品的信息.n);print

13、f(tttt商品的编号:);scanf(%d,&i.id);if(Panduan(i.id)=1)printf(tttt此编号已被使用,请您重新输入.);goto labID;printf(tttt商品的名称:);scanf(%s,);printf(tttt商品的生产地:);scanf(%s,duce);printf(tttt商品的数量:);scanf(%d,&i.number);printf(tttt商品的进价:);scanf(%f,&i.bid);printf(tttt商品的卖价:);scanf(%f,&i.price);fwrite(&i,sizeof(struct

14、 goods),1,fp);fclose(fp);printf(tttttt商品信息已入库成功!n);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)add();elsemenu();void Delete() struct goods i1000; struct goods temp; int delID;char choice; int index=0; int j=0; FILE *fp; fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);

15、fread(&temp,sizeof(struct goods),1,fp);while(!feof(fp)iindex=temp;index+;fread(&temp,sizeof(struct goods),1,fp);fclose(fp);printf(nt请输入要删除的商品的编号:);scanf(%d,&delID);fopen(goods.txt,w);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);for( j=0;jindex;j+)if(ij.id!=delID)fwrite(&ij,sizeof(struct goods),1,fp);fcl

16、ose(fp);printf(ttttt商品信息已清除!n);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)Delete();elsemenu();void Xiugai()int index=0;int ID,j;char choice;struct goods i1000;structgoods temp;FILE *fp;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);fread(&temp,sizeof(struct goods),1

17、,fp);while(!feof(fp)iindex=temp;index+;fread(&temp,sizeof(struct goods),1,fp);fclose(fp);fp=fopen(goods.txt,w);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);printf(nt请输入要修改的信息的商品的编号:);scanf(%d,&ID);for(j=0;j=index-1;j+)if(ij.id!=ID)fwrite(&ij,sizeof(struct goods),1,fp);elseprintf(tt商品名称修改为:);scanf(%s,ij.

18、name);printf(tt商品生产地修改为:);scanf(%s,duce);printf(tt商品数量修改为:);scanf(%d,&ij.number);printf(tt商品进价修改为:);scanf(%f,&ij.bid);printf(tt商品卖价修改为:);scanf(%f,&ij.price);fwrite(&ij,sizeof(struct goods),1,fp);fclose(fp);printf(tttt商品信息已修改.);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)Xiugai

19、();elsemenu();void Chaxun()FILE *fp;int findID;char choice;struct goods i;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请你重试.);exit(0);printf(nt请输入要查询的商品的编号.);scanf(%d,&findID);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp)if(i.id=findID)printf(nnt*商品信息 *);printf(nt商品编号 .%20dn,i.id);printf(nt

20、-);printf(nt商品名称 .%20sn,);printf(nt-);printf(nt商品产地 .%20sn,duce);printf(nt-);printf(nt进口数量 .%20dn,i.number);printf(nt-);printf(nt批发价格 .%20.3fn,i.bid);printf(nt-);printf(nt卖出价格.%20.3fn,i.price);printf(nt-);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)Chaxun();elsemenu();fre

21、ad(&i,sizeof(struct goods),1,fp);printf(ttttt输入错误,请重试);menu();fclose(fp);void Liulan()struct goods i;int index=0;char choice;FILE *fp;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请你重试.);exit(0);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp)index+;printf(nnt*商品信息 %d*,index);printf(nt商品编号 .%20

22、dn,i.id);printf(nt-);printf(nt商品名称 .%20sn,);printf(nt-);printf(nt商品产地 .%20sn,duce);printf(nt-);printf(nt进货数量 .%20dn,i.number);printf(nt-);printf(nt批发价格 .%20.3fn,i.bid);printf(nt-);printf(nt卖出价格 .%20.3fn,i.price);printf(nt-);getch();fread(&i,sizeof(struct goods),1,fp);fclose(fp);printf(n您想

23、继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)Liulan();elsemenu();void Tuichu()char choice;printf(nnnnnnnttt您确定要退出系统吗?nnnttt如果您想退出请按y, 其它键将返回主菜单 scanf( %c,&choice);.);if(choice=Y|choice=y)printf(nnnnnnnnnntttt谢谢您的使用 !);printf(nnnnnnnnnnnnnnnn);elsemenu();void main()printf(*欢迎使用超市管理系统*);printf(n

24、*输入任意键 *n);getch();menu();#include#include#include#includestruct goodsint id;char name20;char produce20;int number;float bid;float price;void menu();void add();void Delete();void Xiugai();void Chaxun();void Liulan();void Tuichu();void main();void menu();void add();void Delete();void Xiugai();void Ch

25、axun();void Liulan();void Tuichu();void main();void menu()int choice;printf(n*超市商品信息管理系统 *n);printf(-系统菜 单 显示如下-);printf(nt1.新商品登记n);printf(nt2.商品信息删除n);printf(nt3.商品信息修改n);printf(nt4.商品信息查询n);printf(nt5.商品信息浏览n);printf(nt6.退出管理系统n);printf(nt请输入您要选择的菜单: );scanf(%d,&choice);switch(choice)case 1:add()

26、;break;case 2:Delete();break;case 3:Xiugai();break;case 4:Chaxun();break;case 5:Liulan();break;case 6:Tuichu();break;default:printf(nttttt输入无效,请您重新输入.!);getch();getch();menu();int Panduan(int id)FILE *fp;struct goods i;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);fread(&i,sizeof(st

27、ruct goods),1,fp);while(!feof(fp)if(i.id=id)fclose(fp);return 1;break;fread(&i,sizeof(struct goods),1,fp);fclose(fp);return 0;void add()struct goods i;char choice;FILE *fp;fp=fopen(goods.txt,ab);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);labID:printf(nt请您输入要入库商品的信息.n);printf(tttt商品的编号:);scanf(%d,&i.id

28、);if(Panduan(i.id)=1)printf(tttt此编号已被使用,请您重新输入.);goto labID;printf(tttt商品的名称:);scanf(%s,);printf(tttt商品的生产地:);scanf(%s,duce);printf(tttt商品的数量:);scanf(%d,&i.number);printf(tttt商品的进价:);scanf(%f,&i.bid);printf(tttt商品的卖价:);scanf(%f,&i.price);fwrite(&i,sizeof(struct goods),1,fp);fclose(fp);pri

29、ntf(tttttt商品信息已入库成功!n);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)add();elsemenu();void Delete() struct goods i1000; struct goods temp; int delID;char choice; int index=0; int j=0; FILE *fp; fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);fread(&temp,sizeof(struct go

30、ods),1,fp);while(!feof(fp)iindex=temp;index+;fread(&temp,sizeof(struct goods),1,fp);fclose(fp);printf(nt请输入要删除的商品的编号:);scanf(%d,&delID);fopen(goods.txt,w);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);for( j=0;jindex;j+)if(ij.id!=delID)fwrite(&ij,sizeof(struct goods),1,fp);fclose(fp);printf(ttttt商品信息已清除!

31、n);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)Delete();elsemenu();void Xiugai() int index=0; int ID,j;char choice;struct goods i1000;structgoods temp;FILE *fp;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);fread(&temp,sizeof(struct goods),1,fp);while(!feof(fp)iindex

32、=temp;index+;fread(&temp,sizeof(struct goods),1,fp);fclose(fp);fp=fopen(goods.txt,w);if(fp=NULL)printf(ttt系统错误,请您重试.);exit(0);printf(nt请输入要修改的信息的商品的编号:);scanf(%d,&ID);for(j=0;j=index-1;j+)if(ij.id!=ID)fwrite(&ij,sizeof(struct goods),1,fp);elseprintf(tt商品名称修改为:);scanf(%s,);printf(tt商品生产地修改为:);

33、scanf(%s,duce);printf(tt商品数量修改为:);scanf(%d,&ij.number);printf(tt商品进价修改为:);scanf(%f,&ij.bid);printf(tt商品卖价修改为:);scanf(%f,&ij.price);fwrite(&ij,sizeof(struct goods),1,fp);fclose(fp);printf(tttt商品信息已修改.);printf(n您想继续吗 ?(y/n);scanf( %c,&choice);if(choice=Y|choice=y)Xiugai();elsemenu();void Chaxun()FILE *fp;int findID;char choice;struct goods i;fp=fopen(goods.txt,r);if(fp=NULL)printf(ttt系统错误,请你重试.);exit(0);printf(nt请输入要查询的商品的编号.);scanf(%d,&findID);fread(&i,sizeof(struct goods),1,fp);while(!feof(fp)if(i.id=findID)printf(nnt*商品信息 *);printf(nt商品编号 .%20dn,i.id);printf(nt-);printf(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论