欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語言藥房管理系統(tǒng)

      時間:2019-05-14 04:58:38下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言藥房管理系統(tǒng)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《C語言藥房管理系統(tǒng)》。

      第一篇:C語言藥房管理系統(tǒng)

      #include #include #include #include struct medicine {

      char name[20];

      //藥品名稱 char number[50];

      //藥品編號 char price[50];

      //單價 char inventory[50];

      //庫存數(shù)量 char brand[20];

      //品牌

      }

      medicine[100];

      //假設最大數(shù)為100.//定義全局變量num

      int num;

      int menu_select(){

      char s[80];int a;/*定義整形變量*/ system(“cls”);printf(“tt-------------您好!您已進入藥房管理系統(tǒng)-----------nn”);printf(“ttt1.輸入藥品信息n”);printf(“ttt2.查看藥品信息n”);printf(“ttt3.修改藥品信息n”);printf(“ttt4.按編號查找藥品n”);printf(“ttt5.按價格排序 n”);printf(“ttt6.刪除藥品信息n”);printf(“ttt7.退出n”);printf(“tt-----------nn”);

      do{

      } printf(“Enter you choice(1~7):”);

      scanf(“%s”,s);

      a=atoi(s);

      while(a<1 || a>7);

      return a;}

      int addmedicine(){

      printf(“ttt--------------請輸入您要保存的信息------------n”);printf(“ttt輸入藥品名稱:n”);scanf(“%s”,medicine[num].name);printf(“ttt輸入藥品編號:n”);scanf(“%s”,medicine[num].number);printf(“ttt單價:n”);scanf(“%s”,medicine[num].price);

      printf(“ttt品牌:n”);

      } scanf(“%s”,medicine[num].brand);printf(“ttt庫存數(shù)量 :n”);scanf(“%s”,medicine[num].inventory);num++;printf(“ttt是否繼續(xù)添加?(Y/N):n”);if(getch()=='y' || getch()=='Y')

      addmedicine();return(0);void modifybyname()

      //按藥品名稱修改 {

      char c;int i,mark=0;char name[20];printf(“ntt請輸入要修改的藥品名稱:”);scanf(“%s”,name);if(num==0){ printf(“ntt文件中無相關(guān)藥品”);printf(“ntt按任意鍵返回主菜單”);getch();mark++;return;} for(i=0;i

      if(strcmp(medicine[i].name,name)==0){ printf(“ntt以下是您要修改的藥品信息”);printf(“ntt藥品名稱: %s”,medicine[i].name);

      printf(“ntt藥品編號: %s”,medicine[i].number);

      printf(“ntt單價: %s”,medicine[i].price);

      printf(“ntt品牌: %s”,medicine[i].brand);

      printf(“ntt庫存數(shù)量: %s”,medicine[i].inventory);

      printf(“ntt是否修改(y/n)”);

      if(getch()=='y'){

      printf(“nt----------------------請選擇修改信息-------------------------”);printf(“nt

      1-修改藥品名稱

      ”);printf(“nt

      2-修改藥品編號

      ”);

      printf(“nt

      3-修改單價

      ”);

      printf(“nt

      4-修改品牌

      ”);

      printf(“nt

      5-修改庫存數(shù)量

      ”);printf(“nt------------”);printf(“nt請選擇您所要的服務:”);scanf(“%s”,&c);switch(c){

      case '1': printf(“nt請輸入新藥品名稱: ”);

      scanf(“%s”,medicine[i].name);break;

      case'2':printf(“nt請輸入新藥品編號: %s”);

      scanf(“%s”,medicine[i].number);break;

      case'3':printf(“nt請輸入新單價: ”);

      scanf(“%s”,medicine[i].price);break;

      case'4':printf(“nt請輸入新品牌: ”);

      scanf(“%s”,medicine[i].brand);break;

      case'5':printf(“nt請輸入新庫存數(shù)量: ”);

      } }

      scanf(“%s”,medicine[i].inventory);break;} }

      if(mark==0){ printf(“ntt藥品信息修改完畢”);printf(“nt是否繼續(xù)修改?(Y/N):”);if(getch()=='y')modifybyname();return;} } void list(){

      int i;system(“cls”);if(num!=0){

      printf(“ttt----------已為您顯示所有藥品信息----------n”);

      for(i=0;i

      {

      printf(“ttt藥品名稱:%sn”,medicine[i].name);printf(“ttt藥品編號:%sn”,medicine[i].number);printf(“ttt單價:%sn”,medicine[i].price);

      printf(“ntt品牌: %sn”,medicine[i].brand);

      } int searchbyname()printf(“ttt庫存數(shù)量:%sn”,medicine[i].inventory);

      if(i+1

      { system(“pause”);

      }

      }

      printf(“ttt------------------------------n”);} else

      printf(“ttt系統(tǒng)中無任何記錄n”);

      printf(“ttt按任意鍵返回主菜單:n”);

      getch();

      return;{

      int mark=0;int i;printf(“ttt----------按藥品名稱查找----------n”);char name[20];printf(“ttt請輸入藥品名稱:n”);scanf(“%s”,name);for(i=0;i

      if(strcmp(medicine[i].name,name)==0)

      {

      printf(“ttt-------以下是您查找的藥品信息-------n”);printf(“ttt藥品名稱: %s”,medicine[i].name);printf(“ttt藥品編號: %s”,medicine[i].number);printf(“ttt單價: %s”,medicine[i].price);

      printf(“ntt品牌: %s”,medicine[i].brand);printf(“ttt庫存數(shù)量:%sn”,medicine[i].inventory);printf(“ttt-----------------------n”);

      mark++;

      if((i+1)

      {

      printf(“ttt是否繼續(xù)查找相同名稱的藥品信息:(y/n)n”);

      if(getch()=='y' || getch()=='Y')

      { continue;

      }

      else return(0);

      }

      else

      }

      }

      {

      printf(“ttt請按任意鍵返回主菜單”);

      getch();

      return(0);

      }

      } if(mark == 0){

      } return 0;

      printf(“ttt沒有您要查找的藥品記錄n”);

      printf(“ttt請按任意鍵返回主菜單n”);

      getch();

      return(0);int searchbynumber(){

      int mark=0;int i;printf(“ttt---------------按藥品編號查找--------------n”);char number[10];printf(“ttt請輸入藥品編號:n”);scanf(“%s”,number);for(i=0;i

      printf(“ttt---------------以下是您查找的藥品信息---------------n”);

      printf(“ttt藥品名稱: %s”,medicine[i].name);

      printf(“ttt藥品編號: %s”,medicine[i].number);

      printf(“ttt單價: %s”,medicine[i].price);

      printf(“ntt品牌: %s”,medicine[i].brand);

      printf(“ttt庫存數(shù)量:%sn”,medicine[i].inventory);

      } void deletebynumber(){

      int i,j;int deletemark=0;char number[20];printf(“ttt請輸入要刪除藥品編號:n”);scanf(“%s”,number);if(num==0){

      printf(“ttt對不起,系統(tǒng)中無任何記錄n”);

      printf(“ttt------------------n”);

      printf(“ttt請按任意鍵返回主菜單n”);

      mark++;

      getch();

      return(0);} } if(mark==0){ printf(“ttt沒有改藥品的信息n”);printf(“ttt請按任意鍵返回主菜單n”);getch();return(0);} return(0);

      printf(“ttt請按任意鍵返回主菜單n”);

      getch();return;} for(i=0;i

      if(strcmp(medicine[i].number,number)==0)

      {

      printf(“ttt以下是您要刪除的用戶記錄:n”);printf(“ttt藥品名稱: %s”,medicine[i].name);printf(“ttt藥品編號: %s”,medicine[i].number);printf(“ttt單價: %s”,medicine[i].price);

      printf(“ntt品牌: %s”,medicine[i].brand);

      printf(“ttt庫存數(shù)量:%sn”,medicine[i].inventory);

      }

      printf(“ttt是否刪除?(y/n)”);

      if(getch()=='y' || getch()=='Y')

      {

      }

      else

      return;

      for(j=i;j

      medicine[j]=medicine[j+1];

      num--;

      deletemark++;

      printf(“ttt刪除成功”);

      printf(“ttt是否繼續(xù)刪除?(y/n)”);

      if(getch()=='y' || getch()=='Y')

      deletebynumber();

      return;

      } continue;if(deletemark==0){

      printf(“ttt沒有該藥品的記錄”);

      printf(“ttt是否繼續(xù)刪除?(y/n)”);

      if(getch()=='y' || getch()=='Y')

      deletebynumber();

      return;

      } } void deletebyname(){

      int a=0;int findmark=0;int j;int deletemark=0;int i;char name[20];printf(“ttt請輸入要刪除藥品名稱:n”);scanf(“%s”,name);for(i=a;i

      printf(“ttt以下是您要刪除的藥品信息:”);

      findmark++;

      printf(“ttt________________________________”);

      printf(“ttt藥品名稱: %s”,medicine[i].name);return;

      printf(“ttt藥品編號: %s”,medicine[i].number);

      printf(“ttt單價: %s”,medicine[i].price);

      printf(“ntt品牌: %s”,medicine[i].brand);

      printf(“ttt庫存數(shù)量:%sn”,medicine[i].inventory);

      printf(“ttt________________________________”);

      printf(“ttt是否刪除?(y/n)”);

      if(getch()=='y' || getch()== 'Y')

      {

      for(j=i;j

      medicine[j]=medicine[j+1];

      num--;

      deletemark++;

      printf(“ttt刪除成功”);

      if((i+1)

      {

      printf(“ttt是否繼續(xù)刪除相同名稱的藥品信息?(y/n)”);

      if(getch()=='y')

      { a=i;

      continue;

      }

      }

      printf(“ttt是否繼續(xù)刪除?(y/n)”);

      if(getch()=='y')

      deletebyname();

      return;

      }

      if((i+1)

      {

      printf(“ttt是否繼續(xù)刪除相同名稱的藥品信息?(y/n)”);

      if(getch()=='y' || getch()== 'Y')

      { a=i;

      continue;

      }

      } } else continue;} if((deletemark==0)&&(findmark==0)){ printf(“ttt沒有該藥品的記錄”);printf(“ttt是否繼續(xù)刪除?(y/n)”);if(getch()=='y' || getch()== 'Y')

      deletebynumber();return;} else if(findmark!=0){ printf(“ttt沒有重名信息”);printf(“ttt沒有該藥品的記錄”);printf(“ttt是否繼續(xù)刪除?(y/n)”);if(getch()=='y' || getch()== 'Y')

      deletebynumber();return;} } int dele()

      //刪除記錄 {

      } char choic;printf(“ttt1-按藥品編號刪除 2-按藥品名稱刪除”);printf(“ttt請選擇:”);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

      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(“ttt排序成功,是否顯示?(y/n)”);

      } if(getch()=='y')

      list();return(0);int main(){

      printf(“tt--------------------------n”);

      printf(“tt---------Welcome to management system----------n”);

      printf(“tt----------Made By 蔣俊杰 李梁偉 鄭奈春-------------n”);

      printf(“tt--------------------------n”);

      printf(“請按任意鍵進入主菜單:)n”);

      getch();

      int selectnum;

      while(1)

      {

      selectnum = menu_select();switch(selectnum){

      case 1: {

      } case 2: { addmedicine();

      //添加藥品信息 break;

      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;}

      第二篇:醫(yī)院藥房管理系統(tǒng)

      醫(yī)院藥房管理系統(tǒng)

      1.需求分析 1.1概述 藥品管理主要是藥品管理員對藥品庫存進行的相關(guān)管理。在該管理系統(tǒng)中,藥品管理員主要需要對藥品的庫存信息進行記錄,查詢和統(tǒng)計功能。藥品管理是醫(yī)院日常管理事務中的重要內(nèi)容,藥品管理過程的準確性和高效性至關(guān)重要。利用計算機高效,準確的特點能夠很好的滿足醫(yī)院藥品管理過程的需求,在保證管理過程準確性的基礎(chǔ)上,最大程度地提高管理效率。目前,大多數(shù)醫(yī)院都已采用醫(yī)院管理系統(tǒng)進行醫(yī)院藥品管理業(yè)務的計算機管理。醫(yī)院藥品管理系統(tǒng)主要是為醫(yī)院藥品管理人員提供藥品信息的記錄,查詢和統(tǒng)計功能,為管理人員提供重要的信息參考。通過醫(yī)院藥品管理系統(tǒng),管理人員可以對醫(yī)院藥品的入庫,出庫以及庫存信息進行管理,系統(tǒng)提供方便的藥品管理信息的查詢和統(tǒng)計功能,能夠滿足醫(yī)院藥品管理人員的基本管理需求。1.2 可行性分析 本次課程設計主要是為醫(yī)院藥品庫存管理系統(tǒng)設計合理的數(shù)據(jù)庫,基于所研究的課題是我們?nèi)粘I钪斜容^常接觸的,所以從以下三個方面對其可行性進行分析: 經(jīng)濟可行性:本次課程設計主要在自己的電腦上開發(fā),而且從老師給的初始條件結(jié)合平時自己對這個業(yè)務的理解,而且我們獲取需求的時候有很多人幫 助。所以在完成這次課程設計的時候基本上沒有什么經(jīng)濟開銷。所以就經(jīng)濟可行性而言,我就的我也有能力獨立完成這次課程設計。技術(shù)可行性:本次課程設計的核心問題是要為藥品管理系統(tǒng)設計一個理的數(shù)據(jù)庫。就我學習的數(shù)據(jù)庫課程中,重點講述的就是如何設計和實現(xiàn)一個合理的數(shù)據(jù)庫,而且我們在數(shù)據(jù)庫課程學習的過程中做過實現(xiàn)一個簡單的數(shù)據(jù)庫的試驗,因此這方面有一定的基礎(chǔ)。這次課程設計主要添加的內(nèi)容是需要我們自己去進行需求分析,自己從客戶那里獲取相應的功能需求。這一方面的知識我在軟件工程和軟件需求中都有學習,所以是可行的。另一方面,本次課程設計可以使用 1

      比較簡單的jsp為數(shù)據(jù)庫設計相

      應的前臺界面。所以就技術(shù)而言,可以完成這次課程設計.操作可行性:本次課程設計所做的是藥品管理系統(tǒng),主要完成的功能是為醫(yī)院藥品管理人員提供藥品信息的記錄,查詢和統(tǒng)計功能,為管理人員提供重要的信息參考。鑒于藥品管理員對藥品信息管理已經(jīng)很熟悉,而且本次課程設計出的數(shù)據(jù)庫的操作非常簡單,所以操作可行性也沒有什么問題.綜上所述,我覺得我有相應的技術(shù)和能力獨立完成本次課程設計,而且我所設計出的數(shù)據(jù)庫功能齊全,簡單明了,方便客戶使用。所以我認為本次

      課程設計是可行的。1.3用戶需求 本次課程設計的主要任務是為藥品管理系統(tǒng)設計一個合理的數(shù)據(jù)庫,在實現(xiàn)該系統(tǒng)的過程中,必須滿足該系統(tǒng)的基本目標:醫(yī)院藥品管理人員提供藥品信息的記錄,查詢和統(tǒng)計功能,為管理人員提供重要的信息參考。我所設計的藥品管理數(shù)據(jù)庫正是基于這個目標而開發(fā)的。在實現(xiàn)該系統(tǒng)的同時,也相應的鍛煉了我們的動手能力,讓我們有機會將課本上的知識運用到實際中來,加深了我們對知識的理解,我認為這也是該系統(tǒng)的目標之一。該系統(tǒng)的主要任務是為了完成醫(yī)院藥品管理人員提供藥品信息的記錄,查詢和統(tǒng)計功能,為管理人員提供重要的信息參考。但是基于該系統(tǒng)的功能比較簡單,所以可以在此基礎(chǔ)上相應的增加一些相關(guān)的功能:當管理員發(fā)現(xiàn)某類藥品的庫存數(shù)量低于某個標準時,管理員要聯(lián)系供應商購買相應的藥品來補充該藥品的庫存;當醫(yī)院的某個部門缺少某類藥品時,需向管理員申請?zhí)崛∠鄳乃幤窌r,管理員可以根據(jù)該藥品的庫存情況為該部門分配相應數(shù)量的藥品。2.開發(fā)和運行環(huán)境 2.1 網(wǎng)絡邏輯結(jié)構(gòu) 本次課程設計采用B/S模式來實現(xiàn),B/S模式是三層C/S模式的一種實現(xiàn)方式,其結(jié)構(gòu)為:瀏覽器/WEB服務器/數(shù)據(jù)庫服務器。其中表示層(瀏覽器)負責處理用戶的輸入和向客戶輸出。功能層(WEB服務器)負責建立數(shù)據(jù)庫的連接,2

      根據(jù)用戶的請求生成訪問數(shù)據(jù)庫的SQL語句,并把結(jié)果返回給客戶端。數(shù)據(jù)層(數(shù)據(jù)庫服務器)負責實際的數(shù)據(jù)庫存儲和檢索,響應功能層的數(shù)據(jù)處理請求,并將結(jié)果返回給功能層。在B/S模式中,用戶要運行某個應用程序時只需在瀏覽器上鍵入相應的網(wǎng)址。調(diào)用WEB服務器上的應用程序并對數(shù)據(jù)庫進行操作完成數(shù)據(jù)處理工作,最后將結(jié)果通過瀏覽器返回給用戶。供

      應商

      藥品管理員 藥品管理數(shù)WEB服務器 據(jù)庫(mysql)(Tomcat)

      醫(yī)生 所以用戶的操作非常簡單,而且客戶端要求的配置也不高,這2.2 軟件支撐環(huán)境及開發(fā)工具 本次課程是我選擇這中模式的主要原因。設計主要是設計一個合理的數(shù)據(jù)庫,而我的電腦上安裝了Mysql,所以可以在自己的電腦上完成本次課程設計,運行環(huán)境為WindowsXP,而且和數(shù)據(jù)庫的聯(lián)系也比較簡單,方便.考慮使用JSP來完成前臺的設計。所以涉及到的工具為:Mysql, Eclipse,WINDOWSXP.3.概念結(jié)構(gòu)設計 3

      3.1總體DFD 藥品管理系統(tǒng)中的主要功能是在藥品入庫和藥品出庫時,方便藥品管理員對藥品入庫信息,藥品出庫信息和藥品庫存信息進行查詢和統(tǒng)計的功能。所以該系統(tǒng)主要是對藥品入庫管理和藥品出庫管理進行設計的,所以設計基于藥品入庫管理和藥品出庫管理的數(shù)據(jù)流圖如下: 藥品入庫單 供應 供應商 藥品庫存信息 提取 部門 藥品出庫單 3.2功能結(jié)構(gòu) 本次課程設計主要是針對醫(yī)院藥品管理人員設計的,主要是為了方便藥品管理人員在進行購買藥品時藥品入庫,和提出藥品時藥品出庫時對藥品進行記錄查詢和統(tǒng)計。所以本次課程設計主要分成4個大的功能模塊:用戶管理,藥品的入庫,藥品出庫,庫存清點: 4

      醫(yī)院藥品管理系統(tǒng) 用藥藥庫戶品品存管供提清理 應 取 點 3.2.1用戶管理 該課程設計中主要有2類用戶,一類是系統(tǒng)管理員,一類是藥品倉庫管理員。其中由于該數(shù)據(jù)庫主要針對藥品管理員而設計,所以在這里主要講述藥品管理員的功能需求:藥品管理員主要是負責藥品的入庫和藥品的出庫管理和庫存的清點工作。

      管理員 用戶管理 供應商 醫(yī)生 5

      3.2.2供應藥品 供應藥品主要是供應商為藥品倉庫提供藥品補給,其中主要要求藥品管理員對供應清單進行記錄,而后藥品入庫后,會對庫存的藥品產(chǎn)生一定的影響,藥品管理員需對相應的變化對藥品記錄做相應的改變

      填寫供應單 保存供應單 供應藥品 編輯入庫藥品信息 藥品入庫 3.2.3提取藥品 提取藥品主要是某個部門申請?zhí)崛∷幤?,主要要求藥品管理員對提取單做相應的修改和記錄。而后藥品出庫后,會對庫存的藥品產(chǎn)生一定的影響,藥品管理員需對相應的變化對藥品記錄做相應的改變

      填寫提取單 保存提取單 提取藥品 編輯出庫藥品信息 藥品出庫 6

      3.2.4庫存清點功能

      該功能主要是針對藥品的現(xiàn)有庫存信息進行查詢和統(tǒng)計功能,在每次進行藥品入庫和藥品出庫后藥品的庫存信息將有所改變,所以需要對庫存的藥品進行清點功能,提醒藥品管理員進行藥品入庫或其他操作。庫存信息查詢 庫存信息瀏覽 庫存清點 出庫信息查詢 入庫信息查詢 3.3 局部視圖設計 3.3.1數(shù)據(jù)字典 數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果,并且數(shù)據(jù)字典的內(nèi)容將在數(shù)據(jù)庫的設計過程中不斷的修改、充實和完善。數(shù)據(jù)字典有多種表示方法,在這里,我使用的書上介紹的,一般包含:數(shù)據(jù)項,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)流,這幾個部分。庫存藥品的數(shù)據(jù)項描述: 數(shù)據(jù)項名 數(shù)據(jù)項含義 類型 長度 約束 藥品編號 藥品的編號 int 2 每個藥品有一個唯一的編號 倉庫編號 倉庫的編號 int 2 必須與某個倉庫編號一至 藥品名稱 藥品的名稱 varchar 20 必須是炒菜,湯,煲類之一 藥品種類 藥品的種類 varchar 10 藥品屬于中藥或西藥之一 7

      單價 藥品的單價 int 5 必須大于0 生產(chǎn)日期

      輸入必須符合日期的格式 藥品的生產(chǎn)日datetime 期 過期日期 藥品的過期日datetime 過期日期必須大于生產(chǎn)日期 期 庫存數(shù)量 藥品的數(shù)量 int 10 必須大于0 供貨商數(shù)據(jù)項描述: 數(shù)據(jù)項名 數(shù)據(jù)項含義 類型 長度 約束

      int 2 每個供貨商有一個唯供貨商編號 供貨商編號 一的編號 名稱 名稱 VARCHAR 20 電話 供貨商電話 bigint 8 地址 供貨商地址 VARCHAR 20 管理員的數(shù)據(jù)項描述:

      數(shù)據(jù)項名 數(shù)據(jù)項含義 類型 長度 備注 int 2 每個管理員有唯一一個管理員編號 管理員的編編號 號 VARCHAR 20 姓名 管理員的性VARCHAR 10 性別必須是男或女 性別 別 年齡 廚師的年齡 int 2 0到60之間,60歲退休 倉庫編號 倉庫的編號 int 2 必須與某個倉庫編號一至 藥品倉庫的數(shù)據(jù)項描述: 數(shù)據(jù)項名 數(shù)據(jù)項含義 類型 長度 備注 8

      倉庫編號 倉庫的編號 int 2 每個倉庫有唯一一個編號 地址 倉庫的地址 VARCHAR 20 地址不能為空 電話 倉庫的電話 BIGINT 8 電話號碼不能為空 面積 倉庫的大小 int 4 必須大于0 部門數(shù)據(jù)項描述:

      數(shù)據(jù)項名 數(shù)據(jù)項含義 類型 長度 約束 部門編號 部門編號 int 2 每個部門有一個唯一的編號 名稱 名稱 VARCHAR 20 電話 供貨商電話 bigint 8 3.3.2 實體-聯(lián)系圖 根據(jù)上面的功能需求分析過程可以看出,可以將本系統(tǒng)劃分成3個大的功能模塊,所以可以將本系統(tǒng)畫出3個局部E—R圖,如下所示: 由于本次課程設計中沒有涉及到前臺的操作,所以這里畫出藥品管理員這個實體和該實體的屬性:

      管理員編性別 名稱 年齡 號 藥品管理員 供應藥品子系統(tǒng)的分E—R圖: 9

      n 藥品 庫存 供應商編號 1 名稱 供 n 貨 1 藥品倉庫 供應 地址 商 m 電話 管理 1 藥品管理員 供應標識 時間 供應量 提取藥品子系統(tǒng)的分E—R圖: 10

      藥品管理員 n 提取標識 提取時間 庫存 1 提取量 1 藥品倉庫 提取 1 部門編號 n 部門名稱 管理 部門 m 電話 藥品管理員 11

      藥品管理系統(tǒng)E—R圖:

      供應

      標識 提取標識 時間 時間 提取量 供應量 m m 供應 藥品 提取 n n n 庫存 供應商 部門 1 藥品倉庫 1 管理 n 藥品管理員 4.邏輯結(jié)構(gòu)設計 本次課程設計中的邏輯設計采用關(guān)系模型來設計,根據(jù)概念設計中的E-R圖,將圖中的實體和實體間的關(guān)系轉(zhuǎn)化成關(guān)系模式,在將E-R圖轉(zhuǎn)化成關(guān)系模型的時候,由于在我所設計的E-R圖中存在實體間的聯(lián)系,根據(jù)課本中提到的情況: 藥品管理員(管理員編號,名稱,性別,年齡,倉庫編號)12

      藥品倉庫(倉庫編號,地址,電話,面積)庫存藥品(藥品編號,倉庫編號,藥品名稱,藥品種類,庫存數(shù)量,單價,生產(chǎn)日期,過期日期)

      供應商(供應商編號,名稱,地址,電話)

      供應(供應標識,供應商編號,藥品編號,倉庫編號,時間,供應量,單價)13

      部門(部門編號,部門名稱,電話)

      提?。ㄌ崛俗R,部門編號,藥品編號,倉庫編號,時間,提取量)

      5.應用系統(tǒng)界面設計 在把數(shù)據(jù)庫設計完成之后,轉(zhuǎn)而投入了實現(xiàn)了前臺界面與后臺數(shù)據(jù)庫的交互,我此次用的是JSP實現(xiàn)的一個小型界面,這正是B/S模式的體現(xiàn),通過程序與數(shù)據(jù)庫連接,可以對數(shù)據(jù)庫里面的信息進行修改,刪除,查看等操作。1.藥房管理員工作流程如下圖: 14

      輸入相應的編號,系統(tǒng)會與數(shù)據(jù)庫取得聯(lián)系,判斷該用戶是哪類用戶,若輸入10則表示是藥房管理員:

      選擇要進行的操作,按提交,這里有三種操作供選擇,這里選擇查看庫存信息: 2.供應商的工作流程如下: 輸入編號20表示是供應商,進入界面:

      輸入響應信息后,顯示此次的供應單并計算總價:

      3.醫(yī)生提取藥品的工作流程: 輸入編號30表示是醫(yī)生,進入界面:

      輸入相應信息后,點顯示此次的

      提取單并計算價錢: 6.經(jīng)驗總結(jié)

      在這一周的課程設計實習過程中,我的收獲良多。在一周的時間中,其實畫在建立數(shù)據(jù)庫這個環(huán)節(jié)上的時間不是很多。在學習數(shù)據(jù)庫這門課程的時候,我記得書上有講過:“數(shù)據(jù)庫設計的特點之一是三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”。在這一周的課程設計中我深有體會,在開始的需求分析和基礎(chǔ)數(shù)據(jù)的獲取階段我差不多花了3天的時間來收集整理材料,由于我對于醫(yī)院的藥品管理這個領(lǐng)域比較陌生,所以花了比較長的時間來了解這個行業(yè)的情況和信息。當收集的資料差不多之后,接下來的任務就比較輕松:因為在需求分析階段了解可以將整個系統(tǒng)中劃分成幾個實體,每個實體有什么屬性,以及實體和實體之間有什么聯(lián)系。所以在接下來的概念設計中的E—R圖的設計就比較簡單,而且在畫E—R圖的時候就可以大致知道整個系統(tǒng)需要劃分成幾個基本表來實現(xiàn),所以邏輯設計階段也比較輕松,至于物理階段的設計,使用的是MYSQL數(shù)據(jù)庫,是出于操作簡單,運行速度快的特點選用的。在把數(shù)據(jù)庫設計完成之后,轉(zhuǎn)而投入了實現(xiàn)了前臺界面與后臺數(shù)據(jù)庫的交互,在這里我使用的是JSP語言,起初對JDBC只有概念上的認識,通過這次設計,我對

      JDBC

      中的ResultSet,Statement,PreparedStatement等有了很大認識,主要是在設計的時候?qū)Τ鲥e原因進行了分析,使得自己對JDBC的理解更加清晰。在本次課程設計過程中,我最大的體會就是了解了一個具體的數(shù)據(jù)庫設計的過程,以及每個過程之間的緊密聯(lián)系和他們不同的重要性。就像前面提到的一樣,在書上看到“數(shù)據(jù)庫設計的特點之一是三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)”這句話的時候,并沒有引起我什么注意,可是在這次課程設計過程中,我深深的體會到其實要建立數(shù)據(jù)庫中的幾個基本表其實很容易,難的是從我所不熟悉的現(xiàn)實領(lǐng)域收集提取建立數(shù)據(jù)庫所需要的基本數(shù)據(jù)。在這次課程設計中,我了解 17

      到將書本上的知識運用到實際中的時候,會使我對原有的知識有更深層次的理解以及掌握。而且通過這次課程設計,我掌握了為某個具體系統(tǒng)建立數(shù)據(jù)庫的流程和方法,肯定會對我將后的學習和實踐有很大的幫助。7.參考文獻 [1]王珊

      編著 數(shù)據(jù)庫系統(tǒng)簡明教程,高等教育出版社 [2]王智學 等編著

      ROSE對象建摸方法與技術(shù),機械工業(yè)出版社 18

      第三篇:藥房管理:

      藥房管理:

      藥房劃價:

      在藥房管理內(nèi)找到 藥房劃價 窗口點擊進入,進入后,需選擇 藥房名稱;

      進行 藥品劃價 前,需要進行處方類型選擇;

      在藥品名后的窗口內(nèi)輸入需劃價的藥品名稱首拼,進行劃價:(如:阿莫西林顆粒的劃價;只需輸入:

      a m x l ,點擊空格鍵查詢,在查詢出的藥品信息中選擇相應的藥品的 規(guī)格,對于農(nóng)合報銷的藥品,必須查看藥品是否 保內(nèi),如果藥品是保外的,需協(xié)同藥房或庫房管理人員進行調(diào)解,看藥品是的農(nóng)合編碼是否能對成保內(nèi)的,選擇中后點擊回車鍵選擇,在彈出的藥品劃價信息中,操作員只需要輸入其處方信息中需開的 數(shù)量。核對一下 價格,若;價格有誤,可在此修改價格,注意:此窗口所調(diào)的價格為臨時調(diào)價。若需將價格徹底調(diào)為最新的價格,需到庫房管理內(nèi)找到成本調(diào)價與零售調(diào)價窗口,進行調(diào)價方才將價格徹底調(diào)過來。核對信息完畢后看,點擊回車鍵確定劃價。

      在藥品劃價的過程中,操作員可將藥品的用量、頻次、用法編輯在藥品信息內(nèi)。

      在所有的藥品劃價完畢后,點擊 保存單據(jù)。系統(tǒng)將自動生成一個 處方號;

      藥房操作員需將處方號編輯于紙張?zhí)幏絾紊厦黠@的地方,方便收費人員能再第一時間查詢到已劃價的藥品信息。

      劃價單查詢;

      找到劃價單查詢窗口進入 , 選擇藥房位置,常用時間段、查詢條件的設置。

      藥品劃價單查詢共分為 已劃價未收費 的處方單據(jù)與 已劃價已收費 的處方單據(jù)信息。若需 3 要查看已經(jīng)收費的處方,須將已經(jīng)收費的標準勾上。點擊查詢。

      注:已劃價未收費的單據(jù)可作廢或修改藥品信息,增加藥品與刪除藥品。)增加藥品:

      門診發(fā)藥與住院發(fā)藥:

      在藥房管理內(nèi)找到門或住院診發(fā)藥窗口點擊進入,在處方號、姓名窗口內(nèi),輸入患者的姓名或處方號,點擊 查詢。

      選擇需發(fā)藥的患者藥品信息。點擊發(fā)藥按鈕。系統(tǒng)自動藥發(fā)出去,相應的藥品庫存將自動減少。

      注:住院發(fā)藥流程與門診一致不同的是住院發(fā)藥可輸入患者的住院號:

      門診退藥:

      步驟:藥房管理內(nèi)找到門診退藥窗口,點擊進入,在處方號后的小窗口內(nèi)輸入 處方號(輸入的處方只要求輸入后四位即可)。點擊空格鍵查找,操作員也可直接點擊空格鍵,查詢出需退藥的患者姓名。選擇后點擊回車鍵,點擊 查詢 按鈕。

      確定與處方信息一致后。點擊確定退藥按鈕,系統(tǒng)會自動將藥品退回藥房。(注:門診退藥為全退。)

      住院退藥:

      步驟:藥房管理內(nèi)找到住院退藥窗口,點擊進入,在處方號后的小窗口內(nèi)輸入 住院號或者處方號(輸入的處方只要求輸入后四位即可)。點擊空格鍵查找,操作員也可直接點擊空格鍵,查詢出需退藥的患者姓名。選擇后點擊回車鍵

      點擊查詢按鈕。

      在查詢出藥品信息后,若只需退其中一種藥品,可點擊藥品名稱,在自動彈出的窗口內(nèi)編輯需退的藥品 數(shù)量,點擊回車鍵保存退藥信息

      系統(tǒng)根據(jù)編輯所退的數(shù)量自動生成退藥的數(shù)量,在退要信息窗口內(nèi)會自動生成選重的藥品信息。,退藥信息編輯完畢后;點擊確定退藥按鈕。

      若需要將整張?zhí)幍乃幤沸畔⑷说模牲c擊全退按鈕。再點擊確定退藥按鈕。

      注:住院退藥可全退,可單獨退某一種藥品信息。

      第四篇:源程序(醫(yī)院藥房藥品管理系統(tǒng)C++)

      源程序: # include //包含文件讀寫 # include # include //包含strcmp()字符是否相等 #include //包含system(“cls”)清屏

      #define MAX 60

      //下列字符數(shù)組的大小 struct Date{//日期

      char year[MAX];//年

      char month[MAX];//月

      char day[MAX];//日 };struct Goods{//藥品信息

      char name[MAX];//藥品名稱

      char price[MAX];//藥品價格

      char number[MAX];//藥品數(shù)量

      char cost[MAX];//藥品總價

      char kind[MAX];//藥品的種類

      Date indate;//入庫日期

      Date xiaoqi;//到期時間

      Goods * next;//下一個結(jié)點

      };

      class Cangkuguanli { //類定義與實現(xiàn) private:

      int length;//客戶數(shù)量

      Goods * head;//列表的頭結(jié)點

      Goods * current;//當前結(jié)點 public:

      Cangkuguanli()//構(gòu)造函數(shù)

      {

      head=new Goods;//創(chuàng)建頭結(jié)點

      current=head;

      current->next=NULL;

      length=0;//長度為0

      }

      void Creatlist()//創(chuàng)建新的列表

      {

      char g='Y';

      int s=0;

      length=0;//初始長度為0;

      current=head;

      do {

      Goods * temp=new Goods;//構(gòu)建新結(jié)點信息

      length++;//每加一個結(jié)點 鏈表長度增1

      temp->next=NULL;

      cout<<“

      請輸入藥品名稱: ”;

      cin>>temp->name;

      cout<<“

      請輸入單價

      : ”;

      cin>>temp->price;

      cout<<“ 請輸入藥品數(shù)量:

      ”;

      cin>>temp->number;

      cout<<“

      請輸入總費用 : ”;

      cin>>temp->cost;

      cout<<“ 請輸入日期(**** ** **): ”;

      cin>>temp->indate.year>>temp->indate.month>>temp->indate.day;

      cout<<“ 請輸入藥品有效期(**** ** **):”;

      cin>>temp->xiaoqi.year>>temp->xiaoqi.month>>temp->xiaoqi.day;

      cout<<“ 請輸入藥品種類: ”;

      cin>>temp->kind;

      if(head==NULL){head=temp;current=temp;} //head頭指針,current尾指針

      else {current->next=temp,current=temp;}

      do{

      cout<<“ next ?(Y N)”;//是否繼續(xù)存入新產(chǎn)品

      cin>>g;

      if(g!='Y'&&g!='N')

      {

      cout<<“n error??!n ”;

      }

      }while(g!='Y'&&g!='N');

      }while(g=='Y');//判斷是否繼續(xù)插入新結(jié)點

      }

      void Open()//打開一個數(shù)據(jù)文件,并建立鏈表關(guān)聯(lián) 和文件中的記錄對應

      {

      char fname[20];//文件名稱

      cout<<“ input the name of the file n”;

      cin>>fname;//輸入要打開的文件名

      ifstream infile(fname);//創(chuàng)建輸入文件流

      infile>>length;

      cout<<“n length is: ”<

      //if(length==0)cout<<“ 數(shù)據(jù)為空n”;

      for(int i=0;i

      {

      Goods * t=new Goods;

      t->next=NULL;

      infile>>t->name>>t->price>>t->number>>t->cost>>t->kind>>

      t->indate.year>>t->indate.month>>t->indate.day;

      if(head==NULL){head=t;current=t;}//跟上面的鏈表創(chuàng)建相似

      else {current->next=t,current=t;}

      }

      infile.close();//關(guān)閉文件流

      }//open

      void Save()//保存鏈表信息到文件 {

      if(length==0)

      {

      cout<<“ 列表為空 不需存盤 n”;

      return;

      }

      char fname[20];//文件名稱

      cout<<“ input the name of the file you want to put data in n”;

      cin>>fname;

      ofstream outfile(fname);//創(chuàng)建輸出文件流

      Goods * temp=head->next;

      outfile<

      while(temp!=NULL)//把所有結(jié)點寫入到文件fname

      {

      outfile<name<<“ ”<price<<“ ”<number<<“ ”<cost<<“ ”<kind

      << “ ”<indate.year<<“ ”<indate.month<<“ ”<indate.day<<“ ”<xiaoqi.year<<“ ”<xiaoqi.month<<“ ”<xiaoqi.day<

      //寫入每個結(jié)點信息

      temp=temp->next;

      }

      outfile.close();//關(guān)閉文件流 }

      void printinfor(Goods * current)//輸出一個結(jié)點的信息到字符界面 {

      if(current==NULL)

      { cout<<“n元素為空!!n ”;return;

      }

      cout.fill(' ');cout<name;

      cout.width(8);

      cout.width(8);cout<price;cout.width(8);

      cout<number;cout.width(8);cout<cost;//就是給current->cost10個字符輸出,不夠往前面加‘ ’空格

      cout.width(10);cout<kind;cout.width(10);cout<< current->indate.year<<“.”<indate.month<<“.”<indate.day;cout.width(10);cout<xiaoqi.year<<“.”<xiaoqi.month<<“.”<xiaoqi.day;cout<

      void Show()//輸出所有結(jié)點信息到字符界面 { current=head->next;if(current==NULL){ cout<<“列表為空 n”;return;} cout.fill(' ');cout.width(2);cout<<“名稱”;

      cout.width(8);cout<<“價格”;cout.width(8);cout<<“數(shù)量”;cout.width(8);cout<<“總費用”;cout.width(10);cout<<“藥品的種類”;cout.width(15);cout<<“購進時間”;cout.width(15);cout<<“有效期”;cout<

      //循環(huán)輸出所有結(jié)點

      printinfor(current);

      current=current->next;}

      }//show Goods *Searchindate(Date t){ //按購入日期搜索

      返回結(jié)點指針temp //結(jié)構(gòu)體t含有t.year t.month t.day三個信息塊 Date d;bool f=false;Goods * temp;current=head->next;

      while(current!=NULL)

      {

      d=current->indate;

      if(!strcmp(d.year,t.year)&&!strcmp(d.month,t.month)&&!strcmp(d.day,t.day))

      {

      temp=current;

      f=true;

      break;

      }

      current=current->next;

      }

      if(f==false)

      {

      cout<<“n 沒有滿足要求的信息 n”;

      return NULL;

      } return temp;} void Queryindate()//按入庫日期查詢 { Date t;cout<<“ input the date(**** ** **): ”;cin>>t.year>>t.month>>t.day;

      printinfor(Searchindate(t));}//Queryindate()Goods * Searchname(char r[])//搜索藥品名

      返回結(jié)點指針temp { Goods * temp;

      current=head->next;bool f=false;

      while(current!=NULL)

      {

      if(strcmp(current->name,r)==0)

      {

      temp=current;

      f=true;

      break;

      }

      current=current->next;

      }

      if(f==false)

      {

      cout<<“n 商品名為 : ”<

      return NULL;

      } return temp;} void

      Queryname()//按藥品名查詢 { char r[MAX];cout<<“ input the name: ”;cin>>r;printinfor(Searchname(r));} void Query()//查詢函數(shù)

      一個次級菜單 { char m;do{ cout<<“ ********************************************************** ”<

      cout<<“******* 按入庫的時間查詢

      ***********”<

      cout<<“******* 按藥品的名稱查詢

      ***********”<

      cout<<“******* 退出

      ***********”<>m;switch(m){ //分別調(diào)用按不同查詢方式下的函數(shù)

      case 'a': Queryindate();break;case 'b': Queryname();break;

      case 'c': return;default: cout<<“error!”;} }while(m!='h');}//Query

      void Removebynumber()//按總量刪除某個結(jié)點 { char t[MAX];//需要刪除的總量值

      bool f=false;//表示是否找到滿足要求的結(jié)點

      Goods * temp;//指向找到的結(jié)點,并刪除

      cout<<“ 請輸入藥品的數(shù)量: ”;

      cin>>t;

      current=head;

      while(current->next!=NULL)

      {

      if(strcmp(current->next->number,t)==0)//判斷是否滿足條件

      {

      temp=current->next;

      current->next=temp->next;

      length--;//沒刪除一個結(jié)點,鏈表長度減1

      f=true;

      delete temp;//釋放結(jié)點 cout<<“已刪除此藥品n”;

      //break;

      此處屏蔽break,也就是說找到第一個滿足條件的結(jié)點,并不退出循環(huán),而是繼續(xù)刪除

      }

      else{

      current=current->next;

      }

      }

      if(f==false)//false沒有改動,表示沒有滿足條件的結(jié)點

      {

      cout<<“此藥品不存在 ,無須刪除 n”;

      } }//Removebynumber void Removebyname()//按名稱刪除某個結(jié)點 { char t[20];

      bool f=false;;

      Goods * temp;

      cout<<“ 請輸入藥品的名稱:”;

      cin>>t;

      current=head;

      while(current->next!=NULL)

      {

      if(strcmp(current->next->name,t)==0)

      {

      temp=current->next;

      current->next=temp->next;

      length--;

      f=true;

      delete temp;cout<<“已刪除此藥品n”;//break;此處屏蔽break,也就是說找到第一個滿足條件的結(jié)點,并不退出循環(huán),而是繼

      續(xù)刪除

      }

      else{

      current=current->next;

      }

      }

      if(f==false)

      {

      cout<<“此藥品不存在 ,無須刪除 n”;

      } }//Removebyname

      void Removebyindate()//按購進時間刪除某個結(jié)點 {

      Date t,d;

      bool f=false;

      Goods * temp;

      cout<<“ 請輸入查找藥品的日期: ”;

      cin>>t.year>>t.month>>t.day;

      current=head;

      while(current->next!=NULL)

      {

      d=current->next->indate;

      if(d.year==t.year&&d.month==t.month&&d.day==t.day)

      {

      temp=current->next;

      current->next=temp->next;

      length--;

      f=true;

      delete temp;cout<<“已刪除此藥品n”;

      }

      else{

      current=current->next;

      }

      }

      if(f==false)

      {

      cout<<“此元素不存在 ,無須刪除 n”;

      } }//Removebyindate

      void Remove()//刪除函數(shù)

      { char g='Y';

      do{ cout<<“ ********************************************************** ”< 按藥品總數(shù)量刪除

      ***********”< 按藥品名稱刪除

      ***********”< 按入庫時間刪除

      ***********”< 退出

      ***********”<>g;switch(g){

      case 'a': Removebynumber();break;case 'b': Removebyname();break;case 'c': Removebyindate();break;case 'd': return;default: cout<<“error!”;}

      } while(g!='d');}

      void Add(){ Goods * temp;current=head;while(current->next!=NULL)//找到尾指針 { current=current->next;} temp=new Goods;temp->next=NULL;length++;//鏈表長加1

      cout<<“ 請輸入藥品名稱: ”;

      cin>>temp->name;

      cout<<“ 請輸入單價

      : ”;

      cin>>temp->price;

      cout<<“ 請輸入藥品數(shù)量 : ”;

      cin>>temp->number;

      cout<<“ 請輸入總費用 : ”;

      cin>>temp->cost;

      cout<<“ 請輸入入購日期(**** ** **)”;

      cin>>temp->indate.year>>temp->indate.month>>temp->indate.day;

      cout<<“請輸入有效期(**** ** **)”;

      cin>>temp->xiaoqi.year>>temp->xiaoqi.month>>temp->xiaoqi.day;

      cout<<“ 請輸入藥品的種類:”<

      cin>>temp->kind;

      current->next=temp;//這時current指向尾指針,將要插入的結(jié)點接到current后面

      current=temp;}//add

      void Modify(){//通過藥品名找到要修改的數(shù)據(jù)項

      char n[MAX];cout<<“請輸入您要修改的藥品名:”<>n;

      Goods * temp=Searchname(n);//按商品名查找

      cout<<“ 請輸入單價:”;

      cin>>temp->price;

      cout<<“ 請輸入藥品的總費用:n”;

      cin>>temp->cost;

      cout<<“ 請輸入日期(**** ** **):n”;

      cin>>temp->indate.year>>temp->indate.month>>temp->indate.day;

      cout<<“ 請輸入藥品的數(shù)量:n”;

      cin>>temp->number;

      cout<<“ 請輸入藥品的種類:n”;

      cin>>temp->kind;}

      void operation(){ char g='Y';do{ cout<<“t”;cout.fill('*');cout.width(21);cout<<'*';cout<<“醫(yī)院藥房管理系統(tǒng)”;cout.fill('*');cout.width(19);cout<<'*';

      cout<<“n”;

      cout<<“t********************************************************n”;

      cout<<“t

      MWDICINE STORE MANAGEMENT SYSTERMn”;

      cout<<“t********************************************************n”;cout<<“t &&

      && 藥品入庫

      &&&&&&&&&&&&&&& cout<<”t

      &&

      && 藥品出庫

      &&&&&&&&&&&&&&&

      n“;n”;

      cout<<“t

      &&

      &&

      藥品調(diào)價

      &&&

      n”;

      cout<<“t

      &&

      &&

      新藥品入庫

      &&&

      n”;

      cout<<“t

      &&

      &&

      打開文件

      &&&&&&&&&&&&&&&

      n”;

      cout<<“t

      && &&

      保存文件

      &&&&&&&&&&&&&&&

      n”;

      cout<<“t

      &&&

      顯示庫存

      &&&

      n”;

      cout<<“t

      &&&

      藥品查詢

      &&&

      n”;

      cout<<“t

      &&&

      上下限制

      &&&

      n”;

      cout<<“t

      &&&

      退出

      &&&

      n”;

      cout<<“t********************************************************n”;

      cout<<“t********************************************************n”;cout<<“t”;cout.fill('*');cout.width(18);cout<<'*';cout<<“醫(yī)院藥房管理系統(tǒng)”;cout.fill('*');cout.width(22);cout<<'*';cout<

      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 }while(g!='E');}//operation };//Cangkuguanli int main(){ Cangkuguanli A;

      A.operation();return 0;}

      第五篇:c語言 電話簿管理系統(tǒng)

      #include “stdio.h” #include “string.h” #define N 20 struct mem { char name[20];

      char tel[20];

      char wu[20];

      char dz[20];}mem[N];void sorttel(struct mem tel[]){

      struct mem temp;

      int i,j;

      FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){

      printf(“不能打開文件n”);} for(i=0;i

      for(j=0;j

      if(strcmp(mem[j+1].tel,mem[j].tel)<0)

      {

      temp=mem[j];

      mem[j]=mem[j+1];

      mem[j+1]=temp;

      } for(i=0;i

      void sortname(struct mem tel[]){

      struct mem temp;

      int i,j;

      FILE *fp;if((fp=fopen(“c: elephone.txt”,“rb”))==NULL){

      printf(“不能打開文件n”);} for(i=0;i

      for(j=i+1;j

      if(strcmp(mem[j].name,mem[i].name)<0)

      {

      temp=mem[i];

      mem[i]=mem[j];

      mem[j]=temp;

      } for(i=0;i

      void sor(){int k;

      do{printf(“--------------------排序菜單-------------------n”);

      printf(“------------------------n”);

      printf(“

      1:按號碼排序n”);

      printf(“

      2:按姓名排序n”);

      printf(“

      0:退出n”);

      printf(“------------------------n”);

      printf(“請輸入0-2選擇功能n”);

      scanf(“%d”,&k);getchar();

      switch(k)

      {

      case 1:sorttel(mem);break;

      case 2:sortname(mem);break;

      case 0:return;

      }

      }while(1);}

      void add(){ char name[10];char tel[10];

      char wu[10];

      char dz[10];FILE *fp;if((fp=fopen(“c: elephone.txt”,“a”))==NULL){

      printf(“不能打開文件n”);

      exit(0);}

      printf(“請輸入姓名”);

      gets(name);

      printf(“請輸入電話號碼”);

      gets(tel);

      printf(“請輸入工作單位”);

      gets(wu);

      printf(“請輸入地址”);

      gets(dz);printf(“n”);

      fprintf(fp,“%s %s %s %sn”,name,tel,wu,dz);

      fclose(fp);} void del(){

      FILE *fp;

      int i=0,n;

      char name[10];

      printf(“請輸入刪除名字”);

      gets(name);

      if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

      printf(“不能打開文件n”);

      exit(0);}

      while(!feof(fp))

      {

      fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

      if(strcmp(name,mem[i].name)!=0)i++;

      }

      fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){

      printf(“不能打開文件n”);

      exit(0);} for(n=0;n

      fprintf(fp,“%s %s %s %s”,mem[n].name,mem[n].tel,mem[n].wu,mem[n].dz);fclose(fp);} void dis(){ FILE * fp;int i=0,n;printf(“

      姓名

      電話號碼

      工作單位

      地址n”);

      if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

      printf(“不能打開文件n”);

      exit(0);}

      while(!feof(fp))

      {fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);i++;}

      fclose(fp);

      n=i;

      for(i=0;i

      printf(“%-8s%11s%13s%24sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);} void mod(){ FILE * fp;int i=0,n;char name[10];char nn[10];char nt[10];char nwu[10];char ndz[10];

      printf(“請輸入要修改的姓名”);gets(name);printf(“請輸入修改后的姓名”);gets(nn);printf(“請輸入修改后的電話號碼”);gets(nt);printf(“請輸入修改后的工作單位”);gets(nwu);printf(“請輸入修改后的地址”);gets(ndz);printf(“n”);if((fp=fopen(“c: elephone.txt”,“r”))==NULL){

      printf(“不能打開文件n”);

      exit(0);}

      while(!feof(fp))

      {

      fscanf(fp,“%s%s%s%s”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

      if(strcmp(name,mem[i].name)==0)

      {strcpy(mem[i].name,nn);strcpy(mem[i].tel,nt);strcpy(mem[i].wu,nwu);strcpy(mem[i].dz,ndz);}

      i++;

      }

      fclose(fp);if((fp=fopen(“c: elephone.txt”,“w”))==NULL){

      printf(“不能打開文件n”);

      exit(0);}

      n=i;

      for(i=0;i

      fprintf(fp,“%s %s %s %sn”,mem[i].name,mem[i].tel,mem[i].wu,mem[i].dz);

      fclose(fp);} void main(){

      int choose;

      while(1)

      {

      printf(“--------------------電話簿管理系統(tǒng)--------------------n”);

      printf(“------------------------n”);

      printf(“

      1:添加一個新號碼n”);

      printf(“

      2:刪除一個號碼n”);

      printf(“

      3:顯示所有保存的號碼n”);

      printf(“

      4:修改號碼n”);

      printf(“

      5:排序n”);

      printf(“

      6:查詢n”);

      printf(“

      0:退出n”);

      printf(“------------------------n”);

      printf(“請輸入0-6選擇功能n”);

      scanf(“%d”,&choose);getchar();

      if(choose!=0)

      switch(choose)

      {

      case 1:add();break;

      case 2:del();break;

      case 3:dis();break;

      case 4:mod();break;

      case 5:sor();break;

      case 6:/*que();break*/;

      }

      else exit(0);

      } }

      下載C語言藥房管理系統(tǒng)word格式文檔
      下載C語言藥房管理系統(tǒng).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        c語言圖書管理系統(tǒng)

        C語言——圖書管理系統(tǒng) 代碼部分: #include #include #include #pragma comment(lib,"libmysql.lib") /*定義數(shù)據(jù)庫相關(guān)操作變量*/ MYSQL mysql; // MYSQL_RES *result......

        C語言-通訊錄管理系統(tǒng)

        #include #include #include struct record{ charnum[12]; char name[10]; char birthday[10]; char post[10]; char phone[15]; }data[100]; intmenu_select( ); intcreat......

        c語言銷售管理系統(tǒng)

        課程設計說明書 學 院、系: 專業(yè): 學 生 姓 名: 設 計 題 目: 起 迄 日 期: 指 導 教 師: 學 號: 銷售管理系統(tǒng) 日期: 2017年5月12日 1 設計目的 1.了解管理信息系統(tǒng)的開發(fā)......

        C語言程序設計圖書管理系統(tǒng)

        C語言程序設計實驗報告 題 目: 圖書管理管理系統(tǒng) 院 系: 信息科技學院 專 業(yè): 姓 名: 學 號: 指導教師: 楊呈勇 日 期: 09-09-18 1 問題定義 ……………………………………………......

        C語言食堂飯卡管理系統(tǒng)

        食堂飯卡管理系統(tǒng)3人 基本功能: (1)發(fā)卡:學生員工持有效證件到管理處繳押金,辦理就餐卡,操作人員將相關(guān)內(nèi)容寫入卡中,并自動產(chǎn)生編號,持卡人員再預交一定金額款項即可進行就餐。 (2......

        C語言實驗電話薄管理系統(tǒng)

        #include "stdio.h" /*標準輸入輸出函數(shù)庫*/ #include "stdlib.h" /*標準函數(shù)庫*/ #include "string .h" /*字符串函數(shù)庫*/ #include "conio.h" /*屏幕操作函數(shù)庫*/ #define......

        語言課程設計-學生成績管理系統(tǒng)

        1、 課程設計的目的、任務 《匯編語言》課程設計對于鞏固匯編語言理論知識,加強學生的實際動手能力和提高學生綜合素質(zhì)十分必要。課程設計的目的主要是通過程序設計方法和技......

        C語言課程設計 倉庫管理系統(tǒng)

        C語言課程設計 倉庫管理系統(tǒng) #include struct cangku { int num; char name[20]; char introdution[50]; float square; }; typedef struct cangku Cangku; int Input(......