西安邮电大学 C语言实习 医院管理系统 下载本文

void print2(struct medicine *h) { struct medicine *m; printf(\该医院药品数据为:\\n\ printf(\编号\\t药名\\t用于治疗\\t单价\\n\ for(m=h->next;m!=NULL;m=m->next) printf(\ printf(\按任意键返回该菜单\ getch(); Display2(); }

//查找数据 void Find2() { struct medicine *m; m=read2(); find2(m); }

void find2(struct medicine *m) { char id2[10]; printf(\请输入要查找的编号:\ flushall(); gets(id2); m=m->next; while(m) { if(strcmp(m->id2,id2)==0) { { printf(\找到了哦!\\n\ printf(\编号\\t药名\\t用于治疗\\t单价\\n\ printf(\ printf(\按任意键返回该菜单\ getch(); Display2(); } m=m->next; } else { printf(\很遗憾,没找到呀!\\n\ printf(\按任意键返回该菜单\ getch(); Display2(); }

} }

//删除数据 void Del2() {

struct medicine *m; m=read2(); if(del2(m)) { printf(\删除成功!\ printf(\按任意键返回该菜单\ getch(); Display2(); } else { printf(\删除失败!\ printf(\按任意键返回该菜单\ getch(); Display2(); } }

int del2(struct medicine *m0) { char id2[10]; struct medicine *m,*q; q=m0; m=m0->next; if(m==NULL) //只有头p结点为空表,不能删除返回0 return 0; printf(\请输入要删除的编号:\ flushall(); gets(id2); while(m!=NULL) { if(strcmp(m->id2,id2)==0)//找到要删除的结点 { printf(\已删除成功~\\n\ m0->next=m->next;//后续结点链接到前驱结点之后 free(m); save2_bianji(q); return 1; } m0=m;//推移指针继续查找 m=m->next; } printf(\很遗憾没找到哦!\\n\

return 0; //未找到删除的结点返回 }

//插入函数

int insert2(struct medicine *m0) {

struct medicine *m,*q; q=m0; m=(struct medicine *)malloc(sizeof(struct medicine)); printf(\编号:\ flushall(); scanf(\ printf(\姓名:\ flushall(); scanf(\ printf(\用于治疗:\ flushall(); scanf(\ printf(\单价:\ flushall(); scanf(\ while(m0->next!=NULL&&m0->next->id2id2) m0=m0->next; if(m0->next!=NULL && m0->next->id2==m->id2) { free(m); return 0; } m->next=m0->next; m0->next=m; save2_bianji(q); return 1; printf(\按任意键返回该菜单\ getch(); Display2(); }

//修改病药品信息 void Alter2() {

struct medicine *m; m=read2(); if(alter2(m)) { printf(\修改成功!\ printf(\按任意键返回该菜单\ getch();

Display2(); } else { printf(\修改失败!\ printf(\按任意键返回该菜单\ getch(); Display2(); } }

int alter2() { struct medicine *m,*h; char id2[10]; char choice; h=read2(); m=h->next; printf(\请输入要修改的编号\ scanf(\ while(m!=NULL) { if (strcmp(m->id2,id2)==0) { printf(\编号\\t药名\\t用于治疗\\t单价\\n\ printf(\ printf(\请选择修改:\\n1.编号 2.药名 3.用于治疗 4.单价\\n\ scanf(\ switch(choice) { case 1: printf(\编号:\ scanf(\ printf(\%s %s %s \\n\ save2(h); return 1; case 2: printf(\药名:\ scanf(\ printf(\ save2(h); return 1; case 3: printf(\用于治疗:\ scanf(\ printf(\ save1(h); return 1; case 4: