Linux 实习日记:C 语言编写飞鸽传书 - 实现用户上下线和键盘命令
日期:2021年10月15日\n实习日记:Linux实习日记\n编写内容:C语言编写飞鸽传书,实现用户上下线和键盘命令\n\n今天的任务是在飞鸽传书项目中实现用户的上下线功能和键盘命令功能。首先,我需要定义一个结构体来表示用户的信息,包括用户名、IP地址和状态(在线或离线)等。\n\nc\ntypedef struct {\n char username[20];\n char ip[20];\n int status; // 0表示离线,1表示在线\n} User;\n\n\n接下来,我需要创建一个用户数组来存储所有的用户信息,并初始化为离线状态。\n\nc\nUser users[100];\nint userCount = 0;\n\n// 初始化用户数组\nvoid initUsers() {\n for (int i = 0; i < 100; i++) {\n users[i].status = 0;\n }\n}\n\n\n在用户上线时,我将从键盘输入用户名和IP地址,并将用户状态设置为在线。\n\nc\nvoid login() {\n char username[20];\n char ip[20];\n\n printf("请输入用户名:");\n scanf("%s", username);\n printf("请输入IP地址:");\n scanf("%s", ip);\n\n // 将用户信息添加到数组中\n strcpy(users[userCount].username, username);\n strcpy(users[userCount].ip, ip);\n users[userCount].status = 1;\n\n userCount++;\n\n printf("登录成功!\n");\n}\n\n\n在用户下线时,我将从键盘输入用户名,并将用户状态设置为离线。\n\nc\nvoid logout() {\n char username[20];\n\n printf("请输入用户名:");\n scanf("%s", username);\n\n // 查找用户并设置状态为离线\n for (int i = 0; i < userCount; i++) {\n if (strcmp(users[i].username, username) == 0) {\n users[i].status = 0;\n printf("下线成功!\n");\n return;\n }\n }\n\n printf("用户不存在!\n");\n}\n\n\n最后,我需要实现键盘命令功能,即根据用户输入的命令执行相应的操作。\n\nc\nvoid handleCommand(char command) {\n switch (command) {\n case 'l':\n login();\n break;\n case 'o':\n logout();\n break;\n default:\n printf("无效的命令!\n");\n }\n}\n\n\n以上就是今天的工作内容,我成功地实现了用户的上下线功能和键盘命令功能。接下来,我将继续完善飞鸽传书项目,实现更多的功能。
原文地址: https://www.cveoy.top/t/topic/p98a 著作权归作者所有。请勿转载和采集!