医药管理系统实验报告文档格式.docx

上传人:b****1 文档编号:6035812 上传时间:2023-05-05 格式:DOCX 页数:30 大小:114.93KB
下载 相关 举报
医药管理系统实验报告文档格式.docx_第1页
第1页 / 共30页
医药管理系统实验报告文档格式.docx_第2页
第2页 / 共30页
医药管理系统实验报告文档格式.docx_第3页
第3页 / 共30页
医药管理系统实验报告文档格式.docx_第4页
第4页 / 共30页
医药管理系统实验报告文档格式.docx_第5页
第5页 / 共30页
医药管理系统实验报告文档格式.docx_第6页
第6页 / 共30页
医药管理系统实验报告文档格式.docx_第7页
第7页 / 共30页
医药管理系统实验报告文档格式.docx_第8页
第8页 / 共30页
医药管理系统实验报告文档格式.docx_第9页
第9页 / 共30页
医药管理系统实验报告文档格式.docx_第10页
第10页 / 共30页
医药管理系统实验报告文档格式.docx_第11页
第11页 / 共30页
医药管理系统实验报告文档格式.docx_第12页
第12页 / 共30页
医药管理系统实验报告文档格式.docx_第13页
第13页 / 共30页
医药管理系统实验报告文档格式.docx_第14页
第14页 / 共30页
医药管理系统实验报告文档格式.docx_第15页
第15页 / 共30页
医药管理系统实验报告文档格式.docx_第16页
第16页 / 共30页
医药管理系统实验报告文档格式.docx_第17页
第17页 / 共30页
医药管理系统实验报告文档格式.docx_第18页
第18页 / 共30页
医药管理系统实验报告文档格式.docx_第19页
第19页 / 共30页
医药管理系统实验报告文档格式.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

医药管理系统实验报告文档格式.docx

《医药管理系统实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《医药管理系统实验报告文档格式.docx(30页珍藏版)》请在冰点文库上搜索。

医药管理系统实验报告文档格式.docx

1.程序代码完成,编译运行成功。

2.数据输入首选采用文件的方式,其次键盘输入。

3.分析采用哪种合适的存储结构来储存数据

4.设计一定的用户界面,简洁。

二、功能分析

1.

功能模块图

2.程序流程图

查看

添加返回删除修改

返回返回

N

Y

Y

N

返回

N

Y

NN

返回

N返回

图2.2程序流程图

三、设计

相关代码:

#include<

stdio.h>

string.h>

stdlib.h>

time.h>

conio.h>

typedefstructDrug

{charDrug_id[30];

//编号

charDrug_name[50];

//药品名称

charDrug_type[10];

//类型

floatDrug_price;

//价格

intamount;

//库存数量

charDrug_time[30];

//入库时间

charremark[30];

//备注

structDrug*next;

}Drug,*DrugPtr;

#defineMENU"

欢迎进入药品管理系统\n"

\

"

1:

查看已有药品列表\n"

2:

添加新的药品\n"

3:

删除药品信息\n"

4:

修改药品信息\n"

5:

分类查询\n"

0:

退出\n"

"

请您选择:

"

#defineMENU41"

请选择要修改的选项\n"

修改药品名称\n"

修改药品价格\n"

修改药品数量\n"

修改药品类型\n"

修改药品备注\n"

返回主菜单\n"

#defineMENU5"

欢迎进入分类查询页面\n"

按编号查询\n"

按名称查询\n"

按类型查询\n"

按价格查询\n"

按库存数量查询\n"

6:

按入库时间查询\n"

返回主菜单\n"

#defineMENU50"

按药品编号查询\n"

请输入要查询的药品编号:

#defineMENU51"

按药品名称查询\n"

请输入要查询的药品名称:

#defineMENU52"

按药品类型查询\n"

"

请输入要查询的药品类型:

\n"

中药\n"

中成药\n"

西药\n"

返回查询菜单\n"

#defineMENU53"

按药品价格查询\n"

请输入要查询的药品价格:

#defineMENU54"

按药品库存数量查询\n"

请输入要查询的药品的库存数量:

#defineMENU55"

按药品入库时间查询\n"

请输入要查询的药品入库时间:

#defineSTRCMP(NAME,STR)strcmp((char*)GetStdin("

请输入药品的编号(按0结束):

"

%s"

STR),"

0"

DrugPtrinsert(DrugPtrhead,intid,char*name);

//添加药品

voidsave_to_file(DrugPtr&

yaolist);

//将更新后的链表保存到文件中

voidread_to_list(DrugPtr&

//将文件读入链表

void*GetStdin(constchar*numstr,char*control,void*ret);

DrugPtrgetvalue();

//取值

voiddruginsert(DrugPtr&

yaolist,DrugPtryao);

//插入操作

intisdrugin(DrugPtryaolist,DrugPtryao);

//判断

voiddrugmodify(DrugPtr&

//修改操作

voiddeletenode(DrugPtr&

yaolist,chardrug_id[]);

//删除操作

voiddeletedrug(DrugPtr&

voidupdatedrug(DrugPtr&

voidlistshow(DrugPtryaolist);

//显示操作

voiddrug_find_name(DrugPtrhead,char*name);

//以名称查询

voiddrug_find_id(DrugPtrhead,char*id);

//以编号查询

voiddrug_find_type_z(DrugPtrhead);

//查询中药

voiddrug_find_type_zc(DrugPtrhead);

//查询中成药

voiddrug_find_type_x(DrugPtrhead);

//查询西药

voiddrug_find_price(DrugPtrhead,floatprice);

//以价格查询

voiddrug_find_amout(DrugPtrhead,intamout);

//以库存数量查询

voiddrug_find_time(DrugPtrhead,char*time);

//以入库时间查询

voiddrug_type_choose(DrugPtrhead);

//查询主菜单

voidchoose_type(DrugPtrhead);

//类型查询

intmain()

{intchoice;

DrugPtrhead=NULL;

DrugPtryao;

read_to_list(head);

while(*(int*)GetStdin(MENU,"

%d"

&

choice))

{switch(choice){

case1:

listshow(head);

//显示药品列表

break;

case2:

{

yao=getvalue();

druginsert(head,yao);

//添加药品

printf("

药品添加成功\n"

);

break;

}

case3:

deletedrug(head);

//删除药品

case4:

updatedrug(head);

//修改药品信息

case5:

//分类查询

drug_type_choose(head);

case0:

//退出

}

}

save_to_file(head);

return0;

}

void*GetStdin(constchar*numstr,char*control,void*ret)

{cputs(numstr);

while(!

scanf(control,ret)){

fflush(stdin);

system("

cls"

cputs(numstr);

returnret;

}//显示列表

voidlistshow(DrugPtryaolist)

{

printf("

%5s%8s%16s%10s%14s%13s%7s\n"

药品编号"

名称"

价格"

类型"

入库时间"

"

库存数量"

备注"

DrugPtrp=yaolist;

if(!

p)

printf("

kong"

while(p)

{printf("

%-10s%-18s%-10.2f%-10s%-13s%-10d%-10s\n"

p->

Drug_id,p->

Drug_name,p->

Drug_price,p->

Drug_type,p->

Drug_time,p->

amount,p->

remark);

p=p->

next;

DrugPtrgetvalue()

{DrugPtryao=(DrugPtr)malloc(sizeof(Drug));

请输入药品编号:

scanf("

&

yao->

Drug_id);

请输入药品名称:

Drug_name);

请输入药品价格:

%f"

Drug_price);

请输入药品数量:

amount);

请输入药品入库时间:

Drug_time);

请输入药品类型:

Drug_type);

请输入药品备注:

yao->

next=NULL;

returnyao;

yaolist,DrugPtryao)

{if(!

yaolist)

yaolist=yao;

else

{yao->

next=yaolist->

yaolist->

next=yao;

DrugPtrisdrugin(DrugPtryaolist,chardrug_id[])

{DrugPtrp=yaolist;

while(p)

{if(!

strcmp(p->

Drug_id,drug_id))

break;

else

p=p->

returnp;

}//更新结点

floatt=0;

//没有这句出现floatpointnotloaded

while(*(int*)GetStdin(MENU41,"

{switch(choice)

{

case1:

GetStdin("

请输入药品的新名称:

yao->

cputs("

更新成功!

请继续选择\n"

break;

case2:

请输入药品的新价格:

case3:

请输入药品的修改数量:

case4:

请输入药品的新类型:

case5:

请输入药品的新备注:

case0:

}//找到结点返回update

{charstring[30];

while(strcmp((char*)GetStdin("

请输入药品编号(按0结束):

string),"

))

{yao=isdrugin(yaolist,string);

if(yao)//判断药是否存在

drugmodify(yaolist,yao);

printf("

没有这种药\n"

while(STRCMP(SECOND,string))

{

if(isdrugin(yaolist,string))

deletenode(yaolist,string);

else

printf("

药品不存在!

yaolist,chardrug_id[])

{DrugPtrq,p;

q=yaolist;

p=q->

strcmp(yaolist->

{yaolist=yaolist->

free(q);

{while(p)

{if(!

q=q->

q->

next=p->

free(p);

药品已删除!

{FILE*fp=fopen("

E:

/yao.txt"

r"

fp)

error"

while(!

feof(fp))

{DrugPtryao=(DrugPtr)malloc(sizeof(Drug));

yao->

fscanf(fp,"

%s%s%f%s%s%d%s\n"

Drug_id,yao->

Drug_name,&

Drug_price,yao->

Drug_type,yao->

Drug_time,&

amount,yao->

druginsert(yaolist,yao);

fclose(fp);

voidsave_to_file(DrugPtr&

FILE*fp=fopen("

w"

{fprintf(fp,"

%-5s%-18s%-10.2f%-10s%-13s%-6d%-10s\n"

voiddrug_find_name(DrugPtrhead,char*name)

{DrugPtrcur,p;

p=head;

cur=head;

inti=0;

Drug_name,name))

if(p)

{while(cur!

=NULL)

strcmp(cur->

{printf("

cur->

Drug_id,cur->

Drug_name,cur->

Drug_price,cur->

Drug_type,cur->

Drug_time,cur->

amount,cur->

i++;

}

cur=cur->

所有名称为%s的数量为%d\n"

name,i);

{printf("

没有找到该药名!

voiddrug_find_type_z(DrugPtrhead)

{DrugPtrcur,p;

Drug_type,"

中药"

Drug_type,"

Drug_id,cur->

Drug_name,cur->

cur=cur->

所有中药的数量为%d\n"

i);

没有该类型的药!

voiddrug_find_type_zc(DrugPtrhead)

中成药"

{while(cur!

{if(!

所有中成药的数量为%d\n"

voiddrug_find_type_x(DrugPtrhead)

西药"

{

while(cur!

所有西药的数量为%d\n"

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2