C语言药房管理系统.docx
- 文档编号:29089721
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:18
- 大小:16.76KB
C语言药房管理系统.docx
《C语言药房管理系统.docx》由会员分享,可在线阅读,更多相关《C语言药房管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
C语言药房管理系统
#include
#include
#include
#include
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");
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");
printf("\t\t------------------------------------------\n\n");
do{
printf("Enteryouchoice(1~7):
");
scanf("%s",s);
a=atoi(s);
}
while(a<1||a>7);
returna;
}
intaddmedicine()
{
printf("\t\t\t--------------请输入您要保存的信息------------\n");
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);
}
voidmodifybyname()//按药品名称修改
{
charc;
inti,mark=0;
charname[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)"); if(getch()=='y') { printf("\n\t----------------------请选择修改信息-------------------------"); printf("\n\t1-修改药品名称"); printf("\n\t2-修改药品编号"); printf("\n\t3-修改单价"); printf("\n\t4-修改品牌"); printf("\n\t5-修改库存数量"); printf("\n\t--------------------------------------------------------------------------"); printf("\n\t请选择您所要的服务: "); scanf("%s",&c); switch(c) { case'1': printf("\n\t请输入新药品名称: "); scanf("%s",medicine[i].name);break; case'2': printf("\n\t请输入新药品编号: %s"); scanf("%s",medicine[i].number);break; case'3': printf("\n\t请输入新单价: "); scanf("%s",medicine[i].price);break; case'4': printf("\n\t请输入新品牌: "); scanf("%s",medicine[i].brand);break; case'5': printf("\n\t请输入新库存数量: "); scanf("%s",medicine[i].inventory);break; } } } } if(mark==0) { printf("\n\t\t药品信息修改完毕"); printf("\n\t是否继续修改? (Y/N): "); if(getch()=='y') modifybyname(); return; } } voidlist() { inti; system("cls"); if(num! =0) { printf("\t\t\t----------已为您显示所有药品信息----------\n"); for(i=0;i { printf("\t\t\t药品名称: %s\n",medicine[i].name); printf("\t\t\t药品编号: %s\n",medicine[i].number); printf("\t\t\t单价: %s\n",medicine[i].price); printf("\n\t\t品牌: %s\n",medicine[i].brand); printf("\t\t\t库存数量: %s\n",medicine[i].inventory); if(i+1 { system("pause"); } } printf("\t\t\t------------------------------\n"); } else printf("\t\t\t系统中无任何记录\n"); printf("\t\t\t按任意键返回主菜单: \n"); getch(); return; } intsearchbyname() { intmark=0; inti; printf("\t\t\t----------按药品名称查找----------\n"); charname[20]; printf("\t\t\t请输入药品名称: \n"); scanf("%s",name); for(i=0;i { if(strcmp(medicine[i].name,name)==0) { printf("\t\t\t-------以下是您查找的药品信息-------\n"); printf("\t\t\t药品名称: %s",medicine[i].name); printf("\t\t\t药品编号: %s",medicine[i].number); printf("\t\t\t单价: %s",medicine[i].price); printf("\n\t\t品牌: %s",medicine[i].brand); printf("\t\t\t库存数量: %s\n",medicine[i].inventory); printf("\t\t\t------------------------------------------------------\n"); mark++; if((i+1) { printf("\t\t\t是否继续查找相同名称的药品信息: (y/n)\n"); if(getch()=='y'||getch()=='Y') { continue; } else return(0); } else { printf("\t\t\t请按任意键返回主菜单"); getch(); return(0); } } } if(mark==0) { printf("\t\t\t没有您要查找的药品记录\n"); printf("\t\t\t请按任意键返回主菜单\n"); getch(); return(0); } return0; } intsearchbynumber() { intmark=0; inti; printf("\t\t\t---------------按药品编号查找--------------\n"); charnumber[10]; printf("\t\t\t请输入药品编号: \n"); scanf("%s",number); for(i=0;i { if(strcmp(medicine[i].number,number)==0) { printf("\t\t\t---------------以下是您查找的药品信息---------------\n"); printf("\t\t\t药品名称: %s",medicine[i].name); printf("\t\t\t药品编号: %s",medicine[i].number); printf("\t\t\t单价: %s",medicine[i].price); printf("\n\t\t品牌: %s",medicine[i].brand); printf("\t\t\t库存数量: %s\n",medicine[i].inventory); printf("\t\t\t-------------------------------------------------\n"); printf("\t\t\t请按任意键返回主菜单\n"); mark++; getch(); return(0); } } if(mark==0) { printf("\t\t\t没有改药品的信息\n"); printf("\t\t\t请按任意键返回主菜单\n"); getch(); return(0); } return(0); } voiddeletebynumber() { inti,j; intdeletemark=0; charnumber[20]; printf("\t\t\t请输入要删除药品编号: \n"); scanf("%s",number); if(num==0) { printf("\t\t\t对不起,系统中无任何记录\n"); printf("\t\t\t请按任意键返回主菜单\n"); getch(); return; } for(i=0;i { if(strcmp(medicine[i].number,number)==0) { printf("\t\t\t以下是您要删除的用户记录: \n"); printf("\t\t\t药品名称: %s",medicine[i].name); printf("\t\t\t药品编号: %s",medicine[i].number); printf("\t\t\t单价: %s",medicine[i].price); printf("\n\t\t品牌: %s",medicine[i].brand); printf("\t\t\t库存数量: %s\n",medicine[i].inventory); printf("\t\t\t是否删除? (y/n)"); if(getch()=='y'||getch()=='Y') { for(j=i;j medicine[j]=medicine[j+1]; num--; deletemark++; printf("\t\t\t删除成功"); printf("\t\t\t是否继续删除? (y/n)"); if(getch()=='y'||getch()=='Y') deletebynumber(); return; } else return; } continue; } if(deletemark==0) { printf("\t\t\t没有该药品的记录"); printf("\t\t\t是否继续删除? (y/n)"); if(getch()=='y'||getch()=='Y') deletebynumber(); return; } return; } voiddeletebyname() { inta=0; intfindmark=0; intj; intdeletemark=0; inti; charname[20]; printf("\t\t\t请输入要删除药品名称: \n"); scanf("%s",name); for(i=a;i { if(strcmp(medicine[i].name,name)==0) { printf("\t\t\t以下是您要删除的药品信息: "); findmark++; printf("\t\t\t________________________________"); printf("\t\t\t药品名称: %s",medicine[i].name); printf("\t\t\t药品编号: %s",medicine[i].number); printf("\t\t\t单价: %s",medicine[i].price); printf("\n\t\t品牌: %s",medicine[i].brand); printf("\t\t\t库存数量: %s\n",medicine[i].inventory); printf("\t\t\t________________________________"); printf("\t\t\t是否删除? (y/n)"); if(getch()=='y'||getch()=='Y') { for(j=i;j medicine[j]=medicine[j+1]; num--; deletemark++; printf("\t\t\t删除成功"); if((i+1) { printf("\t\t\t是否继续删除相同名称的药品信息? (y/n)"); if(getch()=='y') { a=i; continue; } } printf("\t\t\t是否继续删除? (y/n)"); if(getch()=='y') deletebyname(); return; } if((i+1) { printf("\t\t\t是否继续删除相同名称的药品信息? (y/n)"); if(getch()=='y'||getch()=='Y') { a=i; continue; } } } else continue; } if((deletemark==0)&&(findmark==0)) { printf("\t\t\t没有该药品的记录"); printf("\t\t\t是否继续删除? (y/n)"); if(getch()=='y'||getch()=='Y') deletebynumber(); return; } elseif(findmark! =0) { printf("\t\t\t没有重名信息"); printf("\t\t\t没有该药品的记录"); printf("\t\t\t是否继续删除? (y/n)"); if(getch()=='y'||getch()=='Y') deletebynumber(); return; } } intdele()//删除记录 { charchoic; printf("\t\t\t1-按药品编号删除2-按药品名称删除"); printf("\t\t\t请选择: "); choic=getch(); switch(choic) { case'1': deletebynumber();break; case'2': deletebyname();break; } return(0); } intsortbyprice()//按药品单价进行排序 { inti,j; structmedicinetmp; for(i=1;i { if(strcmp(medicine[i].price,medicine[i-1].price)<0) { tmp=medicine[i]; j=i-1; do { medicine[j+1]=medicine[j]; j--; }while((strcmp(tmp.price,medicine[j].price)<0&&j>=0)); medicine[j+1]=tmp; } } printf("\t\t\t排序成功,是否显示? (y/n)"); if(getch()=='y') list(); return(0); } intmain() { printf("\t\t---------------------------------------------------------\n"); printf("\t\t---------Welcometomanagementsystem----------\n"); printf("\t\t----------MadeBy蒋俊杰李梁伟郑奈春-------------\n"); printf("\t\t---------------------------------------------------------\n"); printf("请按任意键进入主菜单: )\n"); getch(); intselectnum; while (1) { selectnum=menu_select(); switch(selectnum) { case1: { addmedicine();//添加药品信息 break; } case2: { list(); break; } case3: { modifybyname();//修改药品信息 break; } case4: { searchbynumber();//按药品编号查找 break; } case5: { sortbyprice();//按药品单价排序 break; } case6: { dele(); break; } case7: { printf("BYEBYE! \n"); system("pause"); getchar(); exit(0); } } } getchar(); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 药房 管理 系统