真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言課設(shè)——藥品管理系統(tǒng)-創(chuàng)新互聯(lián)

運用結(jié)構(gòu)體鏈表指針等寫出實現(xiàn)增刪改查統(tǒng)計文件等基本操作,代碼如下

成都創(chuàng)新互聯(lián)專業(yè)提供成都主機托管四川主機托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價格,機房位于中國電信/網(wǎng)通/移動機房,成都天府聯(lián)通服務(wù)器托管服務(wù)有保障!
#include#include#include#include//定義一個藥品
typedef struct _Medicine
{
	char name[20];//藥品名
	int num;//藥品編號
	int price;//藥品價格 
	int stock;//藥品庫存數(shù)量
	int sell;//藥品銷量 
 } Medicine;
 
 //節(jié)點
typedef struct _Node
{
	Medicine med;
	struct _Node* pNext;//指向下一個結(jié)點的指針 
}Node; 
 
//頭結(jié)點
Node *g_pHead=NULL;//頭結(jié)點 

//歡迎
void Welcome(); 
//錄入藥品信息
void InputMedicine(); 
//打印藥品信息
void PrintMedicine(); 
//保存藥品信息
void SaveMedicine(); 
//讀取藥品信息
void ReadMedicine();
//查找藥品信息
Node* FindMedicine();
//修改藥品信息
void ModifyMedcine();
//刪除藥品信息
void DeleteMedicine();
//統(tǒng)計所有藥品數(shù)量 
int main()
{
	while(1)
	{
		Welcome();//歡迎
		
		//從鍵盤接收一個字符
		char ch=getchar(); 
		
		switch(ch)
		{
		case '1'://錄入藥品信息
			InputMedicine();
			break; 
		case '2'://打印藥品信息
			PrintMedicine();
			break;
		case '3'://保存藥品信息
			SaveMedicine(); 
			system("pause");//暫停 
			system("cls");//清屏 
			break;
		case '4'://讀取藥品信息
			ReadMedicine();
			break;
		case '5'://統(tǒng)計所有藥品數(shù)量 
			printf("藥品總數(shù)為:%d\n",CountMedicine());
			system("pause");//暫停 
			system("cls");//清屏 
			break;
		case '6'://查找藥品信息
		{
			Node* p = FindMedicine();
			if(p!=NULL)
			{
				printf("藥品編號:%d\t名稱:%s\t價格:%d\t庫存:%d\t銷量:%d\n",p->med.num,p->med.name,p->med.price,p->med.stock,p->med.sell);
			}
			else
			{
				printf("沒有找到該藥品。\n");
			}
			system("pause");//暫停 
			system("cls");//清屏 
			break;
		}
		case '7'://修改藥品信息
			ModifyMedcine(); 
			break;
		case '8'://刪除藥品信息
			DeleteMedicine();
			break;
		case '0'://退出系統(tǒng)
			printf("再見,歡迎下次使用!\n");
			return 0;
		default:
			printf("您的輸入有誤,請重新輸入!\n");
			system("pause");//暫停 
			system("cls");//清屏
			break; 
		}
	} 
		
	return 0;
}

//歡迎
void Welcome()
{
	printf("***********************************************\n");
	printf("*               請選擇功能列表                *\n");
	printf("***********************************************\n");
	printf("*               1.錄入藥品信息                *\n");
	printf("*               2.打印藥品信息                *\n");
	printf("*               3.保存藥品信息                *\n");
	printf("*               4.讀取藥品信息                *\n");
	printf("*               5.統(tǒng)計所有藥品數(shù)              *\n");
	printf("*               6.查找藥品信息                *\n");
	printf("*               7.修改藥品信息                *\n");
	printf("*               8.刪除藥品信息                *\n");
	printf("*               0.退出系統(tǒng)                    *\n"); 
	printf("***********************************************\n");
 } 
 
 //錄入藥品信息 
 void InputMedicine()
 {
	//創(chuàng)建一個新節(jié)點
	Node* pNewNode=(Node*)malloc(sizeof(Node));
	pNewNode->pNext=NULL;
	
	//頭插法
	if(g_pHead==NULL)
	{
		g_pHead=pNewNode;
	 } 
	 else
	 {
	 	pNewNode->pNext=g_pHead;
	 	g_pHead=pNewNode;
	 }
	 
	printf("請輸入藥品的名稱:\n");
	scanf("%s",pNewNode->med.name);
	printf("請輸入藥品的編號:\n");
	scanf("%d",&pNewNode->med.num);
	printf("請輸入藥品的價格:\n");
	scanf("%d",&pNewNode->med.price);
	printf("請輸入藥品的庫存:\n");
	scanf("%d",&pNewNode->med.stock); 
	printf("請輸入藥品的銷量:\n");
	scanf("%d",&pNewNode->med.sell);
	
	printf("藥品信息錄入成功.\n");
	system("pause");//暫停 
	system("cls");//清屏 
 }
 
 //打印藥品信息 
 void PrintMedicine()
 {
 	system("cls");//清屏
	printf("***********************************************\n");
	printf("*          歡迎使用藥品管理系統(tǒng)               *\n");
	printf("***********************************************\n");
	printf("*  編號  *  名稱  *  價格  *  庫存  *  銷量  * \n"); 
	printf("***********************************************\n");
	
	//遍歷鏈表
	Node* p=g_pHead;
	while(p!=NULL)
	{
		printf("*  %d  *  %s  *  %d  *  %d  *  %d  *\n",p->med.num,p->med.name,p->med.price,p->med.stock,p->med.sell);
		p=p->pNext;
	 } 
	printf("***********************************************\n");
	system("pause");//暫停 
 }
 
 //保存藥品信息 
 void SaveMedicine()
 {
 	//打開文件
	FILE* fp = fopen("D:\\shiyan.txt","w");
	 
	if (fp==NULL)
	{
		printf("打開文件失敗。\n");
	 	return;
	} 
	  
	//遍歷鏈表 
	Node* p=g_pHead;
	while(p!=NULL)
	{
		fwrite(&p->med,1,sizeof(Medicine),fp);
		p=p->pNext;
	 } 
	 
	//關(guān)閉文件
	fclose(fp);
	printf("\n數(shù)據(jù)保存成功\n");
 }
 
 //讀取藥品信息 
 void ReadMedicine()
 { 
 	//打開文件
	FILE *fp=fopen("D:\\shiyan.txt","r");
	if(fp==NULL)
	{
		printf("打開文件失敗。\n");
		return;
	 } 
	 
	 //讀文件
	 Medicine med;
	 while (fread(&med,1,sizeof(Medicine),fp))
	 {
	 	//創(chuàng)建一個新節(jié)點
		Node* pNewNode = (Node*)malloc(sizeof(Node));
		pNewNode->pNext=NULL; 
		
		memcpy(pNewNode,&med,sizeof(Medicine));
		
		//頭插法
		if(g_pHead==NULL)
		{
			g_pHead=pNewNode;
	 	}	 
	 	else
	 	{
	 		pNewNode->pNext=g_pHead;
	 		g_pHead=pNewNode;
	 	}
	} 
	
	//關(guān)閉文件
	fclose(fp);
	printf("加載數(shù)據(jù)成功。\n"); 
	system("pause");//暫停 
	system("cls");//清屏 
 } 
 
 //刪除藥品信息 
void DeleteMedicine()
{
	int nMedNum;
 	printf("請輸入要刪除的藥品的編號:\n");
 	
 	scanf("%d",&nMedNum);
 	
 	Node* p1,*p2;
 	
 	//判斷是不是頭節(jié)點
	 if (g_pHead->med.num == nMedNum)
	 {
	 	p1=g_pHead;
	 	g_pHead=g_pHead->pNext;
	 	free(p1);
	 	return;
	  } 
	  
	  //不是頭節(jié)點
	  Node* p=g_pHead;
	  while (p->pNext != NULL)
	  {
	  	if(p->pNext->med.num == nMedNum)
	  	{
	  		p2=p->pNext;
	  		p->pNext=p->pNext->pNext;
	  		free(p2);
	  		
	  		system("pause");//暫停 
	   		system("cls");//清屏 
	  		return;
		  }
		  
		  p=p->pNext;
		  
		  if(p->pNext==NULL)
		  {
		  	break;
		  }
	   } 
	   
	   if(p->pNext==NULL)
	   {
	   	printf("沒有找到該藥品。\n");
	   }
	   
	   system("pause");//暫停 
	   system("cls");//清屏 
}

//查找藥品信息 
 Node* FindMedicine()
 {
 	int nMedNum;
 	char ypName[20];
 	printf("請輸入要查找的藥品的編號:\n");
 	scanf("%d",&nMedNum);
 	
 	printf("請輸入要查找的藥品的名稱:\n");
 	scanf("%s", ypName);
 	
 	Node* p =g_pHead;
 	while(p!=NULL)
 	{
 		//strcmp字符串比較函數(shù)
		 if (p->med.num == nMedNum || 0 == strcmp(p->med.name, ypName))
		 {
		 	return p;
		  } 
		  p=p->pNext;
	 }
 	
 	//沒有找到 
 	return NULL; 
 }
 
 //修改藥品信息 
 void ModifyMedcine()
 {
 	int nMedNum;
 	printf("請輸入需要修改的藥品信息的編號:\n");
	scanf("%d",&nMedNum); 
	
	Node* p =g_pHead;
 	while(p!=NULL)
 	{
 		//strcmp字符串比較函數(shù)
		 if (p->med.num == nMedNum)
		 {
		 	printf("請輸入要修改的藥品名稱 價格 庫存 銷量:\n");
			scanf("%s %d %d %d",p->med.name,&p->med.price,&p->med.stock,&p->med.sell);
			printf("修改成功。\n");
			break; 
		  } 
		  p=p->pNext;
	 }
	 
	 if (p==NULL)
	 {
	 	printf("沒有找到該藥品信息。\n");
	 }
	 
	system("pause");//暫停 
	system("cls");//清屏
  } 
  
//統(tǒng)計所有藥品數(shù)量 
int CountMedicine()
{
	int nCount=0;//藥品總數(shù)
	
	//遍歷
	Node* p=g_pHead;
	while (p!=NULL)
	{
		nCount++;
		p=p->pNext;
	 } 
	 
	 return nCount;
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


本文名稱:c語言課設(shè)——藥品管理系統(tǒng)-創(chuàng)新互聯(lián)
標題路徑:http://weahome.cn/article/dpgcdg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部