食品信息管理.docx

上传人:b****8 文档编号:9136632 上传时间:2023-02-03 格式:DOCX 页数:27 大小:97.05KB
下载 相关 举报
食品信息管理.docx_第1页
第1页 / 共27页
食品信息管理.docx_第2页
第2页 / 共27页
食品信息管理.docx_第3页
第3页 / 共27页
食品信息管理.docx_第4页
第4页 / 共27页
食品信息管理.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

食品信息管理.docx

《食品信息管理.docx》由会员分享,可在线阅读,更多相关《食品信息管理.docx(27页珍藏版)》请在冰豆网上搜索。

食品信息管理.docx

食品信息管理

沈阳航空航天大学

课程设计

学号2012040702036

班级24070201

姓名张伟

指导教师王晓岩

2013年9月20日

沈阳航空航天大学

课程设计任务书

院系:

自动化专业:

自动化班级:

24070201班

学号:

2012040702036题目:

食品信息管理

一、课程设计时间

2013年9月8日起至2013年9月13日止

二、课程设计内容

某食品商店货物信息保存在文本文件中,信息内容包括:

食品编号,食品名称,生产厂家,单价(元),进货数量,库存数量。

程序应实现以下功能:

信息录入、修改;按编号查询、按名称查询;统计库存的价值总量、统计食品来源于哪些不同厂家。

要求食品类别不少于10种,厂家数不少于5种,不同食品可以来源相同厂家。

用户界面中的菜单至少应包括“信息维护”、“查询”、“统计”、“退出”4项。

三、课程设计要求

程序质量:

✧贯彻事件驱动的程序设计思想。

✧用户界面友好,修饰适宜,功能明确,操作方便;适当增加1~2项其它功能。

✧代码应规范(适当缩进、必要的注释),以增强程序的可读性。

课程设计说明书:

✧课设结束后,上交课程设计说明书和源程序。

课程设计说明书的内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、成绩

六、教师评语

 

目录

一、需求分析................................................................3

二、设计分析................................................................3

三、主要界面截图........................................................5

四、主要技术…………………………………………7

五、个人总结..............................................................13

六、参考文献..............................................................13

七、源程序..................................................................14

一、需求分析

食品信息管理,具体需求如下:

1)、信息维护

2)、查询

3)、统计

4)、退出

从程序设计的任务书中分析可以得知,整个程序的设计实现基本上分为以下模块,其中每一个模块对应一个函数,它们所需函数是:

1、录入文件shipin.txt中产品信息函数voidinput()

2、修改文件shipin.txt中产品信息函数voidmodify()

3、按食品编号查询函数voidsearch_number()

4、按食品名称查询函数voidsearch_name()

5、统计食品的价值总量和来源厂家函数voidstatistic_value()

6、为使不同食品可以来自相同厂家定义函数voidstatistic_name()

二、设计分析

整个程序框图如下:

主菜单

menu:

选择函数switch(getchar())

1

2

3

4

信息维护

查询

统计

退出

gotomenu

三、主要界面截图

图1.程序主菜单

图2.按编号查询食品信息

图3.按食品名称查询信息

图4.统计所有厂家名称

四、技术要点

{

charnumber[30];

charname[30];

charproducer[30];

floatprice;

intgood_num;

intkucun_num;

};

此部分定义结构体,产品编号,名称,生产厂家,价格!

voidinput()

FILE*fp;

intn,i;

structshipinsp;

if((fp=fopen("shipin.txt","rb+"))!

=NULL)

此部分录入信息到shipin.txt文件中!

voidmodify()

{

FILE*fp;

intn,i,num,flag;

charnumber[30];

structshipinsp[20];

printf("请输入要修改食品的编号:

");

scanf("%s",number);

i=0;

flag=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp[i].number);

fscanf(fp,"\t%s",sp[i].name);

fscanf(fp,"\t%s",sp[i].producer);

fscanf(fp,"\t%f",&sp[i].price);

fscanf(fp,"\t%d",&sp[i].good_num);

fscanf(fp,"\t%d",&sp[i].kucun_num);

if(strcmp(sp[i].number,number)==0)

{

printf("\n请输入食品的名称:

\n");

scanf("%s",sp[i].name);

printf("\n请输入食品的生产厂家:

");

scanf("%s",sp[i].producer);

printf("\n请输入食品的价格:

\n");

scanf("%f",&sp[i].price);

printf("\n请输入食品的进货数量:

\n");

scanf("%d",&sp[i].good_num);

printf("\n请输入食品的库存数量:

\n");

scanf("%d",&sp[i].kucun_num);

flag=1;

}

i++;

}

}

num=i;

fclose(fp);

此部分修改已录入shipin.txt文件中的食品信息!

voidsearch_number()

{

FILE*fp;

intn,i,num,flag;

charnumber[30];

structshipinsp;

printf("请输入要查询食品的编号:

");

scanf("%s",number);

i=0;

flag=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp.number);

fscanf(fp,"\t%s",sp.name);

fscanf(fp,"\t%s",sp.producer);

fscanf(fp,"\t%f",&sp.price);

fscanf(fp,"\t%d",&sp.good_num);

fscanf(fp,"\t%d",&sp.kucun_num);

if(strcmp(sp.number,number)==0)

{

printf("\n%s",sp.number);

printf("\t%s",sp.name);

printf("\t%s",sp.producer);

printf("\t%f",sp.price);

printf("\t%d",sp.good_num);

printf("\t%d",sp.kucun_num);

flag=1;

}

i++;

}

}

if(flag==0)

{

printf("\n没有找到此食品");

}

fclose(fp);

}

此部分按编号查询shipin.txt文件中的食品信息!

voidstatistic_value()

{

FILE*fp;

intn,i,num,flag;

floatff;

charnumber[30];

structshipinsp;

i=0;

flag=0;

ff=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp.number);

fscanf(fp,"\t%s",sp.name);

fscanf(fp,"\t%s",sp.producer);

fscanf(fp,"\t%f",&sp.price);

fscanf(fp,"\t%d",&sp.good_num);

fscanf(fp,"\t%d",&sp.kucun_num);

ff+=sp.kucun_num*sp.price;

}

}

printf("\n库存总价值为%f",ff);

fclose(fp);

}

此部分统计所有食品的价值总量!

voidstatistic_name()

{

FILE*fp;

intn,i,j,k,num,flag;

floatff;

charnumber[30];

structshipinsp[30];

i=0;

flag=0;

ff=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp[i].number);

fscanf(fp,"\t%s",sp[i].name);

fscanf(fp,"\t%s",sp[i].producer);

fscanf(fp,"\t%f",&sp[i].price);

fscanf(fp,"\t%d",&sp[i].good_num);

fscanf(fp,"\t%d",&sp[i].kucun_num);

i++;

}

}

num=i;

k=0;

printf("\n%s",sp[0].producer);

for(j=1;j

{

flag=0;

for(i=0;i

{

if(strcmp(sp[i].producer,sp[j].producer)==0)

{

flag=1;

}

}

if(flag==0)

{

printf("\t%s",sp[j].producer);

}

}

fclose(fp);

}

voidmain()

{

inti,choice;

for(i=0;;i++)

此部分统计所有厂家名称并使不同食品可以来自相同厂家!

voidmain()

{

inti,choice;

for(i=0;;i++)

{

printf("\n*************************主菜单*************************");

printf("\n");

printf("\n简单的食物信息管理程序,欢迎使用哦!

");

printf("\n240702012012040702036张伟");

printf("\n*********************************************************");

printf("\n");

printf("1录入信息\r\n");

printf("2修改信息\r\n");

printf("3按编号查询信息\r\n");

printf("4按名称查询信息\r\n");

printf("5统计库存总额\r\n");

printf("6统计商家名称\r\n");

printf("7退出\r\n");

printf("\n");

printf("********************************************************");

printf("\n请选择相应操作功能数字!

\n");

scanf("%d",&choice);

switch(choice)

{

case1:

input();break;

case2:

modify();break;

case3:

search_number();break;

case4:

search_name();break;

case5:

statistic_value();break;

case6:

statistic_name();break;

case7:

exit(0);break;

default:

printf("\n输入错误\n");

}

}

}

此部分程序的主菜单和执行各种功能的结构!

五、个人总结

通过一周的课程设计训练,我既有程序的运行的喜悦,还有久久不能找出错误痛苦。

在以前有听说过课程设计,但是没有想到它原来是这么的难,开始时根本无从下手,不知道怎么开始。

后来在同学和老师的帮助下,渐渐的明白了整体思路,一点点的完成了程序。

通过这次课程设计的学习,我深刻的了解了C语言的重要性,C语言程序的设计在现实生活中有很大的用途,很多问题都是可以通过C语言解决,在这5天的学习中,我的能力有了很大的提高,进而了解了一些从来没有接触的函数和功能等。

这次课程设计使我对C语言产生极大的好奇心,对C语言有极大兴趣,这对我以后学习C语言有很大的帮助,使我明白了只有亲自去做,才能够收获,才能获得真正的知识。

六、参考文献

1C程序设计(第三版).谭浩强著.北京:

清华大学出版社

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

 

七、源程序

#include

#include

#include

#include

structshipin//食品

{

charnumber[30];

charname[30];

charproducer[30];

floatprice;

intgood_num;

intkucun_num;

};

voidinput()

{

FILE*fp;

intn,i;

structshipinsp;

if((fp=fopen("shipin.txt","rb+"))!

=NULL)

{

printf("请输入要添加食品的数量:

");

scanf("%d",&n);

fseek(fp,0L,2);

for(i=1;i<=n;i++)

{

printf("\n请输入第%d个食品的编号:

\n",i);

scanf("%s",sp.number);

printf("\n请输入第%d个食品的名称:

\n",i);

scanf("%s",sp.name);

printf("\n请输入第%d个食品的生产厂家:

\n",i);

scanf("%s",sp.producer);

printf("\n请输入第%d个食品的价格:

\n",i);

scanf("%f",&sp.price);

printf("\n请输入第%d个食品的进货数量:

\n",i);

scanf("%d",&sp.good_num);

printf("\n请输入第%d个食品的库存数量:

\n",i);

scanf("%d",&sp.kucun_num);

fprintf(fp,"\r\n%s",sp.number);

fprintf(fp,"\t%s",sp.name);

fprintf(fp,"\t%s",sp.producer);

fprintf(fp,"\t%f",sp.price);

fprintf(fp,"\t%d",sp.good_num);

fprintf(fp,"\t%d",sp.kucun_num);

}

}

else

{

fp=fopen("shipin.txt","wb");

printf("请输入要添加食品的数量:

");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

printf("\n请输入第%d个食品的编号:

\n",i);

scanf("%s",sp.number);

printf("\n请输入第%d个食品的名称:

\n",i);

scanf("%s",sp.name);

printf("\n请输入第%d个食品的生产厂家:

\n",i);

scanf("%s",sp.producer);

printf("\n请输入第%d个食品的价格:

\n",i);

scanf("%f",&sp.price);

printf("\n请输入第%d个食品的进货数量:

\n",i);

scanf("%d",&sp.good_num);

printf("\n请输入第%d个食品的库存数量:

\n",i);

scanf("%d",&sp.kucun_num);

fprintf(fp,"\r\n%s",sp.number);

fprintf(fp,"\t%s",sp.name);

fprintf(fp,"\t%s",sp.producer);

fprintf(fp,"\t%f",sp.price);

fprintf(fp,"\t%d",sp.good_num);

fprintf(fp,"\t%d",sp.kucun_num);

}

}

fclose(fp);

}

voidmodify()//修改

{

FILE*fp;

intn,i,num,flag;

charnumber[30];

structshipinsp[20];

printf("请输入要修改食品的编号:

");

scanf("%s",number);

i=0;

flag=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp[i].number);

fscanf(fp,"\t%s",sp[i].name);

fscanf(fp,"\t%s",sp[i].producer);

fscanf(fp,"\t%f",&sp[i].price);

fscanf(fp,"\t%d",&sp[i].good_num);

fscanf(fp,"\t%d",&sp[i].kucun_num);

if(strcmp(sp[i].number,number)==0)

{

printf("\n请输入食品的名称:

\n");

scanf("%s",sp[i].name);

printf("\n请输入食品的生产厂家:

");

scanf("%s",sp[i].producer);

printf("\n请输入食品的价格:

\n");

scanf("%f",&sp[i].price);

printf("\n请输入食品的进货数量:

\n");

scanf("%d",&sp[i].good_num);

printf("\n请输入食品的库存数量:

\n");

scanf("%d",&sp[i].kucun_num);

flag=1;

}

i++;

}

}

num=i;

fclose(fp);

fp=fopen("shipin.txt","wb");

for(i=0;i<=num;i++)

{

fprintf(fp,"\r\n%s",sp[i].number);

fprintf(fp,"\t%s",sp[i].name);

fprintf(fp,"\t%s",sp[i].producer);

fprintf(fp,"\t%f",sp[i].price);

fprintf(fp,"\t%d",sp[i].good_num);

fprintf(fp,"\t%d",sp[i].kucun_num);

}

fclose(fp);

}

voidsearch_number()

{

FILE*fp;

intn,i,num,flag;

charnumber[30];

structshipinsp;

printf("请输入要查询食品的编号:

");

scanf("%s",number);

i=0;

flag=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp.number);

fscanf(fp,"\t%s",sp.name);

fscanf(fp,"\t%s",sp.producer);

fscanf(fp,"\t%f",&sp.price);

fscanf(fp,"\t%d",&sp.good_num);

fscanf(fp,"\t%d",&sp.kucun_num);

if(strcmp(sp.number,number)==0)

{

printf("\n%s",sp.number);

printf("\t%s",sp.name);

printf("\t%s",sp.producer);

printf("\t%f",sp.price);

printf("\t%d",sp.good_num);

printf("\t%d",sp.kucun_num);

flag=1;

}

i++;

}

}

if(flag==0)

{

printf("\n没有找到此食品");

}

fclose(fp);

}

voidsearch_name()

{

FILE*fp;

intn,i,num,flag;

charnumber[30];

structshipinsp;

printf("请输入要查询食品的名称:

");

scanf("%s",number);

i=0;

flag=0;

if((fp=fopen("shipin.txt","r"))!

=NULL)

{

while(!

feof(fp))

{

fscanf(fp,"\n%s",sp.number);

fscanf(fp,"\t%s",sp.name);

fscanf(fp,"\t%s",s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1