C语言小项目:注册登录管理系统(MYSQL开发)

#include<stdio.h>
#include<mysql.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
#include <string.h>
#include <io.h>
#ifdef _WIN32
#include <conio.h>
#else
#include <unistd.h>
#include <termios.h>
#endif
int get_user_input(char *input, int maxLength) {
#ifdef _WIN32
    if (_kbhit()) {
        fgets(input, maxLength, stdin);
        return 1;
    }
#else
    struct termios old_attr, new_attr;
    tcgetattr(fileno(stdin), &old_attr);
    new_attr = old_attr;
    new_attr.c_lflag &= ~(ICANON | ECHO);
    tcsetattr(fileno(stdin), TCSANOW, &new_attr);

    fd_set fdset;
    struct timeval tv;
    FD_ZERO(&fdset);
    FD_SET(fileno(stdin), &fdset);
    tv.tv_sec = 0;
    tv.tv_usec = 0;
    select(fileno(stdin) + 1, &fdset, NULL, NULL, &tv);

    if (FD_ISSET(fileno(stdin), &fdset)) {
        fgets(input, maxLength, stdin);
        return 1;
    }

    tcsetattr(fileno(stdin), TCSANOW, &old_attr);
#endif

    return 0;
}
 
typedef struct chat
{
    char time[30];
    char name[20];
    char message[100];
    int status;
}chat;
typedef struct users
{
	char  name[10];
	char  account[10];
	char  password[10];
	char  question[20];
	char  answer[10];
    int status;
    int pass;
}user;

int function1=1;
int function2=1;
int function3=1;
int function4=1;

int check_admi(MYSQL *mysql);
void create_admi(MYSQL *mysql);
void admi_start();
void admi_menu();
int select(int a,int b);
int check_select(int select,int a,int b);
int check_password(user user);
void switch_select(int select,MYSQL *mysql);
void check_user_information(MYSQL *mysql);
void check_user_information_screen();
void check_user_switch_select(int select,MYSQL *mysql);
MYSQL *log_in_mysql();
void exit_mysql(MYSQL *mysql);
void admi_list(MYSQL_RES *result);
void admi_view(MYSQL *mysql);
void admi_find(MYSQL *mysql);
void admi_clear(MYSQL *mysql);
void admi_delete(MYSQL *mysql);
void delete_rollback(MYSQL *mysql);
void admi_modify(MYSQL *mysql);
void modify_administrator_account(MYSQL *mysql);
int check_user(MYSQL *mysql,char *m,char *find_key);
void enter(char*m);
int secure(char *password);
void user_register(MYSQL *mysql);
void user_log_in(MYSQL *mysql);
void user_change_password(MYSQL *mysql);
void user_retrieve_password(MYSQL *mysql);
void user_start();
void user_menu();
void user_select_switch();
void user_switch_select(int select,MYSQL *mysql);
void user_exit();
void admi_load(MYSQL *mysql);
user information_return(MYSQL *mysql,char *record,int i);
void remove_spaces(char *m);
void exit_the_system();
void admi(MYSQL *mysql);
void a_b();void b_a();
void b_c();void c_b();
void game(user user,MYSQL *mysql);
void board();
void switch_game(int select,user user,MYSQL *mysql);
void enter_alien();
void enter_snake();
void enter_table();
void enter_sweep();
void enter_pg(user user);
void upload_message(MYSQL *mysql,chat chat,int *i);
void show_chatting(MYSQL *mysql,int *i);
void engine_chat(MYSQL *mysql,user user);
void a_b()
{
    function2=1;    
}
void b_a()
{
    function2=0;
}
void b_c()
{
    function3=1;
}
void c_b()
{
    function3=0;
}
void c_d()
{
    function4=1;
}
void d_c()
{
    function4=0;
}
MYSQL *log_in_mysql()
{
    
    MYSQL *mysql=mysql_init(0);
    if(!mysql_real_connect(mysql, "mytry.e3.luyouxia.net", "remote_user", "remote", "Try_users", 10670, NULL, 0))
    {
        printf("Fail to connect,%s",mysql_error(mysql));
        mysql_close(mysql);
    }
    if(mysql_query(mysql,"set names gbk"))
    {
        printf("Fail to change code,%s",mysql_error(mysql));
        mysql_close(mysql);
    }
    return mysql;
}
int check_admi(MYSQL *mysql)
{
    char query[100];
    sprintf(query,"select * from B");
    mysql_query(mysql,query);
    MYSQL_RES *result=mysql_store_result(mysql);
    if (result!=NULL)
    {
        int num_rows = mysql_num_rows(result);
        mysql_free_result(result);
        return (num_rows > 0);
    }
    else return 0;
}

void create_admi(MYSQL *mysql)
{
    user user;
    printf("请注册管理员账户");
    printf("\n用户名:");
    scanf("%s",&user.name);
    printf("\n密码:");
    scanf("%s",&user.password);
    char query[100];
    sprintf(query,"INSERT INTO b (administrator, password) VALUES ('%s', '%s')",user.name, user.password);
    mysql_query(mysql,query);
}

user information_return(MYSQL *mysql,char *record,int i)
{
    char query[100];
    user user;
    if(i=1) sprintf(query,"select * from A where name='%s'",record);
    else if(i=2) sprintf(query,"select * from A where name='%s'or account='%s'",record,record);
    mysql_query(mysql,query);
    MYSQL_RES *result=mysql_store_result(mysql);
    MYSQL_ROW row;
    while(row=mysql_fetch_row(result))
    {
        strcpy(user.account, row[1]);
        strcpy(user.name, row[0]);
        strcpy(user.password, row[2]);
        strcpy(user.question, row[3]);
        strcpy(user.answer, row[4]);
        user.status=atoi(row[5]);
    }
    return user;
}

void user_start()
{
    system("cls");
    printf("\n\n\t\t纵\t\t                                \t\t生");
    printf("\n\n\t\t使\t\t                                \t\t命");
    printf("\n\n\t\t乘\t\tWelcome to join the user system!\t\t不");
    printf("\n\n\t\t风\t\t                                \t\t言");
    printf("\n\n\t\t起\t\t                                \t\t弃");

    Sleep(2000);
    system("cls");
}

void user_menu()
{
    system("cls");
	printf("\n		***************************  用户菜单  **************************\n");
    printf("\t\t*\t                                                       *\n");         
	printf("\t\t*\t      1.登录账号                                       *\n");         
    printf("\t\t*\t      2.注册账号                                       *\n");             
    printf("\t\t*\t      3.修改密码                                       *\n");         
    printf("\t\t*\t      4.找回密码                                       *\n");         
	printf("\t\t*\t      5.退出程序                                       *\n");
    printf("\t\t*\t      6.管理员系统                                     *\n");          
    printf("\t\t*\t                                                       *\n");              
	printf("		****************************************************************\n");
	printf("\n");
}

void user_switch_select(int select,MYSQL *mysql)
{

    switch (select)
    {
    case 1:user_log_in(mysql); break;
    case 2:user_register(mysql); break;
    case 3:user_change_password(mysql);break;
    case 4:user_retrieve_password(mysql);break;
    case 5:user_exit();break;
    case 6:admi(mysql);break;
    }

}

void user_register(MYSQL *mysql)
{
    user user;
    char name[]="name";
    char temp_password[10];
    while(1)
    {
        system("cls");
        printf("\n请输入用户名:");
        scanf("%s",&user.name);
        if(check_user(mysql,name,user.name))
        {
            MessageBox(NULL,"用户名已存在.","Tip",MB_OK);
            continue;
        }
        break;
    }
    
    
    while(1)
    {
        do
        {
            printf("\n请输入密码:");
            enter(user.password);
        } while (!secure(user.password));
        printf("\n请确认密码:");
        enter(temp_password);
        if (strcmp(user.password,temp_password))
        {
            MessageBox(NULL,"两次密码不一致","Tip",MB_OK);
            continue;
        }
        break;
    }
    
    printf("\n系统正在为您分配账号");
    Sleep(500);
    int temp[10];char account[]="account";
    srand((unsigned int)time(NULL));
    do
    {
        for(int h=0;h<6;h++){temp[h]=rand()%6;user.account[h]='0'+temp[h];user.account[h+1]='\0';}
    } while (check_user(mysql,account,user.account));
    printf("\n你的账号是 %s",user.account);
    printf("\n请输入用于找回密码的问题.");
    scanf("%s",&user.question);
    printf("\n请输入答案:");
    scanf("%s",&user.answer);
    char query[100];
    sprintf(query,"INSERT INTO A (name, account, password, question, answer, status) VALUES ('%s', '%s', '%s', '%s', '%s', %d)",user.name, user.account, user.password, user.question, user.answer, 0);
    mysql_query(mysql,query);
    printf("注册成功!");
}

void user_log_in(MYSQL *mysql)
{
    char record[10];char name[]="name";char account[]="account";
    system("cls");
    printf("\n请输入您的用户名或账号:");
    scanf("%s",&record);
    if((!check_user(mysql,name,record))&&(!check_user(mysql,account,record)))
        {
            MessageBox(NULL,"用户不存在","Tip",MB_OK);
            return;
        }
    user user=information_return(mysql,record,2);
    if(check_password(user)) 
    {
        system("cls");
        printf("\n\n\t%s,欢迎您登录系统",user.name);
        Sleep(500);
        game(user,mysql);
    }
    else 
    {
        MessageBox(NULL,"您已超出最大尝试次数","Tip",MB_OK);
    }
}

int check_password(user user)
{
    char password[10];int time=0;
    while(1)
    {
        printf("\n请输入您的密码:");
        enter(password);
        time++;
        if(time<5&&strcmp(password,user.password))
        {
            char tip[30];
            sprintf(tip,"密码错误.您还可以尝试%d次.",5-time);
            MessageBox(NULL,tip,"Tip",MB_OK);
            continue;
        }
        break;
    }
    if(time==5) 
    {
        return 0;
    }
    return 1;
}

void user_change_password(MYSQL *mysql)
{
   char record[10];char name[]="name";
   char query[100];
   
   while(1)
    {
        system("cls");
        printf("\n请输入改密账号的用户名:");
        scanf("%s",&record);
        if(!check_user(mysql,name,record))
        { 
            MessageBox(NULL,"用户名不存在.","Tip",MB_OK);
            return;
        }
        break;
    }
    user temp1,temp2;
    user user=information_return(mysql,record,1);
    if(check_password(user)) 
    {
        while(1)
        {
            
            
            while(1)
            {   
            printf("\n请输入新密码:");
            enter(temp1.password);
            if(!strcmp(temp1.password,user.password))
            {
                MessageBox(NULL,"该密码与原先密码相同.","Tip",MB_OK);
                continue;
            }
            if(!secure(temp1.password))
            {
                continue;
            }
            break;
            }
            printf("\n请确认密码:");
            enter(temp2.password);
            if(strcmp(temp1.password,temp2.password)) 
            {
                MessageBox(NULL,"两次密码不一致.","Tip",MB_OK);
                continue;
            }
            break;
        }
        sprintf(query,"\nUPDATE a SET password='%s' WHERE name='%s'",temp1.password,record);
        mysql_query(mysql,query);
    }
    else
    {
        MessageBox(NULL,"您已达到最大尝试次数.","Tip",MB_OK);
    } 
}

void user_retrieve_password(MYSQL *mysql)
{
    user temp;char name[]="name";
    user user;
    while(1)
    {
        system("cls");
        printf("\n请输入找密账号的用户名:");
        scanf("%s",&temp.name);
        if(!check_user(mysql,name,temp.name))
        { 
            MessageBox(NULL,"用户名不存在.","Tip",MB_OK);
            return;
        }
        break;
    }
    user=information_return(mysql,temp.name,1);
    printf("问题:%s\n请输入答案:",user.question);
    scanf("%s",&temp.answer);
    remove_spaces(user.answer);
    remove_spaces(temp.answer);
    if(strcmp(user.answer,temp.answer))
    {
        MessageBox(NULL,"答案错误.","Tip",MB_OK);
        return;
    }
    else
    {
        printf("你的密码是 %s .",user.password);
        while(getchar()!='\n');
        getchar();
    }
    
}

void user_exit()
{
    printf("感谢您的支持!");
    exit(0);
}

void admi_start()
{
    system("cls");
    printf("\n\n\t\t\tWelcome to join the administrator system!");
    Sleep(2000);
}

void admi_menu()
{
    system("cls");
	printf("\n		*********************      管理员菜单     **********************\n");  
    printf("\t\t*\t                                                       *\n");
	printf("\t\t*\t      1.查看用户信息                                   *\n");
    printf("\t\t*\t                                                       *\n");
    printf("\t\t*\t      2.修改管理员账号                                 *\n");
    printf("\t\t*\t                                                       *\n");
	printf("\t\t*\t      3.退出管理员系统                                 *\n");
    printf("\t\t*\t                                                       *\n");
	printf("		***************************************************************\n");
	printf("\n");
}

int select(int a,int b)
{
    int select;
    printf("\t\t\t\t输入选项: [\t].\b\b\b\b");
    
        while(scanf("%d",&select)!=1||!check_select(select,a,b))
        {
            MessageBox(NULL,"请输入有效数字.","Tip",MB_OK);
            printf("\x1b[1A\x1b[2K");
            while(getchar()!='\n');
            printf("\t\t\t\t输入选项: [\t].\b\b\b\b");
        }
    return select;
    
}

int check_select(int select,int a,int b)
{
    if(select<a||select>b) return 0;
    else return 1;
}

void switch_select(int select,MYSQL *mysql)
{
    switch (select)
    {
    case 1:check_user_information(mysql);break;
    case 2:modify_administrator_account(mysql);break;
    case 3:exit_the_system();break;
    }
}

void exit_the_system()
{
    b_a();
}

void check_user_information(MYSQL *mysql)
{
    b_c();
    while(function3)
    {
        check_user_information_screen();
        int admi_select=select(1,6);
        check_user_switch_select(admi_select,mysql);
    }
}

void check_user_information_screen()
{
    system("cls");
    printf("\n		*************************** Menu ******************************\n");
    printf("\t\t*\t                                                       *\n");         
	printf("\t\t*\t      1.查看用户信息                                   *\n");         
    printf("\t\t*\t      2.查找用户信息                                   *\n");         
    printf("\t\t*\t      3.删除用户信息                                   *\n");         
	printf("\t\t*\t      4.修改用户权限                                   *\n");
    printf("\t\t*\t      5.清除用户信息                                   *\n");
    printf("\t\t*\t      6.返回上一页                                     *\n");         
    printf("\t\t*\t                                                       *\n");         
	printf("		***************************************************************\n");
	printf("\n");
}

void check_user_switch_select(int select,MYSQL *mysql)
{
    switch (select)
    {
    case 1:admi_view(mysql);break;
    case 2:admi_find(mysql);break;
    case 3:admi_delete(mysql);break;
    case 4:admi_modify(mysql);break;
    case 5:admi_clear(mysql);break;
    case 6:c_b();
    }
}



void exit_mysql(MYSQL *mysql)
{
    mysql_close(mysql);
}

void admi_view(MYSQL *mysql)
{
    char choice;
    while(getchar()!='\n');
    mysql_query(mysql,"select * from A");
    MYSQL_RES *result=mysql_store_result(mysql);
    admi_list(result);
    printf("\n键入y导出结果, 键入n返回上一页:[  ]\b\b\b");
    scanf("%c",&choice);
    system("cls");
    if(choice=='y') admi_load(mysql);
}

void admi_find(MYSQL *mysql)
{
    system("cls");
    char query[100];char name[]="name";
    char find_key[20];
    printf("\n请输入你要查找的用户名:");
    printf("模糊查询示例:%王%");
    scanf("%s",&find_key);
    sprintf(query,"select * from A where name like '%s'",find_key);
    mysql_query(mysql,query);
    MYSQL_RES *result=mysql_store_result(mysql);
    admi_list(result);
    while(getchar()!='\n');
    printf("\n输入回车返回上一页面");
    getchar();
}

void admi_list(MYSQL_RES *result)
{
    user User;int i=1;
    MYSQL_ROW row;
    system("cls");
    printf("\n\t\t+----------------------------+");
    while(row=mysql_fetch_row(result))                                  
    {                                                       
        strcpy(User.account,row[1]);                            
        strcpy(User.name,row[0]);                                   
        User.status=atoi(row[5]);                               
        printf("\n\t\t|%-2d|%-10s|%-10s|%-4d|\n",i++,User.account,User.name,User.status);
    }                                                                   
    printf("\n\t\t+----------------------------+");
    mysql_free_result(result);    
}

void admi_load(MYSQL *mysql)
{
    #define STDOUT 1
    int oldstdout = dup(STDOUT); 
    mysql_query(mysql,"select * from A");
    MYSQL_RES *result=mysql_store_result(mysql);
    FILE *p=fopen("../result.txt","w");
    freopen("../result.txt", "w", stdout);
    admi_list(result);
    fflush(stdout);
    fclose(p);
    freopen("CONOUT$", "w", stdout);
    dup2(oldstdout,STDOUT); 
}

void admi_delete(MYSQL *mysql)
{
    char query[100];char i[]="name";
    char name[20];
    char choice;
    system("cls");
    printf("请输入你要删除的账号的用户名:");
    scanf("%s",&name);
    if(!check_user(mysql,i,name)) {MessageBox(NULL,"该用户名不存在.","Tip",MB_OK);return;return;};
    mysql_query(mysql,"START TRANSACTION");
    sprintf(query,"delete from A where name='%s'",name);
    mysql_query(mysql,query);
    printf("\n键入y确定删除,键入n撤销删除.");
    printf("你有三秒考虑时间.");
    Sleep(3000);
    do
    {
        printf("输入选项('y'or'n'):");
        while (getchar() != '\n');
        choice=getchar();
    } while (choice!='y'&&choice!='n');
    if(choice=='y') {printf("成功删除.");mysql_query(mysql,"commit");}
    else delete_rollback(mysql);
}

void delete_rollback(MYSQL *mysql)
{
    mysql_query(mysql,"rollback");
    printf("成功撤销删除.");
    Sleep(500);
}

void modify_administrator_account(MYSQL *mysql)
{
    create_admi(mysql);
}

void admi_clear(MYSQL *mysql)
{
    int a = MessageBox(NULL, "请谨慎清除,无法恢复.", "Tip", MB_OKCANCEL | MB_ICONASTERISK);
    if (a == IDYES) {
        mysql_query(mysql, "truncate a");
    }
}

void admi_modify(MYSQL *mysql)
{
    char username[20];
    int status;char name[]="name";
    char query[100];
    system("cls");
    printf("请输入你想要修改的用户名:");
    scanf("%s",&username);
    if(!check_user(mysql,name,username)) printf("The user does not exist.");
    printf("请输入权限选项(0 代表可发言, 1 代表禁言)");
    scanf("%d",&status);
    sprintf(query,"UPDATE a SET status=%d WHERE name='%s'",status,username);
    mysql_query(mysql,query);
}

int check_user(MYSQL *mysql,char *m,char *find_key)
{
    char query[100];
    sprintf(query,"select * from A where %s = '%s'",m,find_key);
    mysql_query(mysql,query);
    MYSQL_RES *result=mysql_store_result(mysql);
    if (result!=NULL)
    {
        int num_rows = mysql_num_rows(result);
        mysql_free_result(result);
        return (num_rows > 0);
    }
    else return 0;
}

int secure(char *password)
{
    int length=strlen(password);
    int up=0,low=0,spe=0,dig=0;
    for(int i=0;i<length;i++)
    {
        if (password[i] >= 'A' && password[i] <= 'Z') {
            up=1;
        } else if (password[i] >= 'a' && password[i] <= 'z') {
            low=1;
        } else if (password[i] >= '0' && password[i] <= '9') {
            dig=1;
        } else {
            spe=1;
        }
    }
    if(up+low+spe+dig>=2&&length>=6) return 1;
    else 
    {
    MessageBox(NULL,"密码安全系数低!","Tip",MB_OK|MB_ICONEXCLAMATION);
    return 0;
    }
}

void enter(char *m)
{
    int i = 0;
    while (i < 20) {
        char c = getch();

        if (c == '\r') {
            break;
        } else if (c == '\b') {
            if (i > 0) {
                i--;
                printf("\b \b"); // 用退格符覆盖之前的输入
            }
        } else if (i < 19) {
            m[i++] = c;
            printf("*");
        }
    }
    m[i] = '\0';
}

void remove_spaces(char* str) 
{
    int count = 0;
    for (int i = 0; str[i]; i++) 
    {
        if (str[i] != ' ') str[count++] = str[i];
    }
    str[count] = '\0';
}

void admi(MYSQL *mysql)
{    
    admi_start();
    a_b();
    while(function2)
    {  
        admi_menu();
        switch_select(select(1,3),mysql);
    }
}

void game(user user,MYSQL *mysql)
{
    c_d();
    while(function4)
    {  
        board();
        switch_game(select(1,8),user,mysql);
    }
    
}
void board()
{
    system("cls");
    printf("\n		*************************** Menu ******************************\n");
    printf("\t\t*\t                                                       *\n");         
	printf("\t\t*\t      1.外星入侵                                       *\n");         
    printf("\t\t*\t      2.贪吃蛇                                         *\n");         
    printf("\t\t*\t      3.飞机大战                                       *\n");
    printf("\t\t*\t      4.三子棋                                         *\n");
    printf("\t\t*\t      5.三子棋(双人)                                   *\n");         
	printf("\t\t*\t      6.扫雷                                           *\n");
    printf("\t\t*\t      7.聊天室                                         *\n");
    printf("\t\t*\t      8.返回上一页面                                   *\n");         
    printf("\t\t*\t                                                       *\n");         
	printf("		***************************************************************\n");
	printf("\n");
}
void switch_game(int select,user user,MYSQL *mysql)
{
    switch (select)
    {
    case 1:enter_alien();break;
    case 2:enter_snake();break;
    case 4:enter_table();break;
    case 6:enter_sweep();break;
    case 3:enter_pg(user);break;
    case 7:engine_chat(mysql,user);break;
    case 8:d_c();
    case 5:enter_table();break;
    }
}
void enter_alien()
{
    char path[] = "bin\\dist\\alien_invasion.exe"; 
    system(path);
}
void enter_snake()
{
    char path[100];
    sprintf(path, "powershell -Command \"Start-Process 'bin\\Project4.exe' -Verb RunAs\"");
    system(path);
}
void enter_table()
{
    system("cls");
    char path[] = "bin\\main.exe"; 
    system(path);
}
void enter_sweep()
{
    system("cls");
    char path[] = "bin\\minesweeping.exe"; 
    int result = system(path);
}
void enter_pg(user user)
{
    char path[100];
    sprintf(path,"bin\\pg.exe %s",user.name);
    system(path);
}




void engine_chat(MYSQL *mysql,user user)
{
    chat temp;
    temp.status=user.status;
    strcpy(temp.name,user.name);
    MessageBox(NULL,"键入回车即可开始发送信息.","Tip",MB_OK);
    while(getchar()!='\n');
    int status=1;int i=0;
    system("cls");
    while(status)
    {
        show_chatting(mysql,&i);
        printf("\x1b[1A\x1b[2K");
        printf("输入信息(输入q退出):\n");
        fgets(temp.message,sizeof(temp.message),stdin);
        if (strcmp(temp.message, "q\n") == 0) break;
        upload_message(mysql, temp,&i);

    }
}
void show_chatting(MYSQL *mysql,int *i)
{
    chat chat;
    user user;    
    char user_input[100];
    mysql_query(mysql,"select * from chatting");
        MYSQL_RES *result=mysql_store_result(mysql);
        MYSQL_ROW row;

        while(row=mysql_fetch_row(result))
        {
        strcpy(chat.time, row[0]);
        strcpy(chat.name, row[1]);
        strcpy(chat.message, row[2]);
        (*i)++;
        printf("\n\t\t\t\t\t\t%-10s\n%-10s:%s",chat.time,chat.name,chat.message);
        }
    while (1) 
    {
        if (get_user_input(user_input, sizeof(user_input))) {
            if (strcmp(user_input, "\n") == 0 || strcmp(user_input, "Q\n") == 0) {
                break;  
            }
        }
        char query[100];
        sprintf(query,"select * from chatting LIMIT 999999 OFFSET %d",*i);
        mysql_query(mysql,query);
        MYSQL_RES *result=mysql_store_result(mysql);
        MYSQL_ROW row;
        while(row=mysql_fetch_row(result))
        {
        strcpy(chat.time, row[0]);
        strcpy(chat.name, row[1]);
        strcpy(chat.message, row[2]);
        (*i)++;
        printf("\n\t\t\t\t\t\t%-10s\n%-10s:%s",chat.time,chat.name,chat.message);



    char path[] = "5.mp3";
    system(path);
    Sleep(1000);
    // 获取当前活动窗口句柄
    HWND hwnd = GetForegroundWindow();

    // 最小化窗口
    ShowWindow(hwnd, SW_MINIMIZE);

        
        }
        Sleep(1000);
    }
}

void upload_message(MYSQL *mysql,chat chat,int *i)
{
    char query[100];
    if(chat.message[0]=='\n') return;
    time_t current_time;
    time(&current_time);
    if(chat.status!=1)
    {
    strcpy(chat.time, ctime(&current_time));
    sprintf(query,"INSERT INTO chatting (time, name , message) VALUES ('%s', '%s', '%s')",chat.time,chat.name,chat.message);
    mysql_query(mysql,query);
    char query1[100];
        sprintf(query1,"select * from chatting LIMIT 999999 OFFSET %d",*i);
        mysql_query(mysql,query1);
        MYSQL_RES *result=mysql_store_result(mysql);
        MYSQL_ROW row;
        while(row=mysql_fetch_row(result))
        {
        strcpy(chat.time, row[0]);
        strcpy(chat.name, row[1]);
        strcpy(chat.message, row[2]);
        (*i)++;
        printf("\n\t\t\t\t\t\t%-10s\n%-10s:%s",chat.time,chat.name,chat.message);
        }
    }
    if(chat.status==1)
    {
    MessageBox(NULL,"您已被禁言.","Tip",MB_OK);
    }
}
int main()
{
MYSQL *mysql=log_in_mysql();
user_start();    
while(!check_admi(mysql)) create_admi(mysql);
while(function1)
{
    user_menu();
    user_switch_select(select(1,6),mysql);
}
exit_mysql(mysql);

}

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值