运行界面:
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)
文章借鉴于此 纷传