C语言程序设计药房管理系统
C语言:书店管理系统
![C语言:书店管理系统](https://img.taocdn.com/s3/m/b6d5cedac1c708a1284a44c5.png)
C语言:书店管理系统#include "stdio.h"#include <string.h>#define MAXNUM 1000typedef struct{char isbn[10]; /*书号*/char bkname[20]; /*书名*/char author[10]; /*作者*/float price; /*单价*/int num; /*数量(单位:册)*/} BOOK;int bknum;BOOK bk[MAXNUM];rdata(){FILE *fp;if ((fp=fopen("e:\\lth019\\bkstore\\bookdata.txt","rb"))==NULL){printf("Can not open the file!\n");return;}fread(&bknum,sizeof(int),1,fp);fread(bk,sizeof(BOOK),bknum,fp);fclose(fp);}bklist(){int i;clrscr();printf(" Isbn bkname author price num\n"); printf("----------------------------------------------------------------\n");for(i=0;i<bknum;i++)putout();printf("-------------------------BOOK LIST END---------------------------\n");printf("Press any key to return...");getch();}void wdata(){FILE *fp;if ( (fp=fopen("e:\\lth019\\bkstore\\bookdata.txt","wb"))==NULL) {printf("Can not open the file!\n");return;}fwrite(&bknum , sizeof(int) , 1 , fp);fwrite(bk, sizeof(BOOK), bknum, fp);fclose(fp);}void bookin(){char s[10],bn[20],au[10];int i,nn;float pp;printf("input isbn(000 to end input):");scanf("%s",s);while(strcmp(s,"000")!=0){if ((i=found(s))<bknum){ printf("Have found!\n");putout();printf("input the number:");scanf("%d",&nn);bk[i].num+=nn;{putout();getch();}printf("input isbn(000 to end input):");scanf("%s",s);}else{printf("A new book input,\nPlease input bkname,author,price,num\n");strcpy(bk[i].isbn,s);scanf("%s%s",bn,au);strcpy(bk[i].bkname,bn);strcpy(bk[i].author,au);scanf("%f%d",&pp,&nn );bk[i].price=pp;bk[i].num=nn;bknum++;{putout();getch();}printf("input isbn(000 to end input):");scanf("%s",s);break;}}}showsold(BOOK sold[],int n){int i;printf("\n\n\n -------------The Books are selling-----------------\n");for(i=0;i<n;i++)printf(" %-10s%-20s%-10s%-8.2f%-8d\n",sold[i].isbn,sold[i].bkname,sold[i].author,sold[i].price,sold[i].num);}int found(char isbn[]){int i;for(i=0;i<bknum;i++)if(strcmp(isbn,bk[i].isbn)==0) break;return i;}void booksale(){ char isbn[10];BOOK sold[100];int soldnum=0,i;float total=0;clrscr();printf("Please input isbn(000 to end input):");scanf("%s",isbn);while(strcmp(isbn,"000")!=0){if((i=found(isbn))<bknum)if(bk[i].num>0)sold[soldnum++]=bk[i],bk[i].num--;else{printf("\Not enough!Pressany key to continue...");getch();} else{printf("\Not enough!Pressany key to continue...");getch();}clrscr();for(i=0,total=0;i<soldnum;i++)total+=sold[i].price;if(soldnum){ showsold(sold,soldnum);printf(" ----------------------------------------------\n");printf("\n The total %8.2f\n\n\n",total);}printf("\n input isbn(000 to end input):");scanf("%s",isbn);}}void search(){ char s[10]; char found; char isbn[20];char num[10]; char au[20]; char name[20];int t,i;printf("=================\n");printf(" 1.search with isbn \n");printf(" 2.search with author \n");printf(" 3.search with bookname \n");printf("=================\n");printf(" please chose one way : ");scanf("%d",&t);if(t==1){ printf(" please input isbn : ");scanf("%s",&s);for(found=0,i=0 ; i<bknum ; i++)if(strcmp(s,bk[i].isbn)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}if(t==2){ printf(" please input author: ");scanf("%s",au);for(found=0,i=0;i<bknum;i++)if(strcmp(au,bk[i].author)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}if(t==3){ printf(" please input bookname: ");scanf("%s",name);for(found=0,i=0;i<bknum;i++)if(strcmp(bk[i].bkname,name)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}}Delete(){ char s[10],t;int found=0,i,j;printf("please input isbn of the book:");scanf("%s",s);for(i=0 ; i<bknum ; i++)if( strcmp(s,bk[i].isbn)==0 )break;if (i<bknum){ found=1;printf("Found!\n");putout();printf("Are you sure to delete?(Y/N):"); flushall(); scanf("%c",&t);if(t=='y'||t=='Y'){ for(;i<=bknum;i++)bk[i]=bk[i+1];}bknum--;}else printf("This book did't delete!");getch();}putout(){ int i;printf(" %-10s%-20s%-10s%-8.2f%-8d\n",bk[i].isbn,bk[i].bkname,bk[i].author,bk[i].price,bk[i].num); }int showsel(){int sel;clrscr();printf("--------------------------ManiMenus-------------------------\n\n"); printf(" 0. Exit\n");printf(" 1. BookList\n");printf(" 2. BookIn\n") ;printf(" 3. BookSale\n");printf(" 4. Save\n ");printf(" 5. Delete\n");printf(" 6. Search\n");printf("\n------------------------------------------------------------\n"); printf(" Input the selection:");scanf("%d",&sel);return sel;}main(){int sel; char yes;clrscr();rdata();sel=showsel();while(1){ switch(sel){case 0:printf("Are sure to Save?(Y/N) ");flushall();scanf("%c",&yes);if(yes=='Y'||yes=='y') { wdata(); exit(0); }exit(0);case 1:bklist();break;case 2:bookin();break;case 3:booksale();break;case 4:wdata();break;case 5:Delete();break;case 6:search();break;default :break;}sel=showsel();}}。
书店管理c语言课程设计
![书店管理c语言课程设计](https://img.taocdn.com/s3/m/5bcc28a5f605cc1755270722192e453610665b26.png)
书店管理c语言课程设计一、课程目标知识目标:1. 理解C语言的基本语法和程序结构,掌握其基本数据类型、运算符、控制语句等知识;2. 学习并掌握C语言中的数组、函数、指针等高级概念,并能将其应用于实际编程中;3. 了解书店管理的业务需求,运用C语言设计并实现一个简单的书店管理系统。
技能目标:1. 培养学生运用C语言进行程序设计的能力,能够独立编写、调试和运行简单的C程序;2. 培养学生分析和解决实际问题的能力,通过书店管理系统课程设计,使学生掌握需求分析、模块划分、编程实现等软件开发基本流程;3. 提高学生的团队协作能力,分组完成课程设计,培养学生相互沟通、共同解决问题的能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们学习C语言的积极性,提高学生的自信心和自主学习能力;2. 通过课程设计,培养学生认真负责、严谨细致的工作态度,以及面对困难和挑战时坚持不懈的精神;3. 增强学生的创新意识,鼓励他们在课程设计中勇于尝试新思路,培养创新精神和团队协作精神。
本课程目标旨在使学生在掌握C语言基本知识的基础上,通过书店管理系统的设计与实现,提高编程实践能力、团队合作能力,培养良好的工作态度和价值观。
为实现这些目标,课程将注重理论与实践相结合,充分考虑学生的认知水平和学习需求,确保课程内容符合教学实际。
在教学过程中,教师将关注学生的学习进度,及时调整教学策略,确保学生能够达到预期的学习成果。
二、教学内容1. C语言基础知识回顾:数据类型、变量、运算符、控制语句(条件语句、循环语句)、函数定义与调用等;2. C语言高级知识学习:数组、指针、结构体、文件操作等;3. 书店管理系统需求分析:分析书店管理系统的业务流程,明确系统功能模块;4. 系统设计:根据需求分析,进行模块划分,设计各模块的功能和数据结构;5. 编程实现:运用C语言编写各模块代码,实现书店管理系统的功能;6. 系统测试与调试:对完成的程序进行测试,发现并修复错误,确保系统的稳定运行;7. 课程总结与评价:对课程设计过程进行总结,分享经验教训,互相评价学习成果。
源程序医院药房药品管理系统C
![源程序医院药房药品管理系统C](https://img.taocdn.com/s3/m/82d543ef6e1aff00bed5b9f3f90f76c661374caa.png)
源程序: include <> <<current-><<"."<<current->;10;cout<<current-><<"."<<current-><<"."<<current->;cout<<endl;}// printinforvoid Show//输出所有结点信息到字符界面{current=head->next;ifcurrent==NULL{cout<<"列表为空 \n";return ;}' ';2;cout<<"名称";8;cout<<"价格";8;cout<<"数量";8;cout<<"总费用";10;cout<<"药品的种类";15;cout<<"购进时间";15;cout<<"有效期";cout<<endl; //输出属性列whilecurrent=NULL{ //循环输出所有结点printinfor current ;current=current->next;}}//showGoods SearchindateDate t{ //按购入日期搜索返回结点指针temp //结构体t含有三个信息块Date d;bool f=false;Goods temp;current=head->next;whilecurrent=NULL{d=current->indate;ifstrcmp,&&strcmp,&&strcmp,{temp=current;f=true;break;}current=current->next;}iff==false{cout<<"\n 没有满足要求的信息 \n"; return NULL;}return temp;}void Queryindate//按入库日期查询{Date t;cout<<" input the date : "; cin>>>>>>;printinforSearchindate t;}//QueryindateGoods Searchname char r//搜索药品名返回结点指针temp { Goods temp;current=head->next;bool f=false;whilecurrent=NULL{ifstrcmpcurrent->name,r==0{temp=current;f=true;break;}current=current->next;}iff==false{cout<<"\n 商品名为 : "<<r<<" 的商品不存在 \n ";return NULL;}return temp;}void Queryname //按药品名查询{char rMAX;cout<<" input the name: ";cin>>r;printinforSearchname r;}void Query //查询函数一个次级菜单{char m;do{cout<<" "<<endl;cout<<"<a> 按入库的时间查询 "<<endl; cout<<"<b> 按药品的名称查询 "<<endl; cout<<"<c> 退出 "<<endl; cout<<" "<<endl;cin>>m;switch m{ //分别调用按不同查询方式下的函数case 'a': Queryindate;break;case 'b': Queryname;break;case 'c': return ;default: cout<<"error ";}}whilem='h';}//Queryvoid Removebynumber //按总量删除某个结点{char tMAX; //需要删除的总量值bool f=false; //表示是否找到满足要求的结点Goods temp; //指向找到的结点,并删除cout<<" 请输入药品的数量: ";cin>>t;current=head;whilecurrent->next=NULL{ifstrcmpcurrent->next->number,t==0 //判断是否满足条件 {temp=current->next;current->next=temp->next;length--; //没删除一个结点,链表长度减1f=true;delete temp;//释放结点cout<<"已删除此药品\n";//break; 此处屏蔽break,也就是说找到第一个满足条件的结点,并不退出循环,而是继续删除}else{current=current->next;}}iff==false//false没有改动,表示没有满足条件的结点 {cout<<"此药品不存在 ,无须删除 \n";}}//Removebynumbervoid Removebyname //按名称删除某个结点{char t20;bool f=false;;Goods temp;cout<<" 请输入药品的名称:";cin>>t;current=head;whilecurrent->next=NULL{ifstrcmpcurrent->next->name,t==0{temp=current->next;current->next=temp->next;length--;f=true;delete temp;cout<<"已删除此药品\n";//break;此处屏蔽break,也就是说找到第一个满足条件的结点,并不退出循环,而是继续删除}else{current=current->next;}}iff==false{cout<<"此药品不存在 ,无须删除 \n";}}//Removebynamevoid Removebyindate //按购进时间删除某个结点{Date t,d;bool f=false;Goods temp;cout<<" 请输入查找药品的日期: "; cin>>>>>>;current=head;whilecurrent->next=NULL{d=current->next->indate;if==&&==&&=={temp=current->next;current->next=temp->next;length--;f=true;delete temp;cout<<"已删除此药品\n";}else{current=current->next;}}iff==false{cout<<"此元素不存在 ,无须删除 \n";}}//Removebyindatevoid Remove //删除函数{char g='Y';do{cout<<" "<<endl;cout<<"<a> 按药品总数量删除 "<<endl;cout<<"<b> 按药品名称删除 "<<endl; cout<<"<c> 按入库时间删除 "<<endl;cout<<"<d> 退出 "<<endl;cout<<" "<<endl;cin>>g;switch g{case 'a': Removebynumber ;break;case 'b': Removebyname;break;case 'c': Removebyindate;break;case 'd': return ;default: cout<<"error ";}} whileg='d';}void Add{Goods temp;current=head;whilecurrent->next=NULL//找到尾指针{current=current->next;}temp=new Goods;temp->next=NULL;length++;//链表长加1cout<<" 请输入药品名称: ";cin>>temp->name; cout<<" 请输入单价 : ";cin>>temp->price;cout<<" 请输入药品数量 : ";cin>>temp->number;cout<<" 请输入总费用 : ";cin>>temp->cost;cout<<" 请输入入购日期 ";cin>>temp->>>temp->>>temp->;cout<<"请输入有效期 ";cin>>temp->>>temp->>>temp->;cout<<" 请输入药品的种类:"<<endl;cin>>temp->kind;current->next=temp;//这时current指向尾指针,将要插入的结点接到current后面current=temp;}//addvoid Modify {//通过药品名找到要修改的数据项char nMAX;cout<<"请输入您要修改的药品名:"<<endl;cin>>n;Goods temp=Searchname n;//按商品名查找cout<<" 请输入单价:";cin>>temp->price;cout<<" 请输入药品的总费用:\n";cin>>temp->cost;cout<<" 请输入日期 :\n";cin>>temp->>>temp->>>temp->;cout<<" 请输入药品的数量:\n";cin>>temp->number;cout<<" 请输入药品的种类:\n";cin>>temp->kind;}void operation{char g='Y';do{cout<<"\t";'';21;cout<<'';cout<<"医院药房管理系统";'';19;cout<<'';cout<<"\n";cout<<"\t\n";cout<<"\t MWDICINE STORE MANAGEMENT SYSTERM\n";cout<<"\t\n";cout<<"\t && && <C> 药品入库 &&&&&&&&&&&&&&& \n";cout<<"\t && && <R> 药品出库 &&&&&&&&&&&&&&& \n";cout<<"\t && && <M> 药品调价&&& \n";cout<<"\t && && <A>新药品入库&&& \n";cout<<"\t && && <O> 打开文件&&&&&&&&&&&&&&& \n";cout<<"\t && && <S> 保存文件&&&&&&&&&&&&&&& \n";cout<<"\t &&& <D> 显示库存&&& \n";cout<<"\t &&& <Q> 药品查询&&& \n";cout<<"\t &&& <L> 上下限制&&& \n";cout<<"\t &&& <E> 退出&&& \n";cout<<"\t\n";cout<<"\t\n";cout<<"\t";'';18;cout<<'';cout<<"医院药房管理系统";'';22;cout<<'';cout<<endl;cin>>g;switch g{case 'C': Creatlist;break;case 'A': Add;break;case 'M': Modify ;break;case 'D': Show ;break;case 'Q': Query ;break;case 'R': Remove;break;case 'O': Open ;break;case 'S': Save;break;case 'N': system "cls";break;case 'E': return ;default: cout<<" error input the right character \n"; }//switch}whileg='E';}//operation};//Cangkuguanli int main{Cangkuguanli A; ; return 0;}。
c课程设计药店管理系统
![c课程设计药店管理系统](https://img.taocdn.com/s3/m/98edc28fb8f3f90f76c66137ee06eff9aff84916.png)
c 课程设计药店管理系统一、课程目标知识目标:1. 学生能理解药店管理系统的基本概念和功能需求,掌握药品信息管理、库存管理、销售管理等核心模块的基本原理。
2. 学生能够运用数据库知识,设计并实现药店管理系统的数据模型,包括数据表的设计和关系维护。
3. 学生能够结合软件工程方法,编写药店管理系统相关的功能性代码,实现对药品信息、库存和销售的有效管理。
技能目标:1. 学生掌握使用至少一种数据库管理系统(如MySQL、SQLite等)进行药店管理系统数据设计和操作的能力。
2. 学生能够运用面向对象编程思想,使用适当的编程语言(如Java、C#等)实现药店管理系统的功能模块。
3. 学生通过团队协作,学会项目管理的基本方法,提高沟通与协作能力。
情感态度价值观目标:1. 学生通过参与药店管理系统的设计与实现,培养解决问题的兴趣和自信心,增强对信息技术的学习热情。
2. 学生能够认识到信息技术在医药卫生行业中的重要性,提升社会责任感和职业道德意识。
3. 学生在项目实施过程中,学会尊重他人意见,培养团队合作精神,提高集体荣誉感。
课程性质分析:本课程为高年级信息技术或计算机科学与技术相关专业的实践性课程,强调理论知识与实际应用的结合,注重培养学生的动手能力和实际项目经验。
学生特点分析:高年级学生已具备一定的编程基础和数据库知识,具有较强的自学能力和创新意识,同时,他们即将面临毕业和就业,对实际项目的参与有较高的积极性。
教学要求:1. 结合实际案例,引导学生主动探索和解决问题,提高学习的主动性和创造性。
2. 通过团队协作,培养学生的沟通能力和团队精神,提升项目实施的成功率。
3. 注重过程评价,及时反馈学生的学习成果,帮助学生明确自己的不足和努力方向。
二、教学内容本课程教学内容主要包括以下几部分:1. 药店管理系统概述:介绍药店管理系统的概念、发展历程、功能模块和实际应用场景,使学生对该系统有一个全面的认识。
2. 数据库设计:讲解数据库的基本概念、关系型数据库的设计方法,以及如何运用数据库管理系统(如MySQL、SQLite等)进行药店管理系统数据模型设计。
c语言课程设计报告 药房管理系统
![c语言课程设计报告 药房管理系统](https://img.taocdn.com/s3/m/d8d6a647e45c3b3567ec8bc3.png)
xx大学yy学院课程设计实验报告班级:姓名(学号)实验项目名称:药房管理系统实验室(中心):信息科学与工程学院软件中心指导教师:实验完成时间: 2011 年 12 月 29 日序号项目标准评分1 系统演示(功能)(40%)按要求完成系统功能且界面友好容错能力强(36-40)按要求完成系统功能界面一般有较好的容错能力(32-35)基本完成系统功能有一定的容错能力(28-31)基本完成系统功能(24-27分)未完成系统功能或他人代做或抄袭(15)2 课程设计说明书(50%)课程设计书各项目认真填写,具有清晰的设计思路及软件测试结果分析(45-50)课程设计书各项目认真填写,具有较为清晰的设计思路并对软件测试结果进行了较为清晰的分析(40-44)课程设计书各项目认真填写,设计思路正确(35-39)课程设计书进行为较为认真的填写(30-34)课程设计书有未完成项或各项填写不属实或他人代做或抄袭(15)4 纪律遵守、群体协作等(10%)10教师签字总分一、题目药房管理系统(主要是输入药品信息部分、药品药品销量排序和药品库存排序)二、功能描述该系统可以实现的功能主要有:1、能正确地录入药品信息并保存下来。
2、能够有效、快速地查看全部药品的信息。
3、可以查看某一药品的信息(按药品的默认序号查看)4、可以查看某一药品的信息(按药品的编号进行查看)5、能够按照管理人员的意愿修改任意药品的信息(按药品的默认序号修改)。
6、能修改药品信息(按药品的编号进行修改)。
7、当管理员查看药品时,系统能够准确地判断药品的性质。
8、此系统还能对药品的销售量进行排序,以指导后期的药品进出货。
9、能对药品库存进行排序等。
该系统主要是由三个同学一起完成的,而我所做的主要是输入药品信息、药品销量排序和药品库存排序等;在输入药品信息的过程中,系统能够“自己记住“所录入的药品信息,且能够按照已规定的步骤继续执行下去;在药品销量排序部分和药品库存排序部分,运用结构体的方法,采用指针、文件、for循环语句等,使得管理系统能够快速、准确无误地进行排序。
《C语言程序设计》药房管理系统
![《C语言程序设计》药房管理系统](https://img.taocdn.com/s3/m/842b8d11f5335a8102d2207e.png)
printf("\t\t\t6.删除药品信息\n");
printf("\t\t\t7.退出\n");
printf("\t\t------------------------------------------\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--------------请输入您要保存的信息------------\n");
printf("\t\t\t输入药品名称:\n");
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文件中无相关药品");
三、概要设计(根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能,正式报告需将括号内文字删除)
C语言课程设计-小型书店管理系统
![C语言课程设计-小型书店管理系统](https://img.taocdn.com/s3/m/434a7df164ce0508763231126edb6f1aff007128.png)
C语言课程设计-小型书店管理系统简介本文档旨在设计一个小型书店管理系统,使用C语言实现。
该系统将提供以下功能:1. 登录:管理员和员工可以使用自己的账号和密码登录系统。
2. 书籍管理:管理员可以添加、编辑和删除书籍信息。
3. 销售管理:员工可以记录每一笔销售,包括售出的书籍、销售时间和销售数量。
4. 会员管理:系统可以管理会员信息,包括会员的姓名、手机号码和积分等。
5. 库存管理:系统可以记录书籍的库存信息,包括书籍的数量和位置。
功能说明登录- 系统启动时,提示用户输入账号和密码。
- 系统验证账号和密码是否正确,允许管理员和员工登录。
- 登录成功后,进入主菜单。
书籍管理- 管理员在主菜单选择书籍管理,可以进行以下操作:- 添加书籍:输入书籍的名称、作者、出版社和价格等信息,保存到系统中。
- 编辑书籍:选择要编辑的书籍,并修改相关信息。
- 删除书籍:选择要删除的书籍,并从系统中删除。
- 查看书籍列表:显示系统中所有的书籍信息。
销售管理- 员工在主菜单选择销售管理,可以进行以下操作:- 记录销售:选择要销售的书籍,并输入销售的数量。
- 系统更新库存信息,并生成销售记录,包括销售时间、图书名称和数量等。
- 销售记录可以用于后续的统计和分析。
会员管理- 管理员在主菜单选择会员管理,可以进行以下操作:- 添加会员:输入会员的姓名、手机号码和积分等信息,保存到系统中。
- 编辑会员信息:选择要编辑的会员,并修改相关信息。
- 删除会员:选择要删除的会员,并从系统中删除。
- 查看会员列表:显示系统中所有的会员信息。
库存管理- 系统会记录每本书籍的库存数量和位置。
- 当员工记录销售时,系统会自动更新库存信息。
- 员工可以在主菜单选择库存管理,查看当前库存情况。
技术实现本系统将使用C语言进行开发,主要使用以下技术:1. 数据结构:使用结构体来表示书籍、会员和销售记录等信息。
2. 文件操作:使用文件保存和读取数据,以实现数据的持久化。
药店管理系统c语言课程设计
![药店管理系统c语言课程设计](https://img.taocdn.com/s3/m/988a8b9d0342a8956bec0975f46527d3250ca65d.png)
药店管理系统c语言课程设计一、课程目标知识目标:1. 理解药店管理系统的基本功能需求,掌握C语言实现基础数据结构(如线性表、树等)和算法(如排序、查找等)的能力。
2. 学会使用C语言进行模块化编程,实现药店管理系统的各项功能模块,如药品信息管理、库存管理、销售管理等。
3. 掌握C语言文件操作,实现对药店管理系统数据的持久化存储。
技能目标:1. 培养学生运用C语言解决实际问题的能力,提高编程实践技能。
2. 培养学生分析需求、设计系统、编写程序、调试程序的能力。
3. 提高学生团队协作和沟通能力,能够就药店管理系统项目进行有效讨论和分工。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养勇于挑战、积极进取的学习态度。
2. 培养学生认真负责、严谨细致的工作作风,树立良好的职业道德观念。
3. 增强学生的集体荣誉感,培养合作精神和团队意识。
课程性质:本课程为实践性较强的课程,旨在让学生在实际项目中运用所学知识,提高编程能力和解决实际问题的能力。
学生特点:学生已具备一定的C语言基础,具有较强的逻辑思维能力,但缺乏实际项目经验。
教学要求:结合学生特点和课程性质,注重实践操作,引导学生主动探究,培养学生解决实际问题的能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 系统需求分析:介绍药店管理系统的功能需求,让学生理解项目背景和实际应用场景。
- 药品信息管理- 库存管理- 销售管理- 用户权限管理2. 数据结构设计:结合C语言,讲解药店管理系统中所需的数据结构及其应用。
- 线性表- 树结构- 哈希表3. 算法设计与实现:根据药店管理系统需求,学习相关算法并进行编程实践。
- 排序算法- 查找算法- 药品信息增删改查操作4. 模块化编程:引导学生运用模块化思想,实现药店管理系统的各个功能模块。
- 模块划分- 函数封装- 模块间通信5. 文件操作与数据持久化:学习C语言文件操作,实现对药店管理系统数据的存储和读取。
基于C的自动化药店管理系统设计
![基于C的自动化药店管理系统设计](https://img.taocdn.com/s3/m/520f32e0d0f34693daef5ef7ba0d4a7303766c7a.png)
基于C的自动化药店管理系统设计一、引言随着医疗技术的不断发展和人们健康意识的提高,药店在社会中扮演着越来越重要的角色。
为了提高药店的管理效率和服务质量,自动化药店管理系统应运而生。
本文将基于C语言,设计一个自动化药店管理系统,以实现药品库存管理、销售记录跟踪、客户信息管理等功能。
二、系统设计1. 功能模块设计药品管理模块:包括药品信息录入、库存管理、药品查询等功能。
销售管理模块:记录销售信息、生成销售报表、统计销售数据等。
客户管理模块:客户信息录入、客户购买记录查询、客户分类等功能。
用户权限管理模块:管理员权限设置、用户登录验证等功能。
2. 数据结构设计药品信息结构体:包括药品名称、价格、库存量等字段。
销售记录结构体:包括销售日期、销售数量、销售金额等字段。
客户信息结构体:包括客户姓名、联系方式、购买记录等字段。
3. 界面设计使用C语言的控制台界面,通过菜单选择实现各项功能。
设计清晰简洁的界面,方便用户操作和查看信息。
三、系统实现1. 药品管理模块实现实现药品信息的录入和修改功能,保证库存数据的准确性。
提供药品查询功能,方便用户快速查找所需药品信息。
2. 销售管理模块实现记录每笔销售信息,包括销售日期、销售数量和金额。
自动生成销售报表,统计每日/每月销售情况,为经营决策提供数据支持。
3. 客户管理模块实现实现客户信息的录入和修改功能,建立客户档案。
查询客户购买记录,分析客户消费习惯,提高客户满意度。
4. 用户权限管理模块实现设定管理员权限,保护系统数据安全性。
用户登录验证,确保只有授权人员可以操作系统。
四、系统优化与扩展1. 性能优化对系统进行性能优化,提高系统响应速度和稳定性。
针对大规模数据处理场景进行优化,确保系统运行效率。
2. 功能扩展根据用户需求不断扩展系统功能,满足不同药店的管理需求。
引入智能算法,优化库存管理和销售预测功能。
五、总结与展望自动化药店管理系统基于C语言的设计实现,能够有效提升药店的管理效率和服务质量。
(完整版)《C语言程序设计》药房管理系统
![(完整版)《C语言程序设计》药房管理系统](https://img.taocdn.com/s3/m/490cc2827cd184254b3535a2.png)
课程设计报告(201 —201 学年第学期)课程:高级语言程序设计题目:药房管理系统姓名:专业:班级:学号:指导教师:完成时间:一、课程设计的内容(课程设计题目,正式报告需将括号内文字删除)药房管理系统功能:设计药房管理系统,输入药品基本信息(药品编号、名称、单价、库存数量、品牌),并实现以下功能:1、修改、删除指定药品的信息2、按单价或库存数量排序并显示药品信息3、统计指定品牌药品数量分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:实现药品的添加、修改、删除等功能;3、进一步要求:实现排序及统计功能。
要求:1、用C语言实现程序设计;2、系统的各个功能模块要求用函数实现;3、界面友好(良好的人机交互),程序加必要的注释。
二、功能描述(对系统要实现的功能进行描述,正式报告需将括号内文字删除)1、能正确地录入药品信息并保存下来。
2、能够有效、快速地查看全部药品的信息。
3、可以查看某一药品的信息(按药品的默认序号查看)4、可以查看某一药品的信息(按药品的编号进行查看)5、能够按照管理人员的意愿修改任意药品的信息6、能修改药品信息7、此系统还能对药品的单价进行排序三、概要设计(根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能,正式报告需将括号内文字删除)四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用到的数据结构、算法实现的主要源代码等,正式报告需将括号内文字删除)#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>struct medicine{char name[20]; //药品名称char number[50]; //药品编号char price[50]; //单价char inventory[50]; //库存数量char brand[20]; //品牌} medicine[100]; //假设最大数为100.//定义全局变量numint num;int menu_select(){char s[80];int a;/*定义整形变量*/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("Enter you choice(1~7):");scanf("%s",s);a=atoi(s);}while (a<1 || a>7);return a;}int addmedicine(){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);}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<num;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\t 1-修改药品名称");printf("\n\t 2-修改药品编号");printf("\n\t 3-修改单价");printf("\n\t 4-修改品牌");printf("\n\t 5-修改库存数量");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;}}void list(){int i;system("cls");if(num!=0){printf("\t\t\t----------已为您显示所有药品信息----------\n");for (i=0;i<num;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<num){system("pause");}}printf("\t\t\t------------------------------\n");}elseprintf("\t\t\t系统中无任何记录\n");printf("\t\t\t按任意键返回主菜单:\n");getch();return;}int searchbyname(){int mark=0;int i;printf("\t\t\t---------- 按药品名称查找----------\n");char name[20];printf("\t\t\t请输入药品名称:\n");scanf("%s",name);for(i=0;i<num;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)<num){printf("\t\t\t是否继续查找相同名称的药品信息:(y/n)\n");if(getch()=='y' || getch()=='Y'){continue;}elsereturn(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);}return 0;}int searchbynumber(){int mark=0;int i;printf("\t\t\t---------------按药品编号查找--------------\n");char number[10];printf("\t\t\t请输入药品编号:\n");scanf("%s",number);for(i=0;i<num;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);}void deletebynumber(){int i,j;int deletemark=0;char number[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<num;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<num-1;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;}elsereturn;}continue;}if (deletemark==0){printf("\t\t\t没有该药品的记录");printf("\t\t\t是否继续删除?(y/n)");if(getch()=='y' || getch()=='Y')deletebynumber();return;}return;}void deletebyname(){int a=0;int findmark=0;int j;int deletemark=0;int i;char name[20];printf("\t\t\t请输入要删除药品名称:\n");scanf("%s",name);for (i=a;i<num;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<num-1;j++)medicine[j]=medicine[j+1];num--;deletemark++;printf("\t\t\t删除成功");if((i+1)<num){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)<num){printf("\t\t\t是否继续删除相同名称的药品信息?(y/n)");if (getch()=='y' || getch() == 'Y'){a=i;continue;}}}elsecontinue;}if ((deletemark==0)&&(findmark==0)){printf("\t\t\t没有该药品的记录");printf("\t\t\t是否继续删除?(y/n)");if(getch()=='y' || getch() == 'Y')deletebynumber();return;}else if (findmark!=0){printf("\t\t\t没有重名信息");printf("\t\t\t没有该药品的记录");printf("\t\t\t是否继续删除?(y/n)");if(getch()=='y' || getch() == 'Y')deletebynumber();return;}int dele() //删除记录{char choic;printf("\t\t\t1-按药品编号删除2-按药品名称删除");printf("\t\t\t请选择:");choic=getch();switch (choic){case '1':deletebynumber();break;case '2':deletebyname();break;}return(0);}int sortbyprice() //按药品单价进行排序{int i,j;struct medicine tmp;for (i=1;i<num;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);}int main(){printf("\t\t---------------------------------------------------------\n");printf("\t\t---------Welcome to management system ----------\n");printf("\t\t----------Made By FACE CARD-------------\n");printf("\t\t---------------------------------------------------------\n");printf("请按任意键进入主菜单:)\n");getch();int selectnum;while(1){selectnum = menu_select();switch(selectnum){case 1:{addmedicine(); //添加药品信息break;}case 2:{list();break;}case 3:{modifybyname(); //修改药品信息break;}case 4:{searchbynumber(); //按药品编号查找break;}case 5:{sortbyprice(); //按药品单价排序break;}case 6:{dele();break;}case 7:{printf("BYE BYE!\n");system("pause");getchar();exit(0);}}}getchar();return 0;}五、测试结果(说明系统的各模块运行结果(附运行界面图片),正式报告需将括号内文字删除)1、进入系统运行界面2、添加药品信息3、显示药品信息4、修改药品信息5、按编号查找药品信息6、按价格排序7、删除药品信息8、退出系统六、总结(谈谈自己的课程设计中的心得体会,正式报告需将括号内文字删除)整个实验比较复杂,我使用switch语句调用菜单中的各个功能软件调用不同的函数来实现不同的功能,通过反复调用函数来实现反复输入。
C语言程序的设计(医院信息管理系统)附源代码80986
![C语言程序的设计(医院信息管理系统)附源代码80986](https://img.taocdn.com/s3/m/76fab01eaa00b52acec7ca0b.png)
专业设计报告课程名称: C 语言程序设计课题名称:医院信息管理系统专业班别:12本计算机科学与技术二班姓名:学号:指导教师:设计日期:2012-5-25教师评语:成绩评定:指导教师签名:日期: 2012 年月日课程设计题目医院信息管理程序作者:同组成员:摘要利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的信息;能完成对医院所有病人信息的注册、查询、删除和修改等操作,同时又能对药房库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示1.专业设计目的1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历2、掌握对二进制文件的创建、增添等基本操作。
3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式2.设计基本要求(1、使用结构体来存储病人的信息,结构体中包括病的id、、病历以及消费信息,并用链表将所有病人信息整合。
2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。
4、要求用四个源文件main.c、link.c、find.c、save_load.c5、系统完成后应实现类似下面所示界面3、算法分析1、数据结构设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义:struct patient{char id[10];char name[10];char casehist[200];int cost[3];int transfusion;int surgery;struct patient *next;};其中cost数组用来存储病人卖药的的个数(总共三种药),casehist存储病历容,transfusion用来存储病人输液的花费,surgery存储手术的花费。
Struct patient *next用来指向下一个病人结构体的起始地址从而形成一个链表。
c语言书店管理系统课程设计
![c语言书店管理系统课程设计](https://img.taocdn.com/s3/m/13d569745e0e7cd184254b35eefdc8d377ee1476.png)
c语言书店管理系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,通过实现一个简单的书店管理系统,使学生能够理解C语言的数据结构、控制流程和文件操作等核心概念,并培养学生的实际编程能力和问题解决能力。
具体的教学目标包括:1.理解C语言的基本语法和数据类型。
2.掌握数组、字符串、指针等数据结构的使用。
3.熟悉函数的定义和调用,理解作用域规则。
4.学习递归算法和动态内存管理。
5.了解文件操作API,掌握文件读写的实现方法。
6.能够使用C语言编写结构化的程序。
7.学会编写和调试函数,进行模块化编程。
8.掌握结构体和文件操作在程序中的应用。
9.能够独立设计和实现小型系统程序。
情感态度价值观目标:1.培养学生的逻辑思维能力和抽象思考能力。
2.培养学生的问题解决能力和创新意识。
3.增强学生的团队合作精神和代码分享意识。
二、教学内容教学内容将依据C语言的标准教材,结合书店管理系统的设计和实现,涵盖以下几个方面:1.C语言基础:数据类型、运算符、表达式、语句。
2.控制结构:条件语句、循环语句。
3.数据结构:数组、字符串、指针、结构体。
4.函数:函数定义、调用、参数传递、返回值。
5.高级主题:动态内存分配、递归、文件操作。
6.项目实践:书店管理系统的设计与实现。
三、教学方法为了提高学生的编程技能和问题解决能力,将采用多种教学方法相结合的方式进行教学:1.讲授法:系统讲解C语言的基本语法和概念。
2.案例分析法:通过分析实际代码案例,讲解数据结构和算法。
3.实验法:学生在实验室完成编程练习和项目开发。
4.讨论法:分组讨论项目设计,解决编程过程中遇到的问题。
四、教学资源教学资源包括:1.教材:《C程序设计语言》(K&R)或等效的C语言入门教材。
2.参考书:《C Primer Plus》、《C和指针》等。
3.多媒体资料:教学PPT、编程视频教程。
4.实验设备:计算机、网络环境、编程开发环境(如Code::Blocks、Visual Studio等)。
c语言课程设计药房管理
![c语言课程设计药房管理](https://img.taocdn.com/s3/m/0199ed80534de518964bcf84b9d528ea81c72ff7.png)
c语言课程设计药房管理一、教学目标本节课的教学目标是使学生掌握C语言编程的基本方法,能够运用C语言设计简单的药房管理系统。
具体目标如下:1.知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等,为药房管理系统的编程奠定基础。
2.技能目标:培养学生运用C语言进行程序设计的能力,学会使用函数、数组、指针等高级特性,提高编程水平。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,增强其团队协作意识,使其认识到计算机编程在实际生活中的重要性。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型。
2.运算符与控制结构。
3.函数、数组和指针。
4.文件操作。
5.药房管理系统的需求分析与设计。
三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式:1.讲授法:讲解C语言的基本语法、数据类型、运算符和控制结构等基础知识。
2.案例分析法:通过分析药房管理系统的实际案例,使学生了解并学会使用函数、数组和指针等高级特性。
3.实验法:安排实验室实践环节,让学生动手编写药房管理系统的程序,巩固所学知识。
4.讨论法:学生进行小组讨论,分享编程心得,培养团队协作精神。
四、教学资源为了保证教学效果,本节课将充分利用以下教学资源:1.教材:《C程序设计语言》。
2.参考书:《C Primer Plus》、《C和指针》。
3.多媒体资料:教学PPT、视频教程。
4.实验设备:计算机、网络环境。
5.药房管理系统案例资料:用于案例分析和实践环节。
五、教学评估为了全面、客观地评估学生的学习成果,本节课将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和掌握程度。
2.作业:布置与课程内容相关的编程作业,要求学生在规定时间内完成,以此评估学生的编程能力和实践能力。
3.考试:安排期末考试,包括理论知识和编程实践两部分,以检验学生对C语言编程的掌握程度。
完整版《C语言程序设计》药房管理系统
![完整版《C语言程序设计》药房管理系统](https://img.taocdn.com/s3/m/42e095e26c85ec3a86c2c5c5.png)
课程设计报告( 201—201学年第学期)课程:题目:姓名:专业:学号:高级语言程序设计药房管理系统指导教师:达成时间:一、课程设计的内容(课程设计题目,正式报告需将括号内文字删除)药房管理系统功能:设计药房管理系统,输入药品基本信息(药品编号、名称、单价、库存数量、品牌),并实现以下功能:1、更正、删除指定药品的信息2、按单价或库存数量排序并显示药品信息3、统计指定品牌药品数量分步推行:1、初步达成整体设计,搭好框架,确定人机对话的界面,确定函数个数;2、达成最低要求:实现药品的增加、更正、删除等功能;3、进一步要求:实现排序及统计功能。
要求: 1、用 C 语言实现程序设计;2、系统的各个功能模块要求用函数实现;3、界面友好(优异的人机交互),程序加必要的说明。
二、功能描述(对系统要实现的功能进行描述,正式报告需将括号内文字删除)1、能正确地录入药品信息并保存下来。
2、能够有效、快速地查察全部药品的信息。
3、可以查察某一药品的信息( 按药品的默认序号查察)4 、能够查察某一药品的信息( 按药品的编号进行查察 )5 、能够依照管理人员的意愿更正任意药品的信息 6、能更正药品信息 7、此系统还能够对药品的单价进行排序三、大纲设计(依照功能描述建立系统的系统结构,立刻整个系统分解成若干子功能模块,并用框图表示各功能模块之间的连结关系,并简要说明各模块的功能,正式报告需将括号内文字删除)主界面输入更正删除药品统计保存药品药品药品排序药品退出信息信息信息数量药品名称单价库存品牌更正单价库存全部删除库存单价编号数量名称数量删除单个数量排序排序输入药品信息主界面输入名称输入编号输入单价输入数量输入品牌可否连续是否删除药品主界面全部删除单个删除确认取消按名称删除确认可否删除是否删除成功四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用到的数据结构、算法实现的主要源代码等,正式报告需将括号内文字删除)#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>struct medicine{char name[20];// 药品名称char number[50];// 药品编号char price[50];//单价char inventory[50];//库存数量char brand[20];//品牌}medicine[100];//假设最大数为100.//定义全局变量 numint num;int menu_select(){char s[80];int a;/* 定义整形变量*/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("Enter you choice(1~7):");scanf("%s",s);a=atoi(s);}while (a<1 || a>7);return a;}int addmedicine(){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);}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<num;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;}}void list(){int i;system("cls");if(num!=0){printf("\t\t\t----------已为您显示全部药品信息----------\n");for (i=0;i<num;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<num){system("pause");}}printf("\t\t\t------------------------------\n");}elseprintf("\t\t\t系统中无任何记录\n");printf("\t\t\t按任意键返回主菜单:\n");getch();return;}int searchbyname(){int mark=0;int i;printf("\t\t\t----------按药品名称查找----------\n");char name[20];printf("\t\t\t 请输入药品名称:\n");scanf("%s",name);for(i=0;i<num;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)<num){printf("\t\t\t 可否连续查找相同名称的药品信息:(y/n)\n");if(getch()=='y' || getch()=='Y'){continue;}elsereturn(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);}return 0;}int searchbynumber(){int mark=0;int i;printf("\t\t\t---------------按药品编号查找--------------\n");char number[10];printf("\t\t\t 请输入药品编号:\n");scanf("%s",number);for(i=0;i<num;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);}void deletebynumber(){int i,j;int deletemark=0;char number[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<num;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<num-1;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;}elsereturn;}continue;}if (deletemark==0){printf("\t\t\t 没有该药品的记录");printf("\t\t\t 可否连续删除?(y/n)");if(getch()=='y' || getch()=='Y')deletebynumber();return;}return;}void deletebyname(){int a=0;int findmark=0;int j;int deletemark=0;int i;char name[20];printf("\t\t\t 请输入要删除药品名称:\n");scanf("%s",name);for (i=a;i<num;i++){if(strcmp(medicine[i].name,name)==0){printf("\t\t\t 以下是您要删除的药品信息:");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<num-1;j++)medicine[j]=medicine[j+1];num--;deletemark++;printf("\t\t\t 删除成功 ");if((i+1)<num){printf("\t\t\t 可否连续删除相同名称的药品信息?(y/n)"); if (getch()=='y'){a=i;continue;}}printf("\t\t\t 可否连续删除 ?(y/n)");if (getch()=='y')deletebyname();return;}{printf("\t\t\t 可否连续删除相同名称的药品信息?(y/n)");if (getch()=='y' || getch() == 'Y'){a=i;continue;}}}elsecontinue;}if ((deletemark==0)&&(findmark==0)){printf("\t\t\t 没有该药品的记录");printf("\t\t\t 可否连续删除 ?(y/n)");if(getch()=='y' || getch() == 'Y')deletebynumber();return;}else if (findmark!=0){printf("\t\t\t 没有重名信息");printf("\t\t\t 没有该药品的记录");printf("\t\t\t 可否连续删除 ?(y/n)");if(getch()=='y' || getch() == 'Y')deletebynumber();return;}int dele()//删除记录{char choic;printf("\t\t\t1- 按药品编号删除2-按药品名称删除");printf("\t\t\t 请选择: ");choic=getch();switch (choic){case '1':deletebynumber();break;case '2':deletebyname();break;}return(0);}int sortbyprice()// 按药品单价进行排序{int i,j;struct medicine tmp;for (i=1;i<num;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);}int main(){printf("\t\t---------------------------------------------------------\n");printf("\t\t---------Welcome to management system ----------\n");printf("\t\t----------Made By FACE CARD-------------\n");printf("\t\t---------------------------------------------------------\n");printf(" 请按任意键进入主菜单 :)\n");getch();int selectnum;while(1){selectnum = menu_select();switch(selectnum){case 1:{addmedicine();// 增加药品信息break;}case 2:{list();break;}case 3:{modifybyname();//更正药品信息break;}case 4:{searchbynumber();// 按药品编号查找break;}case 5:{sortbyprice(); // 按药品单价排序break;}case 6:{dele();break;}case 7:{printf("BYE BYE!\n");system("pause");getchar();exit(0);}}}getchar();return 0;}五、测试结果(说明系统的各模块运行结果(附运行界面图片),正式报告需将括号内文字删除)1、进入系统运行界面2、增加药品信息3、显示药品信息4、更正药品信息5、按编号查找药品信息6、按价格排序7、删除药品信息8、退出系统六、总结(谈谈自己的课程设计中的心得领悟,正式报告需将括号内文字删除)整个实验比较复杂,我使用switch 语句调用菜单中的各个功能软件调用不相同的函数来实现不相同的功能,经过屡次调用函数来实现屡次输入。
C语言程序的设计医院信息管理系统附源代码
![C语言程序的设计医院信息管理系统附源代码](https://img.taocdn.com/s3/m/4fdb93b66429647d27284b73f242336c1fb9305d.png)
C语言程序的设计医院信息管理系统附源代码一、引言医院信息管理系统是一个用于管理医院内部各项业务的软件系统。
它能够帮助医院实现患者信息管理、医生排班管理、药品库存管理等功能。
本文将介绍如何使用C语言设计一个简单的医院信息管理系统,并提供相应的源代码。
二、系统功能需求1. 患者信息管理:包括患者基本信息的录入、查询和修改功能,如姓名、性别、年龄、联系方式等。
2. 医生排班管理:包括医生信息的录入、查询和修改功能,如姓名、专业、职称等,并能够根据日期查询医生的排班情况。
3. 挂号管理:包括患者挂号、退号和查询挂号信息的功能,如挂号日期、挂号费用等。
4. 病历管理:包括患者病历的录入、查询和修改功能,如病历编号、病历内容等。
5. 药品库存管理:包括药品信息的录入、查询和修改功能,如药品名称、库存数量、进货价格等,并能够根据药品名称查询库存情况。
6. 药品销售管理:包括药品销售、退货和查询销售信息的功能,如销售日期、销售数量、销售金额等。
三、系统设计1. 数据结构设计在设计医院信息管理系统时,我们可以使用结构体来表示患者、医生、挂号、病历和药品等相关信息。
例如,可以定义如下结构体:```ctypedef struct {char name[20];char gender[10];int age;char contact[20];} Patient;typedef struct {char name[20];char specialty[20];char title[20];} Doctor;typedef struct {char date[20];int fee;} Registration;typedef struct {int id;char content[100];} MedicalRecord;typedef struct {char name[20];int quantity;float price;} Drug;```2. 功能模块设计根据系统功能需求,我们可以将系统划分为以下几个功能模块:- 患者信息管理模块:实现患者信息的录入、查询和修改功能。
c语言医院管理系统课程设计
![c语言医院管理系统课程设计](https://img.taocdn.com/s3/m/1b99a1b227fff705cc1755270722192e4436584f.png)
c语言医院管理系统课程设计一、教学目标本课程旨在通过学习C语言实现的医院管理系统,使学生掌握C语言编程的基本技能,理解面向对象编程思想,培养学生的实际项目开发能力和团队协作能力。
具体的教学目标分为以下三个维度:1.知识目标:•掌握C语言的基本语法和数据结构;•理解面向对象编程的基本概念,如类、对象、继承、封装和多态;•了解医院管理系统的业务流程和需求。
2.技能目标:•能够使用C语言独立编写程序,实现简单的医院管理系统功能;•能够运用面向对象编程思想进行程序设计和开发;•具备一定的软件调试和排错能力。
3.情感态度价值观目标:•培养学生的团队协作精神,学会在团队中分工合作,共同完成项目任务;•培养学生对编程的兴趣和热情,提高他们对计算机科学的认同感;•培养学生具有良好的职业素养,使他们能够遵守编程规范,注重代码的可读性和可维护性。
二、教学内容本课程的教学内容主要包括C语言基础知识、面向对象编程方法和医院管理系统的设计与实现。
具体的教学大纲如下:1.C语言基础知识:•C语言概述和基本语法;•数据类型、运算符和表达式;•控制语句和函数。
2.面向对象编程方法:•类和对象的概念及创建;•继承、封装和多态的原理及应用;•常用类库和API的使用。
3.医院管理系统的设计与实现:•系统需求分析和设计;•数据库设计和连接;•系统模块划分和编程实现;•系统测试和优化。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学,包括:1.讲授法:用于讲解C语言的基本语法和面向对象编程的基本概念;2.案例分析法:通过分析实际案例,使学生更好地理解医院管理系统的需求和设计方法;3.实验法:让学生在实验环节动手编写代码,巩固所学知识,培养实际编程能力;4.小组讨论法:分组进行项目开发,培养学生的团队协作能力和解决问题的能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的C语言和面向对象编程教材;2.参考书:提供相关的编程指南和医院管理系统设计手册;3.多媒体资料:制作课件和教学视频,辅助学生理解复杂概念;4.实验设备:提供计算机实验室,确保学生能够进行实际编程练习;5.在线资源:推荐编程社区和论坛,便于学生交流和获取最新资讯。
- 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、此系统还能对药品的单价进行排序三、概要设计(根据功能描述建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能,正式报告需将括号内文字删除)四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述、所用到的数据结构、算法实现的主要源代码等,正式报告需将括号内文字删除)#include<>#include<>#include<>#include<>struct medicine{char name[20]; 输入药品信息\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("Enter you choice(1~7):");scanf("%s",s);a=atoi(s);}while (a<1 || a>7);return a;}int addmedicine(){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);}void modifybyname() ame,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\t 1-修改药品名称 ");printf("\n\t 2-修改药品编号 ");printf("\n\t 3-修改单价 ");printf("\n\t 4-修改品牌 ");printf("\n\t 5-修改库存数量 ");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;}}void list(){int i;system("cls");if(num!=0){printf("\t\t\t----------已为您显示所有药品信息----------\n");for (i=0;i<num;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<num){system("pause");}}printf("\t\t\t------------------------------\n");}elseprintf("\t\t\t系统中无任何记录\n");printf("\t\t\t按任意键返回主菜单:\n");getch();return;}int searchbyname(){int mark=0;int i;printf("\t\t\t---------- 按药品名称查找 ----------\n");char name[20];printf("\t\t\t请输入药品名称:\n");scanf("%s",name);for(i=0;i<num;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)<num){printf("\t\t\t是否继续查找相同名称的药品信息:(y/n)\n");if(getch()=='y' || getch()=='Y'){continue;}elsereturn(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);}return 0;}int searchbynumber(){int mark=0;int i;printf("\t\t\t---------------按药品编号查找 --------------\n");char number[10];printf("\t\t\t请输入药品编号:\n");scanf("%s",number);for(i=0;i<num;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);}void deletebynumber(){int i,j;int deletemark=0;char number[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<num;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<num-1;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;}elsereturn;}continue;}if (deletemark==0){printf("\t\t\t没有该药品的记录");printf("\t\t\t是否继续删除(y/n)");if(getch()=='y' || getch()=='Y')deletebynumber();return;}return;}void deletebyname(){int a=0;int findmark=0;int j;int deletemark=0;int i;char name[20];printf("\t\t\t请输入要删除药品名称:\n");scanf("%s",name);for (i=a;i<num;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<num-1;j++)medicine[j]=medicine[j+1];num--;deletemark++;printf("\t\t\t删除成功");if((i+1)<num){printf("\t\t\t是否继续删除相同名称的药品信息(y/n)");if (getch()=='y'){a=i;continue;}}printf("\t\t\t是否继续删除(y/n)");if (getch()=='y')deletebyname();}if((i+1)<num){printf("\t\t\t是否继续删除相同名称的药品信息(y/n)"); if (getch()=='y' || getch() == 'Y'){a=i;continue;}}}elsecontinue;}if ((deletemark==0)&&(findmark==0)){printf("\t\t\t没有该药品的记录");printf("\t\t\t是否继续删除(y/n)");if(getch()=='y' || getch() == 'Y')deletebynumber();return;}else if (findmark!=0){printf("\t\t\t没有重名信息");printf("\t\t\t没有该药品的记录");printf("\t\t\t是否继续删除(y/n)");if(getch()=='y' || getch() == 'Y')deletebynumber();}}int dele() rice,medicine[i-1].price)<0){tmp=medicine[i];j=i-1;do{medicine[j+1]=medicine[j];j--;}while ((strcmp,medicine[j].price)<0&&j>=0));medicine[j+1]=tmp;}}printf("\t\t\t排序成功,是否显示(y/n)");if (getch()=='y')list();return(0);}int main(){printf("\t\t---------------------------------------------------------\n"); printf("\t\t---------Welcome to management system ----------\n");printf("\t\t----------Made By FACE CARD-------------\n");printf("\t\t---------------------------------------------------------\n"); printf("请按任意键进入主菜单:)\n");getch();int selectnum;while(1){selectnum = menu_select();switch(selectnum){case 1:{addmedicine(); ame,medicine[num].number,medicine[num].price,medicine[num].inventory,medicine[num].brand 数组从键盘上输入药品编号,名称、单价、库存数量、品牌,输入完毕后,系统会提示是否继续输入,输入“y”后,则再次调用addmedicine(); 函数,如此循环,直到不输入药品信息为止。