📄 样例.txt
字号:
#include<ctype.h>
#include<string.h>
#include<stdio.h>
#define Web struct web
Web /*地址簿格式*/
{
char szWww[5];
char szNa[9];
char szAdm[5];
char szCountry[4];
};
Web *strpPtr[25];
void main()
{
char szStr[21];
char szStr1[21];
int nChoice;
char szCon[5]="www.";
char szMainWww[5];
char szMainNa[9];
char szMainAdm[5];
char szMainCoun[4];
int nCounti=0;
int nCountj=0;
int nCountk=0;
int nCount=0;
int nBookNum;
int nDot=0;
printf("======================================================\n");
printf(" Welcome To Domain Name Server Program!\n\n");
printf("=======================================================\n");
printf("Please select any nChoice from the following: \n\n");
printf("[1] Look up a URL.\n");
printf("[2] Insert a URL.\n");
printf("[3] delete a URL.\n");
printf("[4] Update a URL.\n");
printf("[5] Quit.\n\n");
scanf("%d", &nChoice);
if(nChoice!=5 && nChoice!=4)
{
printf("Enter the URL.\n");
getchar();
gets(szStr);
}
for(nCountj=0;nCountj<22;nCountj++)
{
szStr[nCountj]=tolower(szStr[nCountj]);
if(szStr[nCountj]=='.')
nDot++;
}
for(nCount=0;nCount<25;nCount++)
strpPtr[nCount]=NULL;
if(nChoice==1)
{
for(nCounti=0;nCounti<4;nCounti++)
szMainWww[nCounti]=szStr[nCounti];
szMainWww[4]='\0';
if( strcmp(szMainWww,szCon) != 0 )
{
szMainWww[0]='\0';
for(nCounti=0,nCountj=0;szStr[nCounti]!='.' && szStr[nCounti]!='\0';nCounti++,nCountj++)
szMainNa[nCountj]=szStr[nCounti];
szMainNa[nCountj]='\0';
for(nCount=0,nBookNum=0;szMainNa[nCount] !='\0';nCount++)
nBookNum+=szMainNa[nCount];
nBookNum = nBookNum % 25;
if(strcmp(strpPtr[nBookNum]->szNa,szMainNa)==0)
{
printf("The address is present in the data\n");
printf("%s%s%s%s\n", strpPtr[nBookNum]->szWww, strpPtr[nBookNum]->szNa, strpPtr[nBookNum]->szAdm, strpPtr[nBookNum]->szCountry);
}
else
printf("No matching address found");
}
else
{
for(nCounti=4,nCountj=0;szStr[nCounti]!='.' && szStr[nCounti]!='\0';nCounti++,nCountj++)
szMainNa[nCountj]=szStr[nCounti];
szMainNa[nCountj]='\0';
for(nCount=0;szMainNa[nCount] !='\0';nCount++)
nBookNum+=szMainNa[nCount];
nBookNum = nBookNum % 25;
if(strcmp(strpPtr[nBookNum]->szNa,szMainNa)==0)
{
printf("The address is present in the data\n");
printf("%s%s%s%s\n", strpPtr[nBookNum]->szWww, strpPtr[nBookNum]->szNa, strpPtr[nBookNum]->szAdm, strpPtr[nBookNum]->szCountry);
}
else
printf("No matching address found\n");
}
}
if(nChoice==2)
{
for(nCounti=0;nCounti<4;nCounti++)
szMainWww[nCounti]=szStr[nCounti];
szMainWww[4]='\0';
for(nCounti=4,nCountj=0;szStr[nCounti]!='.';nCounti++,nCountj++)
szMainNa[nCountj]=szStr[nCounti];
szMainNa[nCountj]='\0';
for(nCount=0,nBookNum=0;szMainNa[nCount] !='\0';nCount++)
nBookNum+=szMainNa[nCount];
nBookNum = nBookNum % 25;
strpPtr[nBookNum]=(Web *)malloc(sizeof(Web));
szMainAdm[0]='.';
for(nCounti++,nCountj=1;szStr[nCounti]!='.' && szStr[nCounti]!='\0';nCounti++,nCountj++)
szMainAdm[nCountj]=szStr[nCounti];
szMainAdm[nCountj]='\0';
if(nDot==3)
{
szMainCoun[0]='.';
for(nCounti++,nCountj=1;szStr[nCounti]!='\0';nCounti++,nCountj++)
szMainCoun[nCountj]=szStr[nCounti];
szMainCoun[3]='\0';
}
else
szMainCoun[0]='\0';
strcpy(strpPtr[nBookNum]->szWww,szMainWww);
strcpy(strpPtr[nBookNum]->szNa,szMainNa);
strcpy(strpPtr[nBookNum]->szAdm,szMainAdm);
strcpy(strpPtr[nBookNum]->szCountry,szMainCoun);
printf("The address is successfully registered in the data\n");
}
if(nChoice==3)
{
for(nCounti=0;nCounti<4;nCounti++)
szMainWww[nCounti]=szStr[nCounti];
szMainWww[4]='\0';
for(nCounti=4,nCountj=0;szStr[nCounti]!='.';nCounti++,nCountj++)
szMainNa[nCountj]=szStr[nCounti];
szMainNa[nCountj]='\0';
for(nCount=0;szMainNa[nCount] !='\0';nCount++)
nBookNum+=szMainNa[nCount];
nBookNum = nBookNum % 25;
szMainAdm[0]='.';
for(nCounti++,nCountj=1;szStr[nCounti]!='.' && szStr[nCounti]!='\0';nCounti++,nCountj++)
szMainAdm[nCountj]=szStr[nCounti];
szMainAdm[nCountj]='\0';
if(nDot==3)
{
szMainCoun[0]='.';
for(nCounti++,nCountj=1;szStr[nCounti]!='\0';nCounti++,nCountj++)
szMainCoun[nCountj]=szStr[nCounti];
szMainCoun[3]='\0';
}
else
szMainCoun[0]='\0';
if(strcmp(strpPtr[nBookNum]->szNa,szMainNa)==0 && strcmp(strpPtr[nBookNum]->szAdm,szMainAdm)==0 && strcmp(strpPtr[nBookNum]->szCountry,szMainCoun)==0)
strpPtr[nBookNum]=NULL;
}
if(nChoice==4)
{
printf("Enter the old URL.\n");
getchar();
gets(szStr);
for(nCountj=0;nCountj<22;nCountj++)
{
szStr[nCountj]=tolower(szStr[nCountj]);
if(szStr[nCountj]=='.')
nDot++;
}
for(nCounti=4,nCountj=0;szStr[nCounti]!='.';nCounti++,nCountj++)
szMainNa[nCountj]=szStr[nCounti];
szMainNa[nCountj]='\0';
for(nCount=0;szMainNa[nCount] !='\0';nCount++)
nBookNum+=szMainNa[nCount];
nBookNum = nBookNum % 25;
if(strcmp(strpPtr[nBookNum]->szNa,szMainNa)!=0)
printf("The address is not in the data to be updated\n");
else
{
printf("Enter the new URL");
getchar();
gets(szStr1);
for(nCountj=0;nCountj<22;nCountj++)
{
szStr1[nCountj]=tolower(szStr1[nCountj]);
if(szStr1[nCountj]=='.')
nDot++;
}
for(nCounti=0;nCounti<4;nCounti++)
szMainWww[nCounti]=szStr1[nCounti];
szMainWww[4]='\0';
for(nCounti=4,nCountj=0;szStr1[nCounti]!='.';nCounti++,nCountj++)
szMainNa[nCountj]=szStr1[nCounti];
szMainNa[nCountj]='\0';
for(nCount=0;szMainNa[nCount] !='\0';nCount++)
nBookNum+=szMainNa[nCount];
nBookNum = nBookNum % 25;
szMainAdm[0]='.';
for(nCounti++,nCountj=1;szStr1[nCounti]!='.' && szStr1[nCounti]!='\0';nCounti++,nCountj++)
szMainAdm[nCountj]=szStr1[nCounti];
szMainAdm[nCountj]='\0';
if(nDot==3)
{
szMainCoun[0]='.';
for(nCounti++,nCountj=1;szStr1[nCounti]!='\0';nCounti++,nCountj++)
szMainCoun[nCountj]=szStr1[nCounti];
szMainCoun[3]='\0';
}
else
szMainCoun[0]='\0';
strcpy(strpPtr[nBookNum]->szWww,szMainWww);
strcpy(strpPtr[nBookNum]->szNa,szMainNa);
strcpy(strpPtr[nBookNum]->szAdm,szMainAdm);
strcpy(strpPtr[nBookNum]->szCountry,szMainCoun);
printf("The address is successfully updated in the data.\n");
}
}
printf(" Thank You !\n\n");
printf("=========================================\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -