Address book management system - optimized version (C language final homework course design)

Address book management system - optimized version

1, Design requirements

Design a complete address book management system. The information shall at least include number, name, age, telephone number, native place, unit, etc.
The functional requirements are as follows:

1. Administrator function
(1) Establish address book information; (address book information is stored by file)
(2) It can provide the functions of adding, deleting and modifying address book information;
(3) Be able to output address book information in tabular form;
(4) Statistics of address book personnel information by native place or unit.

2. Common user functions
(1) Query by name or company;
(2) Realize the fuzzy query of the telephone (that is, enter the first few digits of the telephone to query);
(3) The internal address book of a company is automatically generated according to the company you enter (saved in a new file according to age);
(4) Output the internal address book information of a company.

2, Overall design

1. Specific functions of the system

The address book management system has two user modes, which can be logged in through the user account or the administrator account; See the figure below for details.

2. Data structure design

Define a structure type list, including name, age, number, telephone, native place and company. There are 6 structure members in total; Use define to define the length LEN of the structure.

#define LEN sizeof(struct list) / / macro defines the length of the structure
struct list 
{ 
	char name[30];  //name 
	char age[30]; //Age
	int number;  //Automatic number generation
	char handset[30]; //Telephone
	char address[30]; //Native place
	char unit[30];//Company
}; 

3. Function

Function nameFunction description
void adminAdministrator interface
void useruser interface
void exitsign out
void admin_estCreate address book
void est_addAdd address book
void est_deletDelete address book
void est_renewModify address book
void admin_print_allOutput all address book information
void admin_tongjiStatistics address book information
void user_jqcxExact search
void user_mhcxfuzzy search
void user_saveSave address book to file
sort_computerSort by computer score
void user_paixuSort alphabetically
void user_printOutput company address book

4. Disk file

be careful! The files here must not forget what is necessary to log in to the system! If the file and CPP program are in the same directory, the location can also be changed according to personal needs, but the reading and writing location of the corresponding source program file should also be changed accordingly.

The system uses two disk files:
(1) File for storing contact information of address book (test.txt)
(2) Document for storing transcript information (safety engineer. dat)
(3) A file that stores the system password of the administrator and the user (num_key.txt)

3, Detailed design

main interface

The main interface displays the name of the system and the student number and name of the producer. Two users are displayed in this interface: administrator and user. Select 1 administrator to enter the administrator module. You need to enter the administrator password; Select 2 users and enter the user module. You need to enter the user password; Select 3 to exit the system.
The main function * * main() * * code of this module is as follows:

void main()  //Main function main interface
{
	printf(">>>>>>>>>>>>>>>>>>>>>>>>>\n");
	printf("<   Program author:Mye_Strive     >\n");
	printf("<   class:computer >\n");
	printf("<   Student number:123456    >\n");
	printf("<<<<<<<<<<<<<<<<<<<<<<<<<\n");
	printf("\n");
	while(1)
	{
		char num[10];
		printf("       ┌─────────┐\n");
		printf("       │  main interface │\n");
		printf("       └─────────┘\n");
		printf("     ┌─────────────┐\n");
		printf("     │ 1 Administrator system│\n");
		printf("     │ 2 User system  │\n");
		printf("     │ 3 sign out      │\n");
		printf("     └─────────────┘\n");
		printf("\n");
		printf("     =*=*=*=*=*=*=*=*=\n");
		printf("      Please enter your action\n");
		printf("     =*=*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(num);
		printf("\n");
		if(strlen(num)>1)
		{
			printf("     =*=*=*=*=*=\n");
			printf("      Operation error!\n");
			printf("     =*=*=*=*=*=\n");
			printf("\n");
			continue;
		}
		switch(*num)
		{
		case '1':
			{
				admin();
			}
			break;
		case '2':
			{
				user();
			}
			break;
		case '3':
			{
				exit(); 
				return ;
			}break;
		default :
			{
				printf("     =*=*=*=*=*=\n");
				printf("      Operation error!\n");
				printf("     =*=*=*=*=*=\n");
				printf("\n");
			}
			break;
		}
	}
}

Administrator module

The module is mainly composed of three modules: establishing address book information module, outputting address book information module and statistics address book information module. The main functions of each module are as follows:
Create address book information module: This module includes add, delete and modify operations.
This module function void admin_ The EST () code is as follows:

void admin_est() //Establish address book management
{
	while(1)
	{
		char num[10];
		printf("     ┌─────────────┐\n");
		printf("     │ 1 Add address book│\n");
		printf("     │ 2 Delete address book│\n");
		printf("     │ 3 Modify address book│\n");
		printf("     │ 4 sign out      │\n");
		printf("     └─────────────┘\n");
		printf("\n");
		printf("     =*=*=*=*=*=*=*=\n");
		printf("     Please enter your action\n");
		printf("     =*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(num);
		printf("\n");
		if(strlen(num)>1)
		{
			printf("     =*=*=*=*=*=\n");
			printf("      Operation error!\n");
			printf("     =*=*=*=*=*=\n");
			printf("\n");
			continue;
		}
		switch(*num)
		{
		case '1':
			{
				est_add();
			}
			break;
		case '2':
			{
				est_delet();
			}
			break;
		case '3':
			{
				est_renew();
			}
			break;
		case '4':return ;break;
		default :
			{
				printf("     =*=*=*=*=*=\n");
				printf("      Operation error!\n");
				printf("     =*=*=*=*=*=\n");
				printf("\n");
			}break;
		}
	}
}

Output address book information module: output the information of all contacts in the address book in a tabular manner, so that users can more clearly and intuitively understand all the information in the address book.
This module function void admin_print_all() code is as follows:

void admin_print_all() //Output all information management of address book
{
	FILE *fp;
	struct list *p;
	int i=0;
	p=(struct list *)malloc(LEN);
	fp=fopen("test.txt","r");
	if(fp==NULL)
	{
		printf("     =*=*=*=*=*=*=*=*=*=*=\n");
		printf("      can not open file !\n");
		printf("     =*=*=*=*=*=*=*=*=*=*=\n");
		printf("\n");
		return ;
	}
	while(fread(p,LEN,1,fp))
	{
		i++;
	}
	rewind(fp);
	if(i==0)
	{
		fclose(fp);
		printf("     =*=*=*=*=*=*=*=*=*=*=\n");
		printf("     Address book is empty! Unable to output!\n");
		printf("     =*=*=*=*=*=*=*=*=*=*=\n");
		printf("\n");
		return ;
	}
	printf("     =*=*=*=*=*=*=*=*=*=\n");
	printf("      This address book has%d people\n",i);
	printf("     =*=*=*=*=*=*=*=*=*=\n");
	printf("\n");
	i=0;
	while(fread(p,LEN,1,fp))
	{
		i++;
		if(i==1)
		{
			printf("=======================================================================\n");
			printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
		}
		printf("-----------------------------------------------------------------------\n");
		printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
	}
	printf("=======================================================================\n");
	fclose(fp);
}

Statistical address book information module: prompt the user to select native place or company to count the information of relevant contacts, and output it in tabular form.
This module function void admin_ The tongji() code is as follows:

void admin_tongji() //Statistical address book information management
{
	while(1)
	{
		FILE *fp;
		struct list *p;
		char num[10];
		p=(struct list *)malloc(LEN);
		fp=fopen("test.txt","r");
		if(fp==NULL)
		{
			printf("can not open file !\n");
			return ;
		}
		printf("     ┌─────────────┐\n");
		printf("     │ 1 Statistics by place of origin│\n");
		printf("     │ 2 Statistics by unit│\n");
		printf("     │ 3 sign out      │\n");
		printf("     └─────────────┘\n");
		printf("\n");
		printf("     =*=*=*=*=*=*=*=\n");
		printf("      Please enter your action\n");
		printf("     =*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(num);
		printf("\n");
		if(strlen(num)>1)
		{
			printf("     =*=*=*=*=*=\n");
			printf("      Operation error!\n");
			printf("     =*=*=*=*=*=\n");
			printf("\n");
			continue;
		}
		There are too many codes. Some codes are omitted here...
		There are too many codes. Some codes are omitted here...
		There are too many codes. Some codes are omitted here...
		case '2':
			{
				char str[30];
				int flag=0,i=0;
				printf("     =*=*=*=*=*=*=*=*=*=*=*=\n");
				printf("      Please enter the name of the statistical unit\n");
				printf("     =*=*=*=*=*=*=*=*=*=*=*=\n");
				printf("\n");
				gets(str);
				printf("\n");
				while(fread(p,LEN,1,fp))
				{
					if(strcmp(p->unit,str)==0)
					{
						flag=1;
						break;
					}
				}
				rewind(fp);
				if(flag==0)
				{
					printf("     =*=*=*=*=*=*=*=\n");
					printf("      This company does not exist!\n");
					printf("     =*=*=*=*=*=*=*=\n");
					printf("\n");
					fclose(fp);
					return ;
				}
				while(fread(p,LEN,1,fp))
				{
					if(strcmp(p->unit,str)==0)
					{
						i++;
						if(i==1)
						{
							printf("      =*=*=*=*=*=*=\n");
							printf("      The query results are as follows\n");
							printf("      =*=*=*=*=*=*=\n");
							printf("\n");
							printf("=======================================================================\n");
							printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
						}
						printf("-----------------------------------------------------------------------\n");
						printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
					}
				}
				printf("=======================================================================\n");
				printf("\n");
				printf("     =*=*=*=*=*=*=*=*=\n");
				printf("     The unit has%d people\n",i);
				printf("     =*=*=*=*=*=*=*=*=\n");
				printf("\n");
				fclose(fp);
				return ;
			}
			break;
		case '3':
			{
				fclose(fp);
				return ;
			}
			break;
		default :
			{
				printf("     =*=*=*=*=*=\n");
				printf("      Operation error!\n");
				printf("     =*=*=*=*=*=\n");
				printf("\n");
				fclose(fp);
			}break;
		}
	}
}

User module

It is mainly composed of six modules: accurate query module, fuzzy query module, save to file module, output module after name sorting, and output unit address book information module. The main functions of each module are as follows:
Accurate search module: guide the user to input the information of the type to be searched, so as to find the complete information of the person and output it.
This module function void user_jqcx() code is as follows:

void user_jqcx()  //Find users precisely
{
	while(1)
	{
		FILE *fp;
		struct list *p;
		char num[10];
		p=(struct list *)malloc(LEN);
		printf("     ┌───────────────┐\n");
		printf("     │ 1 Name exact search│\n");
		printf("     │ 2 Telephone precise search│\n");
		printf("     │ 3 sign out        │\n");
		printf("     └───────────────┘\n");
		printf("\n");
		printf("     =*=*=*=*=*=*=*=*=\n");
		printf("      Please enter your action\n");
		printf("     =*=*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(num);
		printf("\n");
		if(strlen(num)>1)
		{
			printf("Operation error!\n");
			continue;
		}
		switch(*num)
		{
		case '1':
			{
				char str[30];
				printf("     =*=*=*=*=*=*=\n");
				printf("      Please enter your name\n");
				printf("     =*=*=*=*=*=*=\n");
				printf("\n");
				gets(str);
				printf("\n");
				fp=fopen("test.txt","r"); //Open file
				if(fp==NULL)
				{
					printf("can not open file !\n");
					return ;
				}
				while(fread(p,LEN,1,fp))
				{
					if(strcmp(p->name,str)==0) //Determine whether the names are the same
					{
						printf("     =*=*=*=*=*=*=*=*=*=\n");
						printf("     The information of this person is as follows:\n");
						printf("     =*=*=*=*=*=*=*=*=*=\n");
						printf("\n");
						printf("=======================================================================\n");
						printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
						printf("-----------------------------------------------------------------------\n");
						printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
						printf("=======================================================================\n");
						fclose(fp);//Close file
						break;
					}
				}
			}
			break;
		case '2':
			{
				char str[30];
				printf("     =*=*=*=*=*=*=\n");
				printf("      Please enter phone number\n");
				printf("     =*=*=*=*=*=*=\n");
				printf("\n");
				gets(str);
				printf("\n");
				fp=fopen("test.txt","r");//Open file
				if(fp==NULL)
				{
					printf("     =*=*=*=*=*=*=*=*=*=\n");
					printf("     can not open file !\n");
					printf("     =*=*=*=*=*=*=*=*=*=\n");
					return ;
				}
				while(fread(p,LEN,1,fp))
				{
					if(strcmp(p->handset,str)==0) //Determine whether the phones are the same
					{
						printf("The information of this person is as follows::\n");
						printf("=======================================================================\n");
						printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
						printf("-----------------------------------------------------------------------\n");
						printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
						printf("=======================================================================\n");
						fclose(fp);//Close file
						break;
					}
				}
			}
			break;
		case '3':
			{
				return ;
			}
			break;
		default :
			{
				printf("     =*=*=*=*=*=\n");
				printf("      Operation error!\n");
				printf("     =*=*=*=*=*=\n");
				printf("\n");
			}break;
		}
	}
}

Fuzzy search module: guide the user to input the information of the type to be searched, so as to find the complete information of the person and output it.
This module function void user_mhcx() code is as follows:

void user_mhcx()  ///Fuzzy Lookup user
{
	while(1)
	{
		FILE *fp;
		struct list *p;
		char num[10];
		fp=fopen("test.txt","r");
		if(fp==NULL)
		{
			printf("     =*=*=*=*=*=*=*=*=*=\n");
			printf("     can not open file !\n");
			printf("     =*=*=*=*=*=*=*=*=*=\n");
			printf("\n");
			return ;
		}
		p=(struct list *)malloc(LEN);
		printf("     ┌───────────────┐\n");
		printf("     │ 1 Name fuzzy search│\n");
		printf("     │ 2 Telephone fuzzy search│\n");
		printf("     │ 3 sign out        │\n");
		printf("     └───────────────┘\n");
		printf("\n");
		printf("     =*=*=*=*=*=*=*=*=\n");
		printf("      Please enter your action\n");
		printf("     =*=*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(num);
		printf("\n");
		There are too many codes. Some codes are omitted here...
		There are too many codes. Some codes are omitted here...
		There are too many codes. Some codes are omitted here...
							printf("=======================================================================\n");
							printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
							printf("-----------------------------------------------------------------------\n");
							printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
							printf("=======================================================================\n");
							printf("\n");
							break;
						}
									k++;
								}
								if(B==strlen(str)-1)
									break;
							}
						}
						
						if(flag==0)
						{
							printf("     =*=*=*=*=*=*=*=\n");
							printf("      This person was not queried!\n");
							printf("     =*=*=*=*=*=*=*=\n");
							printf("\n");
						}
						fclose(fp);  //case 2-2 close
				//------------------------------------------
			}
			break;
		case '3':
			{
				return ;
			}
			break;
		default :
			{
				printf("     =*=*=*=*=*=\n");
				printf("      Operation error!\n");
				printf("     =*=*=*=*=*=\n");
				printf("\n");
			}break;
		}
	}
}

Save address book to file module: after entering the name of the company to save the address book, the system will generate a disk file named after the company name.
This module function void user_ The save() code is as follows:

void user_save()  //Save company address book to user file
{
	struct stu
	{
		char name[30];
		char age[30];
		int number;
		char handset[30];
		char address[30];
		char unit[30];
	};
	struct stu s[1000],temp;
	int i,j,k;
	//------------------------------
	while(1)
	{
		FILE *fp,*fp1;
		struct list *p;
		char str[30];
		int flag=0;
		p=(struct list *)malloc(LEN);
		fp=fopen("test.txt","r"); //Open file to fp in read-only mode
		if(fp==NULL)
		{
			printf("     =*=*=*=*=*=*=*=*=*=\n");
			printf("     can not open file !\n");
			printf("     =*=*=*=*=*=*=*=*=*=\n");
			return ;
		}
		printf("     =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
		printf("     Please enter the company name of the address book to be saved(This name will be used as the saved file name)\n");
		printf("     =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(str);
		printf("\n");
		There are too many codes. Some codes are omitted here...
		There are too many codes. Some codes are omitted here...
		There are too many codes. Some codes are omitted here...
		for(j=0;j<i-1;j++)
		{
			for(k=j+1;k<i;k++)
			{
				if(s[j].age<s[k].age)
				{
					temp=s[j];
					s[j]=s[k];
					s[k]=temp;
				}
			}
		}
		
		fp1=fopen(str,"w"); //Open fp1 in write only mode
		if(fp1==NULL)
		{
			printf("can not open file !\n");
			fclose(fp);
			return ;
		}

		for(j=0;j<i;j++)
		{
			strcpy(p->name,s[j].name);
			strcpy(p->age,s[j].age);
			p->number=s[j].number;
			strcpy(p->handset,s[j].handset);
			strcpy(p->address,s[j].address);
			strcpy(p->unit,s[j].unit);
			fwrite(p,LEN,1,fp1);
		}
		//-----------------------
		fclose(fp);  //Close fp
		fclose(fp1);  //Close fp1
		//-----------------------
		printf("     =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
		printf("     Saved successfully! The saved file name is:%s\n",str);
		printf("     =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
		printf("\n");
		return ;
	}
}

Name sorting output module: the system automatically sorts the contact names in the address book, and outputs the sorted address book information.
This module function void user_paixu() code is as follows:

void user_paixu()  //Alphabetical user
{
//----------------------------
	struct list1
	{
		char name[30];  //name 
		char age[30]; //Age
		int number;  //Automatic number generation
		char handset[30]; //Telephone
		char address[30]; //Native place
		char unit[30];//Company
	};
	FILE *fp;
	struct list *p;
	struct list1 s[1000],temp;
	int i=0,j,z;
	p=(struct list *)malloc(LEN);
	fp=fopen("test.txt","r");
	if(fp==NULL)
	{
		printf("     =*=*=*=*=*=*=*=*=*=\n");
		printf("     can not open file !\n");
		printf("     =*=*=*=*=*=*=*=*=*=\n");
		return ;
	}
	There are too many codes. Some codes are omitted here...
	There are too many codes. Some codes are omitted here...
	There are too many codes. Some codes are omitted here...
	fclose(fp);
	printf("     =*=*=*=*=*=*=*=*=\n");
	printf("      The sorted information is as follows\n");
	printf("     =*=*=*=*=*=*=*=*=\n");
	printf("\n");
	fp=fopen("test.txt","r");
	i=0;
	while(fread(p,LEN,1,fp))
	{
		i++;
		if(i==1)
		{
			printf("=======================================================================\n");
			printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
		}
		printf("-----------------------------------------------------------------------\n");
		printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
	}
	if(i!=0)
		printf("=======================================================================\n");
	else
	{
		printf("     =*=*=*=*=*=*=\n");
		printf("      Address book is empty!\n");
		printf("     =*=*=*=*=*=*=\n");
		printf("\n");
	}
	fclose(fp);
}

Output company address book information module: after the user manually enters the name of the company to be output according to the system prompt, the system will automatically search all contacts of the company and output.
This module function void user_ The print () code is as follows:

void user_print() //Output company address book user
{
	while(1)
	{
		FILE *fp;
		struct list *p;
		char str[30];
		int flag=0,i=0;
		p=(struct list *)malloc(LEN);
		fp=fopen("test.txt","r");
		printf("     =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
		printf("      Please enter the company name of the address book to be displayed\n");
		printf("     =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
		printf("\n");
		gets(str);
		printf("\n");
		if(fp==NULL)
		{
			printf("can not open file !\n");
			return ;
		}
		while(fread(p,LEN,1,fp))
		{
			if(strcmp(p->unit,str)==0)
			{
				flag=1;
				break;
			}
		}

		if(flag==0)
		{
			printf("     =*=*=*=*=*=*=\n");
			printf("     This unit does not exist!\n");
			printf("     =*=*=*=*=*=*=\n");
			printf("\n");
			fclose(fp);
			continue;
		}
		rewind(fp);
		while(fread(p,LEN,1,fp))
		{
			if(strcmp(p->unit,str)==0)
			{
				i++;
				if(i==1)
				{
					printf("=======================================================================\n");
					printf("|full name        |number   |Age  |Telephone         |Native place        |Company          |\n");
				}
				printf("-----------------------------------------------------------------------\n");
				printf("|%-12s|%-7d|%-6s|%-13s|%-12s|%-14s|\n",p->name,p->number,p->age,p->handset,p->address,p->unit);
			}
		}
		fclose(fp);
		if(i!=0)
			printf("=======================================================================\n");
		return ;
	}
}

4, Program test

1. View files

To run this program, first confirm that there are three files in the directory at the same level as the source program; The file for storing the contact information of the address book (test.txt), the file for storing the report card information (security. dat), and the file for storing the password of the administrator and the user to enter the system (num_key. Txt). What we need to introduce here is the num_key.txt file, because this file is used by us to log in to the system. In this file, there are two strings of characters. The first string of characters is the login password of the administrator and the second string of characters is the login password of the user, as shown in the figure below. Here, our administrator password is 1234 and the user password is 4321.

It should be emphasized that there is no function of logging in and registering administrator and user name in our system, but the initial password can be modified.

2. Main interface test

After running the program, enter our main interface, as shown in the figure below.

3. Administrator interface test

Here, we enter 1, press enter to select the administrator system, and then enter just in num_ key. The first string of characters in TXT file, namely "1234", can enter the administrator system, as shown in the following figure. It can be seen that the administrator system has the following functions: establishing address book information, that is, creating new contacts, outputting address book information, counting address book information, counting address book information in various ways, and modifying administrator password.

4. User interface test

Here, we continue the steps just now, enter 5 to exit the initial interface, then enter 2 to enter the user system, and then just in num_key.txt file, i.e. "4321" is used as the password to enter the user's system. The results are shown in the figure below. It can be seen that the operations under the user system have six main functions: accurate query, fuzzy query, saving address book to file, sorting and outputting address book information by name, outputting company address book information, and modifying user password.

5. Exit the test

Finally, we return to the initial interface to test the exit program. As shown in the figure below, the system has prompted to exit and can't do any more operations.

Because the system has too many functions, the blogger will not show all of them here, but will show some of the interfaces again. Students can test the operation below.

5, System instructions

instructions:

  1. When you enter an option operation in each menu option, you cannot enter a non operation specified character, otherwise the system will automatically judge the input error and re-enter it.
  2. When entering the administrator system, you need to enter a password. If you enter the wrong password, you will not be able to enter the administrator system. The initial password is "1234", which can be modified.
  3. When adding information, 11 Arabic numerals must be input when entering the phone, otherwise the system will judge that the input format is wrong and re input.
    To modify or delete contact information, you must enter an existing contact in the address book, otherwise the system will prompt that this person has not been found, and the modification or deletion fails.
  4. When making statistics on address book information, the native place or company to be counted must be the native place or company of an existing contact, otherwise the system will prompt that the native place or company does not exist.
  5. When entering the user system, you need to enter a password. If you enter the wrong password, you will not be able to enter the user system. The initial password is "1234", which can be modified.
  6. After changing the password, you must not forget the password, otherwise you will not be able to enter the system.
  7. For accurate query, you need to enter a complete name or telephone number to query the person's information.
  8. It is not necessary to input complete information for fuzzy query, but it should be noted that at least three digits need to be input during fuzzy query by telephone, otherwise the system will prompt the input format error and re-enter, because the telephone number is only between 0 and 9. If you enter a single digit word, it is likely that the mobile phone number of all contacts has this number, As a result, the information of all relevant contacts is output, resulting in inconvenient query.
  9. When saving the address book information to the file, you need to enter the correct existing company name before the system can save the information of all contacts of the company to the file named by the company name.
  10. When outputting company address book information, you need to enter the correct company name before the system will output all contact information of the company.
  11. All the information in the address book is stored in a file, which can be opened, but the address book information can be viewed through this file. To view the information in the address book, you need to enter the administrator system and output the file information to view all the contact information.
  12. After the company address book is saved to a file, the saved file format is not a common file format and cannot be viewed.

Keywords: C Back-end

Added by fou2enve on Tue, 28 Dec 2021 09:01:10 +0200