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

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

C語言課設(shè)——機房機位預(yù)定系統(tǒng)-創(chuàng)新互聯(lián)

文章目錄
    • 一、系統(tǒng)簡介
    • 二、系統(tǒng)功能模塊圖
    • 三、設(shè)計思路
    • 四、源代碼

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計,始興網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:始興等地區(qū)。始興做網(wǎng)站價格咨詢:18980820575一、系統(tǒng)簡介
  1. 查詢:

根據(jù)輸入時間,輸出機位信息

  1. 機位預(yù)定:

根據(jù)輸入的日期和時間段查詢是否有空機位,若有,則預(yù)約;若無,則提供最近空機時間段
另: 若用戶要求在非空時間上機, 則將用戶信息插入該時間段的等待列表

  1. 退出預(yù)定:

根據(jù)輸入的時間, 撤銷該時間的預(yù)訂;查詢是否有等待信息,若有,則按順序顯示聯(lián)系方式。

  1. 查看預(yù)定的情況。
二、系統(tǒng)功能模塊圖

1.系統(tǒng)功能模塊圖:
在這里插入圖片描述
2.函數(shù)模塊圖
1 void Fx();
菜單頁面函數(shù),主函數(shù)
2 void f1();
查詢機位是否空置的函數(shù)
3 void f2();
預(yù)定機位函數(shù)
4 void f3();
取消預(yù)定機位函數(shù)
5 void f4();
查看預(yù)定情況函數(shù)
6 void detail(int t);
對應(yīng)時間空置機位的情況函數(shù)
7 void prione(int i);
輸出等待列表到屏幕

三、設(shè)計思路

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

四、源代碼
#include#include#include#define N 20 //wait結(jié)構(gòu)體中代表的20個結(jié)構(gòu)體 
#define T (t-8)/2 // 

int sum[6]={0};//有18個小時,用六個元素進行三個時間段循環(huán),每個元素對應(yīng)下面結(jié)構(gòu)體電腦狀態(tài) 
int computer[6][20]{{1,0,1,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1},
{1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1},
{1,1,0,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,1},
{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1},
{1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,1,1,1,1,0},
{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1}};//模擬20臺電腦狀態(tài),0代表空置,18個小時3個循環(huán) ,每個時間機位空置模擬 
void Fx(); //菜單頁面函數(shù),主函數(shù) 
void f1();//查詢機位是否空置的函數(shù) 
void f2();//預(yù)定機位函數(shù) 
void f3();//取消預(yù)定機位函數(shù) 
void f4();//查看預(yù)定情況函數(shù) 
void detail(int t);//對應(yīng)時間空置機位的情況函數(shù) 
void prione(int i);//輸出等待列表到屏幕 
struct waitlist//等待列表結(jié)構(gòu)體 
{char num[3];//存預(yù)約機位號 
	char phone[11];  //存電話號碼 
}wait[N];//20個結(jié)構(gòu)體 

int main()
{Fx();
}

void Fx()// 菜單函數(shù) 
{int  a,b;
	do
	{printf("\t\t\t機房機位預(yù)定系統(tǒng)\n");
	printf("\t\t\t\t菜單\n");
	printf("\t\t\t1.查詢機位狀態(tài)\n");
	printf("\t\t\t2.預(yù)定空機位\n");
	printf("\t\t\t3.取消預(yù)訂\n"); 
	printf("\t\t\t4.查詢等待信息\n");
	printf("\t\t\t5.退出\n");
	printf("\t\t請輸入選擇項目(1-5):");
	scanf("%d",&a);
	if(a<1||a>5)//不是菜單5個選項,重新輸入,令b==1,繼續(xù)循環(huán) 
	{b=1;

	}
	else b=0;//b=0,跳出循環(huán) 
	}while(b==1);
	switch(a)//主菜單的5個選項 
	{case 1:f1();break;//查詢空置機位 
		case 2:f2();break;//預(yù)約空置機位 
		case 3:f3();break; //取消預(yù)訂 
		case 4:f4();break;//查詢預(yù)約信息 
		case 5:exit(0);break;//返回 
	}
    
}

void f1()//查詢機位是否空置 
{int t;
	printf(" 輸入在(8-20)的時間:");
	scanf("%d",&t);
	if(t<8||t>20)// 不在對應(yīng)時間,時間錯誤 
	{printf("\t時間輸入錯誤!\n");
		printf(" 輸入在(8-20)的時間:");
		scanf("%d",&t);//重新輸入時間 
	}
	detail(t);//輸入時間,查找該時間機位空置情況 
	
	Fx(); // 查詢后回到主菜單 
}
void f2() // 預(yù)約機位函數(shù) 
{int t,i=0,x,y;
	FILE *fp;  
	char c;
	printf(" 請輸入你想要預(yù)定的時間(8-20):");
	scanf("%d",&t);
	if(t<8||t>20)//不在時間內(nèi)顯示時間錯誤 
	{printf("\t 輸入時間錯誤,請重新輸入:\n");
		scanf("%d",&t);
	}
	detail(t);//在時間內(nèi)查詢,輸出空機位  
	if(sum[T]>0)//空置電腦序號為正常 
	{if((fp=fopen("waitlist.txt","a"))==NULL)
		{	printf("\n打開文件錯誤!\n");//文件打開情況 
			exit(0);
		}
		printf("\n\t請問你想預(yù)留哪個機位,輸入機位號,留下你的電話號碼?。篭n");
		scanf("%s %s",wait[i].num,wait[i].phone); //對照輸出的空機位,輸入你想要遇定的號數(shù)和你的電話號碼 
		for(i=0;i<1;i++)
		fwrite(&wait[i],sizeof(struct waitlist),1,fp);
		fclose(fp);//向文本添加你的信息 
		printf("\t再次輸入你想要預(yù)定的時間: \n");
		scanf("%d",&x);//再次確定 
		sum[T]--;// 預(yù)定后空機位少一個 
		computer[T][x]=1;//機位狀態(tài)變?yōu)椴皇强罩?為1 
		printf("\t預(yù)定成功\t\n");
		
		Fx();
	}
	else
	{printf("這是在這個時間段未預(yù)定的電腦!\n");
		for(i=T+1;i<6;i++)//由三個循環(huán)重新確定機位空置情況 
		{	t=9+2*i;
		detail(t);
		if(sum[T]>0)
		printf("\t最近空閑的時間是:%d,%d\n",2*i+8,2*i+10);//輸出對應(yīng)空閑的時間 
		break;	
		}
		printf("\t你想要預(yù)定嗎?:Y\N");
		scanf("%s",&c);//輸入你是否想要預(yù)定 
		
		if(c=='Y')
		{	if((fp=fopen("waitlist.txt","r"))==NULL)
		{	printf("\n打開文件錯誤!\n");
			exit(0);
		}
		
		else 
		{	printf("等待列表:機位號,電話\n");//輸出已經(jīng)預(yù)定的機位和他們的電話號碼 
			for(i=0;!feof(fp);i++)
			{		fscanf(fp,"%s %s",&wait[i].num,wait[i].phone); 
			}
			fclose(fp);//讀出他們的信息 
		}
		for(i=0;i<10;i++)
		{	prione(i);//輸出預(yù)定信息 
		}
		printf("\n\t 請輸入你想預(yù)定的機位號并留下電話號碼!:\n");
		if((fp=fopen("waitlist.txt","a"))==NULL)
		{	printf("\n打開文件錯誤!\n");
			exit(0);
		}
		scanf("%s %s",wait[i].num,wait[i].phone);
		for(i=0;i<1;i++)

			fwrite(&wait[i],sizeof(struct waitlist),1,fp);
			fclose(fp);//寫入你的信息,一個結(jié)構(gòu)體單元 
			printf("\t再次輸入電腦序號:\n");
			scanf("%d",&y);
			sum[T]--;//空置數(shù)和機位狀態(tài)依次變化 
			computer[T][y]=1;
			printf("\t好了,等待我們電話!\n");
			Fx();
		}
		else Fx();
	}
}

void f3()//取消預(yù)定函數(shù) 
{int t,x;
	printf("輸入你已經(jīng)預(yù)定的時間(8-20):");
	scanf("%d",&t);//輸入你預(yù)定的時間 
	if(t>20||t<8)//輸入錯誤 
	{printf("\t輸入時間錯誤!\n");
		printf("\t再次輸入你已經(jīng)預(yù)定的時間?。?);
		scanf("%d",&t);//再次輸入 
	}
	else
	{printf("\t你已經(jīng)預(yù)定的機位號?。?);
		scanf("%d",&x); 
	}
	detail(t);
	sum[T]++; //取消空機位加1,對應(yīng)機位狀態(tài)為空置 
	computer[T][x]=0;
	printf("\t取消成功!\n");
	
	Fx();
}

void f4()//查詢預(yù)定信息 
{int t,i;
	FILE *fp;
	printf("\t請輸入你要搜索的時間:");
	scanf("%d",&t);
	if(t<8||t>20)  //輸入時間錯誤 
	{printf("\t 輸入時間錯誤!\n");
		printf("\t 輸入你要搜索的時間:");
		scanf("%d",&t);
	} 
	else 
			if((fp=fopen("waitlist.txt","r"))==NULL)
		{	printf("\n打開文件錯誤!\n");
			exit(0);
		}
	else 
	{printf("等待列表:機位號,電話\n");
		for(i=0;!feof(fp);i++)
		{	fscanf(fp,"%s %s",&wait[i].num,&wait[i].phone);
		}
		fclose(fp);//打開列表 
	}
	for(i=0;i<10;i++)
	{prione(i);
	}
	Fx();
} 

void detail(int t)//查找空機位數(shù)和對應(yīng)機位號數(shù) 
{int i,j=0,k,s=0;
	int v[30];
	for(i=0;i<20;i++)
	{if(computer[T][i]==0) //為0時機位空置 
		{	s++;//空置電腦數(shù)加1 
			v[j++]=i;//空置電腦序號 
		}
	}
	sum[t]=s;//由三個循環(huán)輸出空置的電腦 
	printf("\t目前空置的電腦:%d\n",sum[T]);
	for(k=0;kprintf("\t\t%s %s \n",wait[i].num,wait[i].phone); 
}

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


本文名稱:C語言課設(shè)——機房機位預(yù)定系統(tǒng)-創(chuàng)新互聯(lián)
鏈接地址:http://weahome.cn/article/jghpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部