2.3 系统功能设计
依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的定位、插入、建表、显示、删除等功能模块。 (1)定位函数功能:具体了解要插入函数的位置。
(2)插入函数功能:找到要插入函数的位置,进行函数插入。
(3)显示函数功能:按照指定关键字,对相应商品信息进行查找显示。 (4)删除函数功能:查找到要删除商品的相应信息,并将其从表中永久的删除。 (5)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。
3
3 模块设计
3.1 系统子程序及功能设计
LinkList prior(LinkList L,LinkList p) 定位函数 void ListInsert_L(LinkList L,LinkList p) 插入函数 LinkList CreateList_L() 建表 void void showlist(LinkList L) 显示函数 void deleList(LinkList L,int i) 删除(按序号) void delName(LinkList L,char n[]) 删除(按名字) int searchnum(LinkList L,int n) 查询(按编号) int searchName(LinkList L,char n[]) 查询(按名字)
3.2 系统功能图
药店药品信息管理系统 建立药品信息表 插入新药品信息 查询新药品信息记录 图3.1 药品销售 显示库存药品信息 退出管理系统 4
4 详细设计
4.1 数据类型定义
typedef struct node { int num;//药品编号 char name[20];//商药品名称 int amount;//药品数量 int price;//药品价格
struct node *next;
}Node,*LinkList;
4.2 系统主要子程序详细设计
1.定位函数
LinkList prior(LinkList L,LinkList p) {
{while(q->next!=p)
q=q->next;
return(q);}
}
2.插入函数
void ListInsert_L(LinkList L,LinkList p) {
while(s!=NULL&& p->num>=s->num) {s=prior(L,s);p->next=NULL; s->next=p;} {s=prior(L,s);p->next=s->next;s->next=p;} }
3.创建函数
LinkList CreateList_L() {
while(num>=0)
5
}
{ p=(LinkList)malloc(sizeof(node)); p->num=num; p->amount=amount; strcpy(p->name,name); p->price=price; ListInsert_L(L,p); }
4.显示函数
void showlist(LinkList L)
{ }
5.删除函数(按序号)
void deleList(LinkList L,int i) { }
while(p->next&&j
if(L==NULL||L->next==NULL) printf(\仓库中没有药品\\n\ else
while(p->next!=NULL)//不为空的情况下输出表内信息 { }
p=p->next;//不断寻找下一条信息 n++;
6.删除函数(按名称) {
if(L->next==NULL) else {
while(p!=NULL) {
6
相关推荐: