《C语言程序设计》药房管理系统文书借鉴Word格式文档下载.docx
《《C语言程序设计》药房管理系统文书借鉴Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》药房管理系统文书借鉴Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:
实现药品的添加、修改、删除等功能;
3、进一步要求:
实现排序及统计功能。
要求:
1、用C语言实现程序设计;
2、系统的各个功能模块要求用函数实现;
3、界面友好(良好的人机交互),程序加必要的注释。
2、功能描述(对系统要实现的功能进行描述,正式报告需将括号内文字删除)
1、能正确地录入药品信息并保存下来。
2、能够有效、快速地查看全部药品的信息。
3、可以查看某一药品的信息(按药品的默认序号查看)4、可以查看某一药品的信息(按药品的编号进行查看)5、能够按照管理人员的意愿修改任意药品的信息6、能修改药品信息7、此系统还能对药品的单价进行排序
三、概要设计(根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能,正式报告需将括号内文字删除)
主界面
输入药品信息
修改药品信息
删除药品信息
保存退出
统计药品数量
药品排序
药品编号
库存数量
单价
名称
品牌
修改名称
全部删除
删除单个
库存数量排序
单价排序
添加药品
输入名称
输入品牌
输入数量
输入单价
输入编号
是否继续
是
否
删除药品主界面
单个删除
确认
取消
按名称删除
确认是否删除
删除成功
四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用到的数据结构、算法实现的主要源代码等,正式报告需将括号内文字删除)
#include<
stdio.h>
stdlib.h>
string.h>
conio.h>
structmedicine
{
charname[20];
//药品名称
charnumber[50];
//药品编号
charprice[50];
//单价
charinventory[50];
//库存数量
charbrand[20];
//品牌
}medicine[100];
//假设最大数为100.
//定义全局变量num
intnum;
intmenu_select()
chars[80];
inta;
/*定义整形变量*/
system("
cls"
);
printf("
\t\t-------------您好!
您已进入药房管理系统-----------\n\n"
\t\t\t1.输入药品信息\n"
\t\t\t2.查看药品信息\n"
\t\t\t3.修改药品信息\n"
\t\t\t4.按编号查找药品\n"
\t\t\t5.按价格排序\n"
\t\t\t6.删除药品信息\n"
\t\t\t7.退出\n"
\t\t------------------------------------------\n\n"
do{
printf("
Enteryouchoice(1~7):
"
scanf("
%s"
s);
a=atoi(s);
}
while(a<
1||a>
7);
returna;
}
intaddmedicine()
\t\t\t--------------请输入您要保存的信息------------\n"
\t\t\t输入药品名称:
\n"
scanf("
medicine[num].name);
\t\t\t输入药品编号:
medicine[num].number);
\t\t\t单价:
medicine[num].price);
\t\t\t品牌:
medicine[num].brand);
\t\t\t库存数量:
medicine[num].inventory);
num++;
\t\t\t是否继续添加?
(Y/N):
if(getch()=='
y'
||getch()=='
Y'
)
addmedicine();
return(0);
voidmodifybyname()//按药品名称修改
charc;
inti,mark=0;
charname[20];
printf("
\n\t\t请输入要修改的药品名称:
name);
if(num==0)
{
\n\t\t文件中无相关药品"
\n\t\t按任意键返回主菜单"
getch();
mark++;
return;
}
for(i=0;
i<
num;
i++)
{
if(strcmp(medicine[i].name,name)==0)
\n\t\t以下是您要修改的药品信息"
\n\t\t药品名称:
%s"
medicine[i].name);
\n\t\t药品编号:
medicine[i].number);
\n\t\t单价:
medicine[i].price);
\n\t\t品牌:
medicine[i].brand);
\n\t\t库存数量:
medicine[i].inventory);
\n\t\t是否修改(y/n)"
if(getch()=='
\n\t----------------------请选择修改信息-------------------------"
\n\t1-修改药品名称"
\n\t2-修改药品编号"
\n\t3-修改单价"
\n\t4-修改品牌"
\n\t5-修改库存数量"
\n\t--------------------------------------------------------------------------"
\n\t请选择您所要的服务:
scanf("
&
c);
switch(c)
{
case'
1'
:
\n\t请输入新药品名称:
"
break;
case'
2'
printf("
\n\t请输入新药品编号:
3'
\n\t请输入新单价:
case'
4'
\n\t请输入新品牌:
5'
\n\t请输入新库存数量:
}
}
if(mark==0)
\n\t\t药品信息修改完毕"
\n\t是否继续修改?
modifybyname();
return;
}
voidlist()
inti;
if(num!
=0)
\t\t\t----------已为您显示所有药品信息----------\n"
for(i=0;
\t\t\t药品名称:
%s\n"
\t\t\t药品编号:
\t\t\t单价:
%s\n"
\t\t\t库存数量:
if(i+1<
num)
system("
pause"
\t\t\t------------------------------\n"
else
\t\t\t系统中无任何记录\n"
\t\t\t按任意键返回主菜单:
getch();
intsearchbyname()
intmark=0;
\t\t\t----------按药品名称查找----------\n"
\t\t\t请输入药品名称:
if(strcmp(medicine[i].name,name)==0)
\t\t\t-------以下是您查找的药品信息-------\n"
medicine[i].in