某医药公司售货系统1.doc
- 文档编号:1293884
- 上传时间:2023-04-30
- 格式:DOC
- 页数:15
- 大小:302KB
某医药公司售货系统1.doc
《某医药公司售货系统1.doc》由会员分享,可在线阅读,更多相关《某医药公司售货系统1.doc(15页珍藏版)》请在冰点文库上搜索。
题目:
某医药公司售货系统
(1)
一、课程设计时间
2010~11第2学期第15周,共计1周,20学时。
二、课程设计内容
用C语言编写软件完成以下任务:
1录入药品信息;
2顾客买药处理模块;
3查询某日某种药品的销售情况。
三、课程设计要求
1.程序质量:
l贯彻结构化程序设计思想。
l用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
l用户界面中的菜单至少应包括“药品信息录入”、“顾客买药处理”、“查询某种药品销售信息”、“退出”4项。
l代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2.课程设计说明书:
课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、说明书成绩
六、教师评语
沈阳航空航天大学设计用纸
目录
一、需求分析 1
二、设计分析 2
三、主要界面截图 5
四、技术要点 7
五、个人总结 9
六、参考文献 9
七、源程序 10
13
一、需求分析
根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。
该系统是一个较典型的物品销售系统,其使用者被假定为某药品公司的销售管理人员,系统应该具有页面简洁、操作稳定、功能齐全的特点。
1.简洁性分析
药品销售页面条理清晰,功能明了,在小巧的页面中包含了各种操作提示,能够便于操作者进行页面分析和处理。
2.稳定性分析
指系统比较稳定,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。
3.主要功能分析
(1)药品录入:
允许用户输入药品名称、库存数量、已销售数量、进价、售价。
对用户由于疏忽录入的非法数据,能够及时提示并更正。
(2)药品销售:
允许顾客对已录入药品进行购买操作,当库存不足是,对顾客进行友好的库存不足提示。
(3)药品查询:
用户输入药品,系统规则地在界面显示查询结果,包括药品库存数量、销售数量以及已获利润。
二、设计分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:
录入药品信息函数(input),顾客买药处理(buy),查询药品信息(find)。
1、录入药品信息函数
主要实现程序最初运行时药品信息的录入;
2、顾客买药处理函数
主要实现程序运行中按照药品号码对药品的数据记录进行处理;
3、查询药品信息函数
允许按照药品名对各种药品信息信息进行查询,可以随时对药库的现存状况进行查看,包括药品名字、已售出量、库存量以及该药品已获利润。
4、程序结构图
主函数main:
图1
药品信息录入函数input:
图2
药品购买函数buy:
药品查询函数find:
图3
图4
三、主要界面截图
图5药品信息录入
图6药品销售模块
图7药品信息查询
图8退出界面
四、技术要点
1、结构体的应用
定义了结构体用来描述药品的名称、生产厂家、库存数量、销售数量、进价和售价。
具体的定义如下:
charname[10]-----药品的名称,charproductor[20]----厂家,floatjinjia-----进价,floatshoujia----售价,intnum1----库存数量,intnum2----销售数量。
2、程序详细说明
本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。
在这些函数当中,药品信息录入函数,顾客买药处理,查询药品信息函数是程序中较为核心的部分,下面分别进行说明。
(1)、药品信息录入
药品信息被存在结构体里,需要把药品的名称、生产商、进价、售价、库存量和售出量分别输入到结构体里。
用于统计药品数量的n++,可以实现多种药品信息的输入。
当在输入药品名为‘0’时,跳出药品信息的录入。
(2)、顾客买药处理函数
该函数的核心内容是先查找到所要购买的药品。
用gets函数获得要查找药品名,如果查找药品名和结构体里面事先存储好的药品名称不符合,那么便出现找不到该药品信息。
如果和已有名称匹配,那么便出现购买对话‘你要买多少’,如果购买数量大于库存,系统会以‘库存不足’而无法交易,反之顺利进行交易,同时库存量减少,销售量增加。
(3)、查询药品信息函数
该函数的核心内容是通过输入要查找的药品名称,在结构体中逐一对照已有药品和要查找的药品。
如果和已有药品名称符合,则显示该药品的售出量、库存量和利润的情况,如果没有符合名称,则出现‘找不到该药品信息!
’对话框。
五、个人总结
为期一周的C语言课程设计结束了,通过这一个星期的课设,使我对C语言有了更深入、更全面的了解,同时也发现自己的英文和函数基础以及C语言知识的实际运用都不是很好,对很多地方不是特别懂,甚至对有些概念都还是很模糊。
另外我发现C语言与我们日常生活中许多应用息息相关,所以把C语言学好时非常重要的。
在此次课程设计当中遇到了许多问题和编译上的错误都是平时上课不注意听讲所造成的,所以今后一定要认真,努力学习所学专业和课程。
对于该药品销售程序,系统具有页面简洁、操作稳定、方便快捷的特点,大体上完成了题目上的要求。
但是总体上也觉得不够完善,比如还缺少了文件信息录入和对不同销售日期的记录。
如果用string函数把药品信息串联成表格,那么外观就更美观,功能更强大了。
六、参考文献
1谭浩强.C程序设计.北京:
清华大学出版社,2005
2刘成等.C语言程序设计实验指导与习题集.北京:
中国铁道出版社,2006。
七、源程序
#include
#include
#include
#include
typedefstruct
{
charname[10];//编号
charproductor[20];//厂家
floatjinjia;
floatshoujia;
intnum1;//num1指库存数量
intnum2;//num2指销售数量
}medicine;
intn;
voidinput(medicinemed[]);
voidbuy(medicinemed[]);
voidfind(medicinemed[]);
voidmain()
{
medicinemed[100];
charflag;
n=0;
while
(1)
{
printf("********************************************************************\n");
printf("*************小型药品管理程序*************\n");
printf("*************1.药品信息录入2.顾客买药处理*************\n");
printf("*************3.查询药品信息4.退出*************\n");
printf("*************请选择1-4:
*************\n");
printf("*********2009041101048********张文龙********94110102****************\n");
printf("********************************************************************\n");
fflush(stdin);
scanf("%d",&flag);
switch(flag)
{
case1:
input(med);break;
case2:
buy(med);break;
case3:
find(med);break;
case4:
exit(0);
default:
printf("错误\n");
}
}
}
voidinput(medicinemed[])
{
printf("请输入药品信息(编号输入0表示结束):
\n");
while
(1)
{
printf("药品%d的名称:
",n+1);
fflush(stdin);
gets(med[n].name);
if(strcmp(med[n].name,"0")==0)
break;
printf("药品%d的生产商:
",n+1);
scanf("%s",&med[n].productor);
printf("药品%d的进价:
",n+1);
scanf("%f",&med[n].jinjia);
printf("药品%d的售价:
",n+1);
scanf("%f",&med[n].shoujia);
printf("药品%d的库存量:
",n+1);
scanf("%d",&med[n].num1);
printf("药品%d的售出量:
",n+1);
scanf("%d",&med[n].num2);
n++;
}
}
voidbuy(medicinemed[])
{
inti,number;
chara[10];
charflag2=0;
printf("请输入你要买药品的名称:
\n");
fflush(stdin);
gets(a);
for(i=0;i { if(strcmp(a,med[i].name)==0) { flag2=1; printf("你要买多少: \n"); scanf("%d",&number); if(number>med[i].num1) { printf("库存量不足! \n"); } else { printf("售价为%.2f\n",med[i].shoujia); med[i].num2+=number; med[i].num1-=number; printf("完成! \n"); } break; } } if(flag2==0) { printf("找不到该药品信息! \n"); } } voidfind(medicinemed[]) { inti; chara[10]; charflag2=0; printf("你所要找药品的名称\n"); fflush(stdin); gets(a); for(i=0;i { if(strcmp(a,med[i].name)==0) { flag2=1; printf("%s药品已经售出%d,还剩%d\n",med[i].name,med[i].num2,med[i].num1); printf("该药品获利%.2f\n: ",med[i].num2*(med[i].shoujia-med[i].jinjia)); break; } } if(flag2==0) { printf("找不到该药品信息! \n"); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医药公司 售货 系统