《C语言程序设计》药房管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
(201 —201 学年第学期)
课程:_________ 高级语言程序设计
题目:_________ 药房管理系统______________ 姓名: ________________________________________ 专业: ________________________________________ 班级: ________________________________________ 学号: ________________________________________ 指导教师:_____________________________________
完成时间: ____________________________________
、课程设计的内容(课程设计题目,正式报告需将括号内文字删除)药房管理系统
功能:设计药房管理系统,输入药品基本信息(药品编号、名称、单价、库存数量、品牌),并实现以下功能:
1、修改、删除指定药品的信息
2、按单价或库存数量排序并显示药品信息
3、统计指定品牌药品数量
分步实施:
1 、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2 、完成最低要求:实现药品的添加、修改、删除等功能; 3、进一步要求:实现排序及统计功能。
要求: 1、用 C 语言实现程序设计; 2、系统的各个功能模块要求用函数实现;
3 、界面友好(良好的人机交互),程序加必要的注释。
二、功能描述(对系统要实现的功能进行描述,正式报告需将括号内文字删除)
1、能正确地录入药品信息并保存下来。 2 、能够有效、快速地查看全部药品的信息。3、可
以查看某一药品的信息(按药品的默认序号查看)4 、可以查看某一药品的信息(按药品的编号进行查看)5 、能够按照管理人员的意愿修改任意药品的信息6、能修改药品信息 7、此系统
还能对药品的单价进行排序
三、概要设计(根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能,正式报告需将括号内文字删除)
确认全部删除
取消
单个删除
单个删除
按名称删除
pl
r
确认是否删除
■ -I
厂r
是
1
删除成功
四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用
//药品名称 //药品编号 //单价
//库存数量 //品牌
//假设最大数为 100.
\n\n");
#include
#include
char name[20]; char number[50]; char price[50]; char inventory[50]; char brand[20]; } medicine[100];
//定义全局变量 num
int num;
int menu_select ()
{
char s[80];
int a;/* 定义整形变量 */ system ("cls");
printf ("\t\t ---------- 您好!您已进入药房管理系统 printf ("\t\t\t1. 输入药品信息 \n"); printf ("\t\t\t2. 查看药品信息 \n"); printf ("\t\t\t3. 修改药品信息 \n"); printf ("\t\t\t4. 按编号查找药品 \n"); printf ("\t\t\t5. 按价格排序 \n");
printf("\t\t\t6. 删除药品信息 \n"); printf("\t\t\t7. 退出 \n");
\n");
do{
printf("Enter you choice(1~7):"); scanf("%s",s); a=atoi(s);
}
while (a<1 || a>7); return a;
}
int addmedicine()
{
printf("\t\t\t ----------- 请输入您要保存的信息
printf("\t\t\t 输入药品名称 :\n"); scanf("%s",medicine[num].name); printf("\t\t\t 输入药品编号 :\n"); scanf("%s",medicine[num].number); printf("\t\t\t 单价 :\n"); scanf("%s",medicine[num].price); printf("\t\t\t 品牌 :\n"); scanf("%s",medicine[num].brand); printf("\t\t\t 库存数量 :\n"); scanf("%s",medicine[num].inventory); num++;
printf("\t\t\t 是否继续添加 ?(Y/N):\n");
if(getch()=='y'|| getch()=='Y')
addmedicine();
return(0);
void modifybyname() //按药品名称修改
{
char c;
int i,mark=0;
char name[20];
printf("\n\t\t 请输入要修改的药品名称: ");
scanf("%s",name);
if(num==0)
{
printf("\n\t\t 文件中无相关药品 ");
printf("\n\t\t 按任意键返回主菜单 ");
getch(); mark++;
return;
}
for(i=0;i { if(strcmp(medicine[i].name,name)==0) { printf("\n\t\t 以下是您要修改的药品信息 "); printf("\n\t\t 药品名称 : %s",medicine[i].name); printf("\n\t\t 药品编号 : %s",medicine[i].number); printf("\n\t\t 单价 : %s",medicine[i].price); printf("\n\t\t 品牌 : %s",medicine[i].brand); printf("\n\t\t 库存数量 : %s",medicine[i].inventory); printf("\n\t\t 是否修改 (y/n)");