#ifndef MYHEAD_H_//定义自定义头文件
#define MYHEAD_H_
#include //添加需要用到的头文件
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX_LEN sizeof(char) * 20
#define MAX sizeof(char) * 1024
#define PASSWORD_LEN 20
#define BACKSPACE 127
enum RESULT//枚举
{
Add_success,//添加信息成功
Add_fail,//添加信息失败
Search_success,//查找成功
Search_fail,//查找失败
Search_empty,//查找为空
Display_success,//显示成功
Display_fail,//显示失败
Display_empty,//显示为空
Delete_success,//删除成功
Delete_fail,//删除失败
Delete_empty,//删除为空
Write_fail,//写入失败
Write_success,//写入成功
ADD,//添加数据命令
SEARCH,//查找数据命令
DISPLAY,//显示命令
DELETE,//删除命令
ERROR,//输入错误
QUIT,//退出命令
WRITE_LISTLIB_OK,
READ_LISTLIB_OK
};
/* 定义结构体,用来封装信息*/
struct address
{
char name[20];
char home_address[100];
char phone_number[20];
int ID;
struct address * next;
};
typedef struct address Address;//struct address 重命名 Address
typedef Address * Link;//Address * 重命名 Link
struct user//定义user 结构体
{
char user[20];
char password[20];
char answer[20];
struct user * next;
};
typedef struct user User;
typedef User * USER;
int interface(Link *head,char **user);//声明主菜单函数
int reg_ID();//声明注册用户函数
int mod_password();//声明修改密码函数
char * my_strcpy(char *str, char *ptr);//声明 拷贝函数
int my_strcmp(char *dest,char *src);//声明匹配字符串函数
int login_screen(Link *head,char **name);//声明登录函数
void init_head(Link *head);//声明初始化Link 头指针函数
void init_userHead(USER *userHead);//声明初始化USER 头指针函数
void menu(void);//声明菜单函数
void insert_tail_list(Link newlist,Link *head);//声明address 结构体尾插函数
void insert_tail_user(USER newlist,USER *userHead);//声明 user结构体尾插函数
void display_list(Link head);//声明显示函数
int search_list(Link *head,Link *find_head,char **name);//声明查找函数
int delete_list(Link *head,int ID);//声明删除函数
int get_result(void *para,int columnCount,char *columnValue[],char *columnName[]);//声明get_result回调函数
int get_log(void *para,int columnCount,char *columnValue[],char *columnName[]);//声明get_log回调函数
int get_user(void *para,int columnCount,char *columnValue[],char *columnName[]);//声明get_user回调函数
//int read_listLib(Link *head);
int write_listLib(Link *head,char **user);//声明写入数据库函数
void wait(void);//声明等待函数
int write_line(int fd,char *buffer,int len);//声明文件写一行函数
void write_file(char * date);//声明些文件函数
void get_time();//声明获取时间函数
#endif