C语言程序设计--酒店管理系统

运行界面:

	char idNum[19];      //身份证号 
	int inTime;          //入住时间  
	int outTime;         //离开时间  
	int roomNo;          //房间号      1到10 
}userInformation;
userInformation user[N];
//userInformation user1[N];
int roomState[10] = {0};    //房间状态 
int nowRoom = 0;        //已住房间数 



scannerRead()      //键盘输入函数,从键盘录入信息至结构体 
{
	int i=0,flag=1;
	while(flag)
	{
		//通过循环找到空信息行的位置,在进行添加 
		if(strlen(user[i].idNum) == 0)     
		{
			printf("请输入客户姓名、身份证号(空格隔开):");
			scanf("%s %s",user[i].userName,user[i].idNum);
			printf("请输入入住时间、离开时间、房间号(空格隔开):");
			scanf("%d %d %d",&user[i].inTime,&user[i].outTime,&user[i].roomNo);
			printf("%s\t%s\t",user[i].userName,user[i].idNum);
			printf("%d\t%d\t%d",user[i].inTime,user[i].outTime,user[i].roomNo);
			flag=0;
			nowRoom++;
		}
		roomState[user[i].roomNo-1] = 1; 
		i++;
	}
	//Sleep(1000);
	//system("cls");
}

txtLoad()                //文件输入函数、从文件中导入信息至结构体 
{
	int n = 0;
	int i = 0,j = 0;
	char PATHNAME[20];
    FILE *fr = fopen("file1.txt","rt");
    if(fr == NULL) {
        printf("打开文件出错。\n");
        return 1;
    }
    //通过循环找到空信息行的位置,在进行添加 
    while(1){
    	if(strlen(user[i].idNum) != 0){
    		i++;
    	}else{
    		break;
    	}
    } 
    //通过循环给循环体中的信息赋值,直到文件结尾 
    while(!feof(fr)) {
        fscanf(fr,"%s %s %d %d %d",&user[n+i].userName,&user[n+i].idNum,&user[n+i].inTime,
            &user[n+i].outTime,&user[n+i].roomNo);
        roomState[user[i].roomNo-1] = 1; 
        ++n;
    }
    
	while(j != (n+i)){
		printf("%s\t%s\t%d\t%d\t%d\n",user[j].userName,user[j].idNum,user[j].inTime,user[j].outTime,user[j].roomNo);
		j++;
	}

    fclose(fr);
    //Sleep(1000);
	//system("cls");
}

find1()         //查询函数1,输入身份证号查询信息 
{
    int i;
	char cha[19];
    int fangNUM;
    int findTime;
        
	printf("输入查询身份证号:");
	scanf("%s",cha);
    //strcmp函数比较输入的身份证和结构体中所存的身份证信息,并输出相关信息 
	for(i=0;i<N;i++)
	{
		if(0 == strcmp(cha,user[i].idNum))
		{
		    printf("查询到的入住信息如下:\n");
			printf("姓名%s,身份证号%s,入住时间%d,退房时间%d,房号%d",user[i].userName,user[i].idNum,user[i].inTime,user[i].outTime,user[i].roomNo);
        }
	}
	printf("\n");          	
}

find2()       //查询函数2,输入房号查询信息 
{
	int i;
	int fangNUM;
	
	printf("输入查询房号:");
	scanf("%d",&fangNUM);
    //if函数对两个整型树判断,相同则输出相关信息 
	for(i=0;i<N;i++)
	{
		if(fangNUM==user[i].roomNo)
		{
	    printf("查询到的入住信息如下:\n");
		printf("姓名%s,身份证号%s,入住时间%d,退房时间%d,房号%d:",user[i].userName,user[i].idNum,user[i].inTime,user[i].outTime,user[i].roomNo);
        }
    }
    printf("\n");
}

find3()     //查询函数3,输入日期查询信息 
{
	int i,j,k,a[10]={0};
	int findTime;
	
	printf("输入查询日期:");
	scanf("%d",&findTime);
	//通过if函数先找出日期内已用房间,并保存在一维数组a【】中 
	for(i=0;i<N;i++)
	{
		if(findTime>=user[i].inTime&&findTime<=user[i].outTime)
		{
			a[user[i].roomNo-1] = user[i].roomNo;
		}
	}
	printf("\n");
	printf("空房间号:"); 
	//对a【】进行判断,输出空房间号 
	for(i=0;i<N;i++)
	{
		if(a[i]==0)
		{
			printf("%d ",i+1);
		}
	}
	printf("\n");
}

modeify()     //修改函数,根据身份证号查询所需修改的信息位置 
{
	int i;
	char idNum1[19];
	printf("请输入身份证:");
	scanf("%s",idNum1); 
	//循环判断找出所需修改的信息所在位置 
   	for(i=0;i<N;i++){
	   if(!strcmp(idNum1,user[i].idNum)){
	   		printf("请分别输入姓名、入住时间、离开时间和房间号(空格间隔):"); 
	  		scanf("%s %d %d %d",user[i].userName,&user[i].inTime,&user[i].outTime,&user[i].roomNo);
		}
   	}
}


blankTxt()    //清空文件内容 
{
	
	int ret = open("file2.txt", O_WRONLY | O_TRUNC);
	if(ret == -1)

文章借鉴于此 纷传

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值