#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//函数、数组、结构体、指针
//系统实现图书馆的增加图书、查询图书、删除图书、借阅图书、还书;增加读者、查询读者、删除读者、借书信息等智能化管理过程。
int chuangjian()
{
FILE* pB;
char write[100] = "0. 1.";
char* pwrite = write;
pB = fopen("D:\\students.txt", "wb");
if (pB == NULL)
{
printf("open fales");
exit(0);
}
fwrite(pwrite, strlen(pwrite), 1, pB);
fclose(pB);
return 0;
}
int chuangjian1()
{
FILE* pB;
char write[100] = "AA BB CC DD EE FF GG HH II JJ KK LL MM NN OO PP QQ RR SS TT UU VV WW XX YY ZZ";
char* pwrite = write;
pB = fopen("D:\\books.txt", "wb");
if (pB == NULL)
{
printf("open fales");
exit(0);
}
fwrite(pwrite, strlen(pwrite), 1, pB);
fclose(pB);
return 0;
}
struct reader
{
char id[3];
char borrowname[30];
}student[2000] = {0};
struct library
{
char class;
char bookname[30];
}book[10000] = {0};
int add(char *pwrite)
{
char transit=0;
int point,point1;
char newbook[20];
printf("请输入添加/归还的书籍'书籍'+'回车':");
scanf("%s", newbook);
char newclass;
printf("请输入书本分类'类别'+'回车'(类别格式A,共有A-Z类):");
scanf("%c", &newclass);
scanf("%c", &newclass);
for (size_t i = 0; i < 10000; i++)
{
if (newclass==*(pwrite+i)&& newclass == *(pwrite + i+1))
{
point1 = i + 2;
break;
}
}
for (size_t i1 = 0; i1 < strlen(newbook)+1; i1++)
{
for (size_t i = 0; i < 10000; i++)
{
if (*(pwrite + i) == 0)
{
point = i;
break;
}
}
for (size_t i = point; i > point1+1; i--)
{
transit = *(pwrite + i);
*(pwrite + i) = *(pwrite + i-1);
*(pwrite + i - 1) = transit;
}
*(pwrite + point1 + 1) = ' ';
}
for (size_t i = 0; i < strlen(newbook); i++)
{
*(pwrite + point1 + 1 + i) = newbook[i];
}
FILE* pB;
pB = fopen("D:\\books.txt", "wb");
fwrite(pwrite, strlen(pwrite), 1, pB);
fclose(pB);
}
int sub(char* pwrite)
{
int process=0;
int initial=0;
char transit = 0;
int point, point1;
char newbook[20];
printf("请输入删除/借出的书籍名称'名称'+'回车':");
scanf("%s", newbook);
for (size_t i = 0; i < 10000; i++)
{
if (newbook[initial]==*(pwrite+i))
{
if (newbook[initial+1]!= *(pwrite + i+1)&&initial!=strlen(newbook)-1)
{
initial = 0;
}
initial++;
if (initial==strlen(newbook)-1)
{
point1 = i+1 - initial;
break;
}
}
if (i==9999)
{
printf("未找到该图书!");
exit(0);
}
}
for (size_t i = 0; i < strlen(newbook)+1; i++)
{
*(pwrite+point1 + i) = 0;
}
for (size_t i1 = 0; i1 < strlen(newbook) + 1; i1++)
{
for (size_t i = point1+strlen(newbook)+1-i1; i < 10000; i++)
{
if (*(pwrite + i) == 0)
{
point = i;
break;
}
}
for (size_t i = point1; i < point ; i++)
{
transit = *(pwrite + i);
*(pwrite + i) = *(pwrite + i + 1);
*(pwrite + i + 1) = transit;
}
}
FILE* pB;
pB = fopen("D:\\books.txt", "wb");
fwrite(pwrite, strlen(pwrite), 1, pB);
fclose(pB);
}
int check()
{
int flag = 0;
int newline=0;
char class;
printf("请选择要查阅的分区,示例(查A区即输入'A'+回车):");
scanf("%c", &class);
scanf("%c", &class);
for (size_t i = 0; i < 10000; i++)
{
if (book[i].class==class)
{
flag = 1;
printf(" %s", book[i].bookname);
newline++;
if (newline%3==0)
{
printf("\n");
}
}
}
if (flag==0)
{
printf("该分区还没有任何图书!\n");
}
else
{
printf("\n该分区书籍如上:\n");
}
return 0;
}
int borrow(char* pwrite,char* buffers)
{
int sub(char* pwrite);
sub(pwrite);
char transit = 0;
int point, point1;
char newbook[20];
printf("请输入书本名称'名称'+'回车':");
scanf("%s", newbook);
char newclass[4];
printf("请输入'id'+'回车':");
scanf("%s", newclass);
for (size_t i = 0; i < 10000; i++)
{
if (newclass[0]!=0&&newclass[1]==0)
{
if (newclass[0] == *(buffers + i))
{
point1 = i + 2;
break;
}
}
if (newclass[0] != 0 && newclass[1] != 0&&newclass[2]==0)
{
if (newclass[0] == *(buffers + i) && newclass[1] == *(buffers + i + 1))
{
point1 = i + 3;
break;
}
}
if (newclass[0] != 0 && newclass[1] != 0 && newclass[2] != 0&&newclass[3]==0)
{
if (newclass[0] == *(buffers + i) && newclass[1] == *(buffers + i + 1) && newclass[2] == *(buffers + i + 2))
{
point1 = i + 4;
break;
}
}
if (newclass[0] != 0 && newclass[1] != 0 && newclass[2] != 0 && newclass[3] != 0)
{
if (newclass[0] == *(buffers + i) && newclass[1] == *(buffers + i + 1) && newclass[2] == *(buffers + i + 2) && newclass[3] == *(buffers + i + 3))
{
point1 = i + 5;
break;
}
}
}
for (size_t i1 = 0; i1 < strlen(newbook) + 1; i1++)
{
for (size_t i = 0; i < 10000; i++)
{
if (*(buffers + i) == 0)
{
point = i;
break;
}
}
if (point==point1)
{
*(buffers + point) = ' ';
break;
}
for (size_t i = point; i > point1 + 1; i--)
{
transit = *(buffers + i);
*(buffers + i) = *(buffers + i - 1);
*(buffers + i - 1) = transit;
}
*(buffers + point1 + 1) = ' ';
}
for (size_t i2 = 0; i2 < strlen(newbook); i2++)
{
*(buffers + point1 + 1 + i2) = newbook[i2];
}
FILE* pB;
pB = fopen("D:\\students.txt", "wb");
fwrite(buffers, strlen(buffers), 1, pB);
fclose(pB);
}
int restore(char* pwrite, char* buffers)
{
int add(char* pwrite);
add(pwrite);
int initial = 0;
char transit = 0;
int point, point1;
char newbook[20];
printf("请输入归还的书籍书名'内容'+'回车':");
scanf("%s", newbook);
for (size_t i = 0; i < 10000; i++)
{
if (newbook[initial] == *(buffers + i))
{
if (newbook[initial + 1] != *(buffers + i + 1) && initial != strlen(newbook) - 1)
{
initial = 0;
}
initial++;
if (initial == strlen(newbook) - 1)
{
point1 = i + 1 - initial;
break;
}
}
if (i == 9999)
{
printf("未找到该图书!");
exit(0);
}
}
for (size_t i = 0; i < strlen(newbook) + 1; i++)
{
*(buffers + point1 + i) = 0;
}
for (size_t i1 = 0; i1 < strlen(newbook) + 1; i1++)
{
for (size_t i = point1 + strlen(newbook) + 1 - i1; i < 10000; i++)
{
if (*(buffers + i) == 0)
{
point = i;
break;
}
}
for (size_t i = point1; i < point; i++)
{
transit = *(buffers + i);
*(buffers + i) = *(buffers + i + 1);
*(buffers + i + 1) = transit;
}
}
FILE* pB;
pB = fopen("D:\\students.txt", "wb");
fwrite(buffers, strlen(buffers), 1, pB);
fclose(pB);
}
int addstudent(char *buffers)
{
char shanchu[10] = "shanchu";
char transit = 0;
int point,point1;
int time = 2;
for (size_t i = 0; i < 2000; i++)
{
if (strcmp(student[i].borrowname, shanchu) == 0)
{
int initial = 0;
char transit = 0;
int point, point1;
char newbook[20]="shanchu";
for (size_t i = 0; i < 10000; i++)
{
if (newbook[initial] == *(buffers + i))
{
if (newbook[initial + 1] != *(buffers + i + 1) && initial != strlen(newbook) - 1)
{
initial = 0;
}
initial++;
if (initial == strlen(newbook) - 1)
{
point1 = i + 1 - initial;
break;
}
}
if (i == 9999)
{
printf("未找到该图书!");
exit(0);
}
}
for (size_t i = 0; i < strlen(newbook) + 1; i++)
{
*(buffers + point1 + i) = 0;
}
for (size_t i1 = 0; i1 < strlen(newbook) + 1; i1++)
{
for (size_t i = point1 + strlen(newbook) + 1 - i1; i < 10000; i++)
{
if (*(buffers + i) == 0)
{
point = i;
break;
}
}
for (size_t i = point1; i < point; i++)
{
transit = *(buffers + i);
*(buffers + i) = *(buffers + i + 1);
*(buffers + i + 1) = transit;
}
}
FILE* pB;
pB = fopen("D:\\students.txt", "wb");
fwrite(buffers, strlen(buffers), 1, pB);
fclose(pB);
point1--;
int k=0;
printf("你的id是");
for (size_t i3 = 0; i3 < 5; i3++)
{
if (*(buffers+point1-2-i3)!=' ')
{
k++;
}
if (*(buffers + point1 - 2 - i3) == ' ')
{
break;
}
}
for (size_t i3 = 0; i3 < k; i3++)
{
printf("%c", *(buffers + point1 - 2));
}
exit(0);
}
}
for (size_t i = 0; i < 2000; i++)
{
if (*(buffers+i)==0)
{
point = i;
*(buffers + point) = ' ';
break;
}
}
for (size_t i = 0; i < 4; i++)
{
if (*(buffers + point - time) >= '0' && *(buffers + point - time) <= '9')
{
time++;
}
if (*(buffers + point - time) == ' ')
{
point1 = time-2;
break;
}
}
if (point1==4)
{
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) == '9' && *(buffers + point - 4) == '9')
{
*(buffers + point + 1) = *(buffers + point - 5) + 1;
*(buffers + point + 2) = '0';
*(buffers + point + 3) = '0';
*(buffers + point + 4) = '0';
}
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) == '9' && *(buffers + point - 3) != '9')
{
*(buffers + point + 1) = *(buffers + point - 5) ;
*(buffers + point + 2) = *(buffers + point - 4) + 1;
*(buffers + point + 3) = '0';
*(buffers + point + 4) = '0';
}
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) != '9')
{
*(buffers + point + 1) = *(buffers + point - 5);
*(buffers + point + 2) = *(buffers + point - 4);
*(buffers + point + 3) = *(buffers + point - 3)+1;
*(buffers + point + 4) = '0';
}
if (*(buffers + point - 2) != '9')
{
*(buffers + point + 1) = *(buffers + point - 5);
*(buffers + point + 2) = *(buffers + point - 4);
*(buffers + point + 3) = *(buffers + point - 3);
*(buffers + point + 4) = *(buffers + point - 2)+1;
}
*(buffers + point + 5) = '.';
printf("新增加id为%c%c%c%c", *(buffers + point + 1), *(buffers + point + 2), *(buffers + point + 3), *(buffers + point + 4));
}
if (point1 == 3)
{
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) == '9' && *(buffers + point - 4) == '9')
{
*(buffers + point + 1) = '1';
*(buffers + point + 2) = '0';
*(buffers + point + 3) = '0';
*(buffers + point + 4) = '0';
*(buffers + point + 5) = '.';
printf("新增加id为1000");
}
else
{
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) == '9' && *(buffers + point - 4) != '9')
{
*(buffers + point + 1) = *(buffers + point - 4) + 1;
*(buffers + point + 2) = '0';
*(buffers + point + 3) = '0';
}
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) != '9')
{
*(buffers + point + 1) = *(buffers + point - 4);
*(buffers + point + 2) = *(buffers + point - 3) + 1;
*(buffers + point + 3) = '0';
}
if (*(buffers + point - 2) != '9')
{
*(buffers + point + 1) = *(buffers + point - 4);
*(buffers + point + 2) = *(buffers + point - 3);
*(buffers + point + 3) = *(buffers + point - 2)+1;
}
*(buffers + point + 4) = '.';
printf("新增加id为%c%c%c", *(buffers + point + 1), *(buffers + point + 2), *(buffers + point + 3));
}
}
if (point1==2)
{
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) == '9')
{
*(buffers + point + 1) = '1';
*(buffers + point + 2) = '0';
*(buffers + point + 3) = '0';
*(buffers + point + 4) = '.';
printf("新增加id为100");
}
else
{
if (*(buffers + point - 2) == '9' && *(buffers + point - 3) != '9')
{
*(buffers + point + 1) = *(buffers + point - 3) + 1;
*(buffers + point + 2) = '0';
}
if (*(buffers + point - 2) != '9')
{
*(buffers + point + 1) = *(buffers + point - 3);
*(buffers + point + 2) = *(buffers + point - 2)+1;
}
*(buffers + point + 3) = '.';
printf("新增加id为%c%c", *(buffers + point + 1), *(buffers + point + 2));
}
}
if (point1 == 1)
{
if (*(buffers + point - 2) == '9')
{
*(buffers + point + 1) = '1';
*(buffers + point + 2) = '0';
*(buffers + point + 3) = '.';
printf("新增加id为10");
}
else
{
*(buffers + point + 1)=*(buffers + point - 2)+1;
*(buffers + point + 2) = '.';
printf("新增加id为%c", *(buffers + point + 1));
}
}
FILE* pB;
pB = fopen("D:\\students.txt", "wb");
fwrite(buffers, strlen(buffers), 1, pB);
fclose(pB);
}
int deletestudent(char* buffers)
{
char transit = 0;
int point, point1;
char newbook[20];
printf("请输入'shanchu'+'回车':");
scanf("%s", newbook);
char newclass[4];
printf("请输入'id'+'回车':");
scanf("%s", newclass);
for (size_t i = 0; i < 10000; i++)
{
if (newclass[0] != 0 && newclass[1] == 0)
{
if (newclass[0] == *(buffers + i))
{
point1 = i + 2;
break;
}
}
if (newclass[0] != 0 && newclass[1] != 0 && newclass[2] == 0)
{
if (newclass[0] == *(buffers + i) && newclass[1] == *(buffers + i + 1))
{
point1 = i + 3;
break;
}
}
if (newclass[0] != 0 && newclass[1] != 0 && newclass[2] != 0 && newclass[3] == 0)
{
if (newclass[0] == *(buffers + i) && newclass[1] == *(buffers + i + 1) && newclass[2] == *(buffers + i + 2))
{
point1 = i + 4;
break;
}
}
if (newclass[0] != 0 && newclass[1] != 0 && newclass[2] != 0 && newclass[3] != 0)
{
if (newclass[0] == *(buffers + i) && newclass[1] == *(buffers + i + 1) && newclass[2] == *(buffers + i + 2) && newclass[3] == *(buffers + i + 3))
{
point1 = i + 5;
break;
}
}
}
for (size_t i1 = 0; i1 < strlen(newbook) + 1; i1++)
{
for (size_t i = 0; i < 10000; i++)
{
if (*(buffers + i) == 0)
{
point = i;
break;
}
}
for (size_t i = point; i > point1 + 1; i--)
{
transit = *(buffers + i);
*(buffers + i) = *(buffers + i - 1);
*(buffers + i - 1) = transit;
}
*(buffers + point1 + 1) = ' ';
}
for (size_t i = 0; i < strlen(newbook); i++)
{
*(buffers + point1 + 1 + i) = newbook[i];
}
FILE* pB;
pB = fopen("D:\\students.txt", "wb");
fwrite(buffers, strlen(buffers), 1, pB);
fclose(pB);
}
int checkpointstudent(char a[])
{
for (size_t i = 0; i < 2000; i++)
{
if (strcmp(student[i].id,a)==0)
{
if (student[i].borrowname[0]!=0)
{
printf("该学生所借图书为%s。", student[i].borrowname);
}
else
{
printf("该学生目前尚未借阅图书!");
}
}
}
return 0;
}
int checkpointbook(char a[])
{
for (size_t i = 0; i < 2000; i++)
{
if (strcmp(book[i].bookname, a) == 0)
{
if (book[i].bookname[0] != 0)
{
printf("该图书在%c区。", book[i].class);
}
else
{
printf("该学生目前尚未借阅图书!");
}
}
}
return 0;
}
int main()
{
int ak;
printf("如果首次使用该程序请输入1,非首次使用请输入2:");
scanf("%d", &ak);
if (ak==1)
{
chuangjian();
chuangjian1();
printf("已完成初始化!!\n");
exit(0);
}
char letter='A';
int site=0;
FILE* pFile;//文件指针
char* buffer;//存读进来的东西
int size;//文件的尺寸
int reallysize;//存储读进来的尺寸
pFile = fopen("D:\\books.txt", "rb");//打开文件函数,参数类型:r读取 w写入 b二进制等,反斜杠需要转义
if (pFile == NULL)
{
printf("读取失败");
return 0;
}//检查是否成功录入
fseek(pFile, 0, SEEK_END);//将文件指针放到什么位置
size = ftell(pFile);//通过判断文件指针的位置来确定大小
rewind(pFile);//文件指针复位
buffer = (char *)malloc((size * sizeof(char)) + 1);//造缓冲区,之所以乘是因为size看的是有多少字符
if(buffer == NULL)
{
printf("读取失败");
return 0;
}
memset(buffer, 0, size + 1);//刷多少个0
reallysize = fread(buffer, 1, size, pFile); //1代表基本读取字节长度为1
if (size != reallysize)
{
printf("读取失败");
return 0;
}
fclose(pFile); //释放文件指针
//------------------------------------------------------------------
FILE* pFiles;//文件指针
char* buffers;//存读进来的东西
int sizes;//文件的尺寸
int reallysizes;//存储读进来的尺寸
pFiles = fopen("D:\\students.txt", "rb");//打开文件函数,参数类型:r读取 w写入 b二进制等,反斜杠需要转义
if (pFiles == NULL)
{
printf("请在路径D:\\大学,下创建一个txt文件,命名为students");
return 0;
}//检查是否成功录入
fseek(pFiles, 0, SEEK_END);//将文件指针放到什么位置
sizes = ftell(pFiles);//通过判断文件指针的位置来确定大小
rewind(pFiles);//文件指针复位
buffers = (char*)malloc((sizes * sizeof(char)) + 20);//造缓冲区,之所以乘是因为size看的是有多少字符
if (buffers == NULL)
{
printf("读取失败");
return 0;
}
memset(buffers, 0, sizes + 20);//刷多少个0
reallysizes = fread(buffers, 1, sizes, pFiles); //1代表基本读取字节长度为1
if (sizes != reallysizes)
{
printf("读取失败");
return 0;
}
fclose(pFiles); //释放文件指针
int point2 = 0;
for (size_t i = 0; i < 2000; i++)
{
if (((*(buffers + i) == *(buffers + i + 1))&& (*(buffers + i) == *(buffers + i + 2)))|| *(buffers + i)==0)
{
point2 = i;
break;
}
}
for (size_t i = point2; i < point2+10; i++)
{
*(buffers + i) = 0;
}
//----------------------------------------------------------------------
int sites = 0;
char letters[3] = {0};
for (size_t i = 0; i < 2000; i++)
{
for (size_t i1 = 0; i1 < 20; i1++)
{
student[i].id[i1] = 0;
student[i].borrowname[i1] = 0;
}
}
for (size_t i = 0; i < 2000; i++)
{
for (size_t i2 = 0; i2 < 5; i2++)
{
if (*(buffers + sites) >= '1' && *(buffers + sites) <= '9'||*(buffers+sites)=='.')
{
letters[i2] = *(buffers + sites);
sites++;
}
else
{
break;
}
}
for (size_t i2 = 0; i2 < 5; i2++)
{
if (letters[i2] != 0)
{
student[i].id[i2] = letters[i2];
}
else
{
sites++;
break;
}
}
for (size_t i1 = 0; i1 < 20; i1++)
{
if (*(buffers + sites) >= '1' && *(buffers + sites) <= '9')
{
break;
}
if (*(buffers + sites) != ' ')
{
student[i].borrowname[i1] = *(buffers + sites);
sites++;
}
if (*(buffers + sites) == ' ')
{
sites++;
break;
}
if (*(buffers + sites) == 0)
{
break;
}
}
if (*(buffers + sites) == 0)
{
break;
}
}
//----------------------------------------------------------------------
for (size_t i = 0; i < 10000; i++)
{
for (size_t i1 = 0; i1 < 20; i1++)
{
book[i].bookname[i1] == 0;
}
}
for (size_t i = 0; i < 10000; i++)
{
for (size_t i1 = 0; i1 < 20;i1++)
{
for (size_t i2 = 0; i2 < 24; i2++)
{
if (((*(buffer + site) >= 'A' && *(buffer + site) <= 'Z') && (*(buffer + site + 1) >= 'A' && *(buffer + site + 1) <= 'Z')))
{
letter = *(buffer + site);
site += 3;
if ((*(buffer + site) >= 'A' && *(buffer + site) <= 'Z') && (*(buffer + site+1) >= 'A' && *(buffer + site + 1) <= 'Z'))
{
letter = *(buffer + site);
site += 3;
}
}
else
{
break;
}
}
book[i].class = letter;
if (*(buffer+site)!=' '&& *(buffer + site) != '!')
{
book[i].bookname[i1] = *(buffer + site);
site++;
}
if (*(buffer + site) == ' ')
{
site++;
break;
}
if (*(buffer + site) == 0)
{
break;
}
}
if (*(buffer + site) == 0)
{
break;
}
}
char write[10000] = {0};
strcpy(write, buffer);
char* pwrite = write;
//-----------------------------------------------------------------------------------------------------------------------
int serve;
int password = 114514;
int unpassword;
printf(" **************************************************\n\n");
printf(" 欢迎使用北京信息科技大学智能图书管理系统\n\n");
printf(" **************************************************\n\n");
printf("请输入一个数字选择使用方式:1.我是有账号学生。2.注册账号。3.我是图书管理员。\n");
int choose;
scanf("%d", &choose);
int id;
if (choose == 2)
{
printf("请联系管理员为您注册信息!\n");
}
if (choose==1)
{
printf("请通过输入数字获取服务:\n1.查询图书2.借阅图书3.归还图书4.借书信息\n");
scanf("%d", &serve);
if (serve==1)
{
int a;
printf("请告诉我具体查询方式,1代表查询有没有某种图书,2代表查询那个分区:");
scanf("%d", &a);
if (a==1)
{
char books1[20];
printf("请输入书本名称(拼音)");
scanf("%s", books1);
checkpointbook(books1);
}
if (a==2)
{
check();
}
}
if (serve == 2)
{
borrow(pwrite,buffers);
}
if (serve == 3)
{
restore(pwrite, buffers);
}
if (serve == 4)
{
int id1[5];
printf("请需要要查询的学生ID,格式为'id'+'.'+'回车':");
scanf("%s", id1);
checkpointstudent(id1);
}
}
if (choose==3)
{
printf("输入你的密码:");
scanf("%d", &unpassword);
if (unpassword!=password)
{
printf("密码错误!请联系信安2302梁运生找回密码!\n");
return 0;
}
printf("请通过输入数字获取服务:\n1.查询图书2.增加图书3.删除图书4.增加学生5.删除学生6.查询读者\n");
scanf("%d", &serve);
if (serve == 1)
{
int a1;
printf("请告诉我具体查询方式,1代表查询有没有某种图书,2代表查询那个分区:");
scanf("%d", &a1);
if (a1 == 1)
{
char books2[20];
printf("请输入书本名称(拼音)");
scanf("%s", books2);
checkpointbook(books2);
}
if (a1 == 2)
{
check();
}
}
if (serve == 2)
{
add(pwrite);
}
if (serve == 3)
{
sub(pwrite);
}
if (serve == 4)
{
addstudent(buffers);
}
if (serve == 5)
{
deletestudent(buffers);
}
if (serve == 6)
{
int id1[5];
printf("请需要要查询的学生ID,格式为'id'+'.'+'回车':");
scanf("%s", id1);
checkpointstudent(id1);
}
}
return 0;
}