c語言醫院挂號,c語言醫院挂號管理員系統

本文目錄一覽:

求編程題(看病要排隊)的代碼,必須用C語言解答,越基礎越容易看懂越好,不要從別處copy來

struct BR_ //病人結構體;

{

int id; //病人ID;

int lv;//病人等級;

};

int main()

{

int n,i,j,yisheng,binglv,brnum = 0;

BR_ b2y[3][100] = { };//存放每個醫生對應的病人;

int bingnum[3] = {}; //存放每個醫生對應的病人個數;

char order[5];

//這裡可以把所有輸入的字串,存起來,再一一解決; 但是你原來的代碼,是輸入一個處理一個;

//所以 我也輸入一個 處理一個了;

//但是題意是 : 輸入完成後,再依次輸出;

//所以,只能把要輸出的東西,存在一個數組裏面(下面的數組);等輸入完成後再統一依次輸出

char print_[300][8] = {}; //用來存放 最後print的字符串; 每一個out 都要處理一下;

int str_num = 0; //字符串的條數;

scanf(“%d”,n);

for(j = 0 ; j n;++j)

{

scanf(“%s”,order);

if(strcmp(order,”IN”) == 0 ) //字符串比較,如果輸入的IN,

{

brnum += 1;

scanf(“%d”,yisheng);

scanf(“%d”,binglv);

BR_ temp;

temp.id = brnum;

temp.lv = binglv;

b2y[ yisheng ][ bingnum[yisheng] ] = temp;

bingnum[yisheng]++;

//排序; 把等級高的 放在前面; 注意使用 穩定排序 的方式;比如下面的選擇排序;

int pos = 0;

while(pos != n – 1)

{

for(i = pos + 1; i n;++i)

{

if(b2y[yisheng][pos].lv b2y[yisheng][i].lv)

{

BR_ temp1 = b2y[yisheng][pos];

b2y[yisheng][pos] = b2y[yisheng][i];

b2y[yisheng][i] = temp1;

}

}

pos++;

}

}

else if( strcmp(order,”OUT”) == 0) //

{

scanf(“%d”,yisheng);

if(bingnum[yisheng] = 0) //如果這個醫生當前病人為0 輸出empty;

strcpy(print_[str_num++],”EMPTY”);

else //不為0;輸出排在最前面(也就是等級最高的病人);

{

char temp;

itoa(b2y[yisheng][0].id,print_[str_num++],10);

//最前面的病人 已經處理了,所以把數組後面的元素依次往前移動;

for(i = 0;i bingnum[yisheng] – 1;++i)

{

b2y[yisheng][i] = b2y[yisheng][i + 1];

}

bingnum[yisheng]–;//病人數量遞減;

}

}

}

for(i = 0 ; i str_num;++i)

printf(“%s\n”,print_[i]);

return 0;

}

c語言課程設計:醫院挂號收費管理系統

三點注意一下應該沒有問題了

1結構的構造

2文件的讀入和操作

3文件輸出

算法的部分不難

lz好好翻翻書,靜下心來,挺簡單的其實

像這種問題在百度上面,一般的人都不太樂意回答

就算回答了,也是不痛不癢的,就像我一樣

除非有人正好做過這道題~~

哈哈

c語言課程設計題目 醫院排隊看病系統

#include stdio.h

#include malloc.h

typedef int queuetype;

queuetype num=1;

typedef struct qnode

{

    queuetype data;

  struct qnode *next;

} QNode; //鏈隊結點類型

typedef struct 

{

    QNode *front,*rear;

} QuType;

void initlqueue(QuType *L)

{

 L-front=L-rear=NULL;

}

void pushlqueue(QuType *L,queuetype e)

{

 QNode *p=(QNode*)malloc(sizeof(QNode));

 p-data=e;

 p-next=NULL;

 if(!L-front)

 {

  L-front=p;

 }

 if(L-rear)

  L-rear-next=p;

 L-rear=p;

 num++;

}

void deletlqueue(QuType *L)

{

 if(L-front)

 {

  QNode *p;

  p=L-front;

  printf(“第%d位選手已經就診!\n”,p-data);

  L-front=p-next;

  if(!p)

   L-rear=NULL;

  else

   free(p);

 }

 else

 {

  

  num=0;

  printf(“所有的病人都已就診完畢!\n”);

 }

}

void showqueueperson(QuType *L)

{

 QNode *p=L-front;

 printf(“輸出所有排隊者的序號:\n”);

 while(p)

 {

  printf(” %d\n”,p-data);

  p=p-next;

 }

 if(!L-front)

  printf(“病人都已經看病完成!\n”);

}

void quikSee(QuType*L,queuetype e)

{

 QNode *p=L-front,*q,*t;

 while(pp-data!=e)

 {

  t=p;

  p=p-next;

 }

 if(p-data==e)

 {

  printf(“find!%d號即可進行診療!\n”,p-data);

  q=t-next;

  if(q-next)

  t-next=q-next;

if(t-next==L-rear)

   t-next=L-rear=NULL;  free(q);

  

 }

 else

  printf(“隊列中無此人!無需刪除操作!\n”);

}

//鏈隊類型

void SeeDoctor()

{

    int sel,flag=1;

    QuType *qu=(QuType*)malloc(sizeof(QuType));

 queuetype quik=0;

    initlqueue(qu);//創建空隊

 while (flag==1) //循環執行

 {

  printf(“1:排隊 2:就診 3:查看排隊 4.不再排隊,餘下依次就診 5:下班  請選擇:”);

  scanf(“%d”,sel);

  switch(sel)

  {        //排隊,入隊

  case 1: pushlqueue(qu,num); printf(“\n挂號成功!\n”); break;

  case 2: deletlqueue(qu);

   printf(“\n”);break;  //就診,出隊

  case 3: showqueueperson(qu);   break;  //顯示排隊病人

  case 4: {

     printf(“若您需要馬上就診,請輸入您的號:”);

     scanf(“%d”,quik);

     quikSee(qu,quik);

     printf(“\n”);

    }      break;  //任意順序就診

  case 5: {

     printf(“抱歉!已下班,請排隊的病人明天再來就診!\n\n”);//下班,明天就醫!

     flag=0;     //退出

     break;

    }

  default : printf(“輸入錯誤,請從新輸入!\n\n”); continue;

  }

    }

}

void main()

{

 SeeDoctor();

}

病人的姓名等信息就在結構體里加幾個成員就行了!主要功能已經實現了!

我截張圖給你吧!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/181556.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-23 06:41
下一篇 2024-11-23 06:41

相關推薦

  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • 如何在樹莓派上安裝Windows 7系統?

    隨着樹莓派的普及,許多用戶想在樹莓派上安裝Windows 7操作系統。 一、準備工作 在開始之前,需要準備以下材料: 1.樹莓派4B一台; 2.一張8GB以上的SD卡; 3.下載並…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • 分銷系統開發搭建

    本文主要介紹如何搭建一套完整的分銷系統,從需求分析、技術選型、開發、部署等方面進行說明。 一、需求分析 在進行分銷系統的開發之前,我們首先需要對系統進行需求分析。一般來說,分銷系統…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28

發表回復

登錄後才能評論